Table des matières:

Envoyer un SMS à l'aide d'un ESP8266 : 5 étapes
Envoyer un SMS à l'aide d'un ESP8266 : 5 étapes

Vidéo: Envoyer un SMS à l'aide d'un ESP8266 : 5 étapes

Vidéo: Envoyer un SMS à l'aide d'un ESP8266 : 5 étapes
Vidéo: C-02 NODEMCU (ESP8266) en Français: Envoyer un SMS 2024, Novembre
Anonim
Envoyer un SMS avec un ESP8266
Envoyer un SMS avec un ESP8266

Cette instructable vous guide à travers les étapes pour envoyer des messages SMS sur Internet à partir d'une carte de module ESP8266 NodeMCU, vers un téléphone mobile. Pour pouvoir envoyer le message, vous devrez suivre les étapes pour obtenir un numéro de téléphone virtuel auprès de Twilio, une société de communication. Aucune carte de crédit nécessaire car Twilio propose une option de compte d'essai gratuit. Ensuite, vous téléchargerez et utiliserez un exemple de programme Arduino IDE pour envoyer des messages SMS.

L'exemple de programme dans cette instructable a des appels de fonction qui sont simples à copier, coller, modifier et utiliser dans vos propres projets.

Fournitures

J'utilise une carte de développement Internet WIFI sans fil NodeMCU ESP8266 CH340G ESP-12E. Ils vendent environ 3 $ sur eBay auprès de fournisseurs chinois.

Étape 1: Testez votre ESP8266 NodeMCU

Vous pouvez tester avec ou sans maquette. Sans la planche à pain, le voyant intégré clignotera, ce qui est efficace pour le test.

Dans mon exemple, je branche le NodeMCU dans la Breadboard. Je branche le côté négatif d'une LED dans la broche de masse (G ou GND) du NodeMCU. Le côté positif de la LED est connecté via une résistance (500 à 5K ohm) à la broche NodeMCU D4. Lorsque l'exemple de programme est exécuté, la LED embarquée s'allume, la LED externe s'éteint, puis la LED embarquée s'éteint, la LED externe s'allume. Les lumières LED s'allumeront et s'éteindront alternativement.

Téléchargez et exécutez le programme de test Arduino de base: nodeMcuTest.ino. Pendant l'exécution du programme, le voyant LED intégré s'allumera pendant 1 seconde, s'éteindra pendant 1 seconde et cyclera en continu. En outre, des messages sont publiés et peuvent être consultés dans les outils Arduino IDE/Serial Monitor.

+++ Configuration.

+ Initialisation de la broche numérique LED intégrée pour la sortie. La LED est éteinte. ++ Aller à la boucle. + Compteur de boucles = 1 + Compteur de boucles = 2 + Compteur de boucles = 3 …

Une fois que vous avez confirmé que votre IDE peut être utilisé pour programmer votre NodeMCU, passez à l'étape suivante.

Remarque concernant les bibliothèques, j'ai installé les projets suivants pour ESP8266:

  • Bibliothèque Arduino WiFi version 1.2.7.
  • PubSubClient version 2.7.0, par Nick O'Leary, pour la messagerie MQTT. Non requis pour ce projet.
  • IRremoteESP8266 version 2.6.3, pour infrarouge. Non requis pour ce projet.

Si vous avez plus d'informations sur les bibliothèques requises, veuillez faire un commentaire. La raison pour laquelle je n'ai pas de détails est que je n'ai pas enregistré ce que j'ai installé, désolé.

À propos de l'ESP8266 NodeMCU

Caractéristiques,

  • Vitesse d'horloge de 80 MHz
  • Tension de fonctionnement: 3,3 V
  • Mémoire flash de stockage: 4 Mo, SRAM: 64 Ko
  • 9 broches GPIO numériques à usage courant étiquetées: D0 à D8.
  • Sur les 9, 4 broches peuvent être utilisées pour SPI et 2 broches pour I2C.
  • Interrompre les broches GPIO D0-D8.
  • N'utilisez pas les 6 broches: CLK, SD0, CMD, SD1, SD2, SD3 (GPIO 6-11), car elles sont en cours d'utilisation.
  • Testé: entrée bouton utilisant D0-D02.
  • Testé: LED clignotante à l'aide de D0-D08. Sortie vers une résistance, vers une LED, vers la terre.
  • Besoin de tester, UART1 (TX = GPIO2), objet Serial1: D4 ou D7 et D8.

Détails de l'épingle

NodeMCU Étiquette GPIO pin# D0 16 GPIO lecture/écriture, uniquement. Peut ne pas avoir de fonction d'interruption. D1 5 GPIO numérique. -------------------- D2 4 GPIO numérique. D3 0 GPIO numérique. ---------- D2 4 I2C:SCL, horloge DS3231, modules d'entrée PCF8574 D3 0 I2C:SDA ---------- D4(TX) 2 LED intégrée intégrée. ---------- Sortie 3V 3v G Masse -------------------- D5 14 GPIO numérique. D6 12 GPIO numérique. D7(RX) 13 Fonctionne pour l'entrée, par exemple, la réception infrarouge. D8(TX) 15 Ne fonctionne pas pour l'entrée, par exemple la réception infrarouge. ---------- D5 14 Carte SD: SPI SCK D6 12 Carte SD: SPI MISO D7(RX) 13 Carte SD: SPI MOSI D8 15 Carte SD: CS pour SPI activer/désactiver un appareil. Peut utiliser d'autres broches numériques. -------------------- RX 03 Téléchargement du système depuis l'IDE, ce qui provoque un redémarrage après le téléchargement. TX 01 Téléchargement du système. G Masse 3V 3v sortie

Étape 2: Ouvrez un compte d'essai gratuit Twilio et obtenez votre propre numéro de téléphone

Image
Image

Twilio est une société de plateforme de communication Internet. Les produits utilisés dans cette instructable sont la messagerie programmable Twilio et les numéros de téléphone. Twilio dispose d'un inventaire de numéros de téléphone virtuels qui peuvent être utilisés pour envoyer et recevoir des messages SMS vers n'importe quel téléphone mobile.

Dans cette étape, vous allez:

  • Ouvrez un compte Twilio, si vous n'en avez pas déjà un. Un compte d'essai est gratuit et ne nécessite pas de carte de crédit. Votre compte d'essai aura un solde d'essai qui est utilisé pour payer les numéros de téléphone et échanger des SMS avec des téléphones portables.
  • Achetez un numéro de téléphone Twilio. C'est gratuit car il est payé en utilisant votre solde d'essai.
  • Envoyez un message depuis votre téléphone mobile à votre nouveau numéro de téléphone.
  • Une fois que Twilio reçoit votre message, un message de réponse automatique est envoyé sur votre téléphone mobile.
  • Utilisez l'application du site Web de la console Twilio pour afficher vos journaux de messages.

La première vidéo ci-dessus montre comment ouvrir un compte Twilio. La deuxième vidéo montre comment acheter un numéro de téléphone Twilio.

Lien vers le site Web de la console Twilio pour ouvrir un compte.

Lien vers le site Web de la console Twilio pour acheter un numéro de téléphone Twilio.

Votre nouveau numéro de téléphone compatible Twilio SMS dispose d'une réponse automatique déjà configurée. Pour tester, envoyez un SMS depuis votre mobile vers votre numéro de téléphone Twilio. Vous recevrez le message suivant:

Merci pour votre message. Configurez l'URL SMS de votre numéro pour modifier ce message. Répondez Aide pour obtenir de l'aide. Répondre Arrêtez pour vous désinscrire.

Utilisez maintenant la console Twilio pour afficher vos journaux de messages du test ci-dessus:

www.twilio.com/console/sms/logs

En savoir plus sur l'utilisation de Twilio

Vous pouvez créer votre propre réponse automatique personnalisée. Lien vers un tutoriel Studio, comment créer un message de réponse SMS personnalisé. Studio est notre outil de glisser-déposer de la console Twilio.

Vous pouvez utiliser la console Twilio pour afficher vos messages de journal et télécharger les journaux au format CVS et les charger dans une feuille de calcul. Vous pouvez sélectionner une plage de dates et d'heures, vers et depuis des numéros de téléphone, et un état tel que: Non remis ou Envoyé. Vous avez également la possibilité de télécharger les journaux sous forme de fichiers CVS. Comme il a une limite de 300 journaux à la fois, vous pouvez limiter la sélection par date.

Liens de développeur

Lien vers la documentation et des exemples de programmes pour envoyer des messages.

Lien vers des exemples de programme pour répertorier les journaux de messages.

Lien vers les propriétés du message du programme. La liste des propriétés envoyées dans la requête

Lien pour lister les journaux SMS pour une période de temps.

Étape 3: envoyer un SMS depuis votre NodeMCU

Envoyer un SMS depuis votre NodeMCU
Envoyer un SMS depuis votre NodeMCU

Téléchargez le programme: HttpTwPost.ino et chargez-le dans votre IDE Arduino. Dans le programme, entrez votre identifiant de réseau WiFi et votre mot de passe. Saisissez votre propre SID de compte Twilio, votre jeton d'authentification et votre numéro de téléphone. Le SID et le jeton d'authentification du compte Twilio sont visibles depuis le tableau de bord de la console Twilio. Cliquez sur Auth Token « afficher » pour afficher le jeton d'authentification.

// Votre réseau SSID et passwordconst char* ssid = "YourNetworkId"; const char* password = "YourNetworkPassword"; const char* account_sid = "YourTwilioAccountSID"; const char* auth_token = "YourAuthToken"; Chaîne de_numéro = "+16505551111"; // Une fois l'encodage ajouté, ajoutez "+". Chaîne to_number = "+16505552222"; String message_body = "Bonjour du NodeMCU.";

Remarque Twilio, lorsque vous utilisez des numéros de téléphone avec Twilio, il est préférable de formater les numéros en tant que numéros de téléphone au format E.164. Les numéros de téléphone au format E.164 commencent par "+" et le code du pays. Le numéro de téléphone n'a pas d'espaces, de traits d'union ou de crochets. Exemple: +16505551111.

Exécutez le programme. Lorsque le programme démarre, il enverra un SMS à votre numéro de téléphone portable. En outre, des messages sont publiés et peuvent être consultés dans les outils Arduino IDE/Serial Monitor. Les messages du moniteur incluent la réponse de Twilio.

+++ Configuration.+ Connectez-vous au WiFi. …. + Connecté au WiFi, adresse IP: 192.168.1.76 + Utilisation de l'empreinte digitale 'BC B0 1A 32 80 5D E6 E4 A2 29 66 2B 08 C8 E0 4C 45 29 3F D0' + Connexion à api.twilio.com + Connecté. + Publiez une requête SMS d'envoi HTTP. + La connexion est fermée. + Réponse: HTTP/1.1 201 Date de création: jeu. 16 juil. 2020 20:39:49 GMT Type de contenu: application/xml Longueur de contenu: 878 Connexion: fermer Twilio-Concurrent-Requests: 1 Twilio-Request-Id: RQe4fbdd142fca4b2fab24697e74006837 Twilio-Request-Duration: 0.116 Access-Control-Allow-Origin: * Access-Control-Allow-Headers: Accept, Authorization, Content-Type, If-Match, If-Modified-Since, If-None-Match, If- Méthodes de contrôle d'accès non modifiées depuis: GET, POST, DELETE, OPTIONS Access-Control-Expose-Headers: ETag Access-Control-Allow-Credentials: true X-Powered-By: AT-5000 X-Shenanigans: aucun X-Home-Region: us1 X-API-Domain: api.twilio.com Strict-Transport-Security: max-age=31536000 … + Démarrage de la boucle.

Vous pouvez afficher les journaux de messages Twilio pour afficher votre message envoyé.

Étape 4: Bouton pour envoyer un SMS

Image
Image

La vidéo ci-dessus montre un ESP8266 NodeMCU utilisé pour envoyer des messages à un téléphone mobile. Dans la vidéo, le NodeMCU est déjà démarré et connecté au réseau WiFi. Lorsque le bouton est enfoncé, le voyant LED intégré s'allume. La demande de message SMS est envoyée au service Twilio Messaging. Le service envoie un SMS sur mon téléphone portable. Le message est reçu. Le service répond également au NodeMCU que le message a été mis en file d'attente pour être envoyé. À ce moment-là, le message avait déjà été reçu au téléphone. Une fois que le NodeMCU a reçu la réponse de Twilio, le voyant embarqué s'éteint. Le circuit est prêt à envoyer un autre message.

Voici comment implémenter le circuit dans la vidéo. Cette étape nécessite une maquette, un bouton et des fils. Ajouter un bouton sur la planche à pain. Un côté du bouton se connecte à la broche NodeMCU D1. Câblez l'autre côté du bouton à la broche de masse NodeMCU (broche G sur ma carte).

Téléchargez le programme: HttpTwSendSms.ino et chargez-le dans votre IDE Arduino. Comme à l'étape précédente, entrez dans le programme votre identifiant de réseau WiFi et votre mot de passe. Saisissez votre propre SID de compte Twilio, votre jeton d'authentification et votre numéro de téléphone.

Lorsque le programme est exécuté, le NodeMCU se connecte au réseau WiFi. Lorsque le bouton est enfoncé, un message est envoyé au numéro de téléphone mobile.

Étape 5: SMS à partir d'un NodeMCU est un excellent outil IoT

Vous pouvez maintenant utiliser un exemple de code et votre compte Twilio pour envoyer des messages SMS via WiFi.

À votre santé, Stacy David

Conseillé: