Table des matières:

Comment envoyer des SMS depuis votre projet Arduino ESP : 6 étapes
Comment envoyer des SMS depuis votre projet Arduino ESP : 6 étapes

Vidéo: Comment envoyer des SMS depuis votre projet Arduino ESP : 6 étapes

Vidéo: Comment envoyer des SMS depuis votre projet Arduino ESP : 6 étapes
Vidéo: Envoyer un message de la carte Arduino vers le smartphone 2024, Novembre
Anonim
Comment envoyer des messages texte SMS à partir de votre projet Arduino ESP
Comment envoyer des messages texte SMS à partir de votre projet Arduino ESP

Cette instructable montre comment envoyer des messages texte SMS à partir de votre projet arduino à l'aide d'un appareil ESP8266 et d'une connexion WiFi. Pourquoi utiliser des SMS ? * Les messages SMS sont beaucoup plus rapides et fiables que les messages de notification d'application. * Les messages SMS peuvent également être reçus là où les connexions de données mobiles ne sont pas disponibles * Aucune application tierce n'a besoin d'être installée sur un smartphone.* Les SMS sont essentiels pour les applications critiques. Ce projet envoie simplement un message texte SMS en appuyant sur un bouton câblé à l'appareil ESP. Pour votre projet, cela pourrait être déclenché par un autre état de déclenchement ou d'événement

Étape 1: Pièces

les pièces
les pièces
les pièces
les pièces

Pour cette démo, vous aurez besoin de:* Appareil ESP8266. J'ai choisi le package ESP-01, mais tout autre package/appareil ESP devrait également fonctionner. * Alimentation 3.3v * Connexion WiFi * Compte SMS Kapow * Arduino IDE * Module de programmation ESP8266.

Étape 2: Fournisseur SMS

Dans ce projet, les messages texte SMS sont envoyés via une passerelle SMS sur Internet. Pour cela, vous devrez vous abonner à un fournisseur de SMS. Les abonnés sont normalement facturés par SMS. Le fournisseur de services SMS que j'ai choisi est KAPOW. J'ai découvert que la plupart des fournisseurs de SMS au Royaume-Uni ne traitent qu'avec des sociétés à responsabilité limitée, et non avec des particuliers. Cependant, KAPOW le fait et fournit un service fiable et rentable. Pour ouvrir un compte SMS Kapow, visitez le lien ci-dessous.

www.kapow.co.uk

Étape 3: Câblage

Câblage
Câblage

Le schéma de câblage pour ce projet est ci-dessus

Étape 4: le code

// Projet de démonstration ESP8266 pour envoyer des SMS via KAPOW (www.kapow.co.uk)

// https://www.instructables.com/id/How-to-Send-SMS-… #include #include char _sKapow_Host ="kapow.co.uk"; int _iKapow_Port =80; /* <<<< MODIFIEZ LES DÉTAILS CI-DESSOUS */ // Vos détails WiFi: char _sWiFi_SSID ="YourWifiPoint"; // <--- CHANGER !!! char _sWiFi_Password ="VotreWifFiPassword"; // <--- CHANGER !!! // Les détails de votre compte utilisateur Kapow: char _sKapow_User ="YourKapowAccount"; // <--- CHANGER !!! char _sKapow_Password ="VotreKapowPassword"; // <--- CHANGER !!! char _sKapow_Mobile ="VotreMobile"; // >>> MODIFIER LES DÉTAILS CI-DESSUS */ // le bouton est connecté au GP0 Pin const int gp0_Pin = 0; const int iMaxAttempts = 10; int gp0_State = 0; void setup() { Serial.begin(9600); Serial.println("\nDémo: envoyer un SMS via KAPOW"); // initialiser la broche du bouton-poussoir en tant qu'entrée // et la tirer vers le haut (en interne) pinMode(gp0_Pin, INPUT_PULLUP); // établir la connexion Wifi WifiConnect(); } void loop() { // lit l'état du bouton poussoir gp0_State = digitalRead(gp0_Pin); // le bouton poussoir est-il enfoncé ? if (gp0_State==0) { Serial.println("Bouton enfoncé pour envoyer un SMS…"); SendSmsKapow(_sKapow_Mobile, "Ceci+est+un+Test+SMS+Message+envoyé+de+votre+ESP+appareil"); } Serial.println("Dormir pendant 1 seconde"); retard(1000); } void WifiConnect() { Serial.print("\nConnexion au WiFi: "); Serial.println(_sWiFi_SSID); WiFi.begin(_sWiFi_SSID, _sWiFi_Password); while (WiFi.status() != WL_CONNECTED) { // réessaye après un deuxième Serial.print("."); retard(1000); } if (WiFi.status() == WL_CONNECTED) Serial.println("Connecté au WiFi"); } bool SendSmsKapow(char* sMobile, char* sMessage) { WiFiClient clientSms; int iTentatives=0; Serial.print("Connexion à l'hôte KAPOW"); while (!clientSms.connect(_sKapow_Host, _iKapow_Port)) { Serial.print("."); iTentatives++; if (iAttempts > iMaxAttempts) { Serial.println("\nÉchec de la connexion à KAPOW"); renvoie vrai; } retard(1000); } Serial.println("\nConnecté à KAPOW"); retard(1000); Serial.println("Envoi de la requête HTTP à KAPOW:"); //Un exemple de requête GET serait: //https://www.kapow.co.uk/scripts/sendsms.php?username=test&password=test&mobile=07777123456&sms=Test+message char sHttp[500]= ""; strcat(sHttp, "GET /scripts/sendsms.php?username="); strcat(sHttp, _sKapow_User); strcat(sHttp, "&password="); strcat(sHttp, _sKapow_Password); strcat(sHttp, "&mobile="); strcat(sHttp, sMobile); strcat(sHttp, "&sms="); strcat(sHttp, sMessage); strcat(sHttp, "&returnid=TRUE\n\n"); Serial.println(sHttp); clientSms.print(sHttp); Serial.println("En attente de réponse (10 secondes)…"); retard (10 * 1000); char sRépondre[100] = ""; int iPos = 0; while (clientSms.available()) { char c = clientSms.read(); Serial.print(c); sRépondre[iPos] = c; iPos++; si (iPos == 99) pause; } sRépondre[iPos] = '\0'; // vérifie si la réponse contient OK bool bResult = (strstr(sReply, "OK") != NULL); if (bResult) Serial.println("\nSMS: Envoyé avec succès"); else Serial.println("\nSMS: échec de l'envoi"); if (!clientSms.connected()) { Serial.println("Déconnexion de KAPOW"); clientSms.stop(); } renvoie bRésultat; }

Étape 5: Flashez le code

Flasher le code
Flasher le code
Flasher le code
Flasher le code

Il existe de nombreuses autres instructions détaillées montrant comment programmer un flash ESP8266. Je vais donc juste donner un aperçu de ma configuration. En un mot, j'utilise une interface USB vers série FTDI et tire GP0 bas lors de la réinitialisation pour démarrer le processus de clignotement du chargeur de démarrage. J'ai construit mon propre périphérique de programmation de stripboard pour plus de commodité. Il a * une prise pour un appareil ESP-01 * une prise pour l'interface FTDI rouge à brancher sur l'hôte PC via USB. * Boutons pour RESET, GP0, GP2 TO GROUND Vous pouvez flasher l'appareil ESP en utilisant le 3.3v fourni par le FTDI interface. Assurez-vous que les paramètres du cavalier FTDI sont également définis sur 3,3 v.

Étape 6: Appuyez sur le bouton

Appuie sur le bouton !
Appuie sur le bouton !
Appuie sur le bouton !
Appuie sur le bouton !
Appuie sur le bouton !
Appuie sur le bouton !
Appuie sur le bouton !
Appuie sur le bouton !

Vous pouvez tester le projet soit connecté à FTDI pour une sortie de journalisation série, soit autonome (sur une maquette avec alimentation externe). Cependant, l'alimentation FTDI 3.3v a également fonctionné pour moi, car mon routeur wifi était à portée de main. Laissez l'ESP connecté au port série/usb afin que vous puissiez surveiller le journal de débogage série en cours à l'aide du moniteur série de l'IDE Arduino. À la mise sous tension… Appuyez sur le bouton connecté au GP0. Cela enverra le message SMS comme ci-dessous. Vérifiez votre téléphone pour le message texte SMS reçu. Travail terminé.

Conseillé: