Sommario:
- Passaggio 1: parti
- Passaggio 2: provider SMS
- Passaggio 3: cablarlo
- Passaggio 4: il codice
- Passaggio 5: lampeggia il codice
- Passaggio 6: premere il pulsante
Video: Come inviare messaggi di testo SMS dal tuo progetto Arduino ESP: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Questa istruzione dimostra come inviare messaggi di testo SMS dal tuo progetto arduino utilizzando un dispositivo ESP8266 e una connessione WiFi. Perché usare gli SMS?* I messaggi SMS sono molto più veloci e affidabili dei messaggi di notifica delle app. * I messaggi SMS possono essere ricevuti anche dove le connessioni dati mobili non sono disponibili * Non è necessario installare un'applicazione di terze parti su uno smartphone.* Gli SMS sono essenziali per le applicazioni di messaggistica critica. Questo progetto invia semplicemente un messaggio di testo SMS premendo un pulsante collegato al dispositivo ESP. Per il tuo progetto questo potrebbe essere attivato su qualche altro stato di trigger o evento
Passaggio 1: parti
Per questa demo, avrai bisogno di:* dispositivo ESP8266. Ho scelto il pacchetto ESP-01, ma dovrebbe funzionare anche qualsiasi altro pacchetto/dispositivo ESP.* Alimentazione 3.3v* Connessione WiFi* Account SMS Kapow* Arduino IDE* Modulo di programmazione ESP8266.
Passaggio 2: provider SMS
In questo progetto, i messaggi di testo SMS vengono inviati tramite un gateway SMS su Internet. Per questo dovrai abbonarti a un provider di SMS. Gli abbonati pagano normalmente in base al messaggio di testo. Il mio fornitore di servizi SMS scelto è KAPOW. Ho scoperto che la maggior parte dei provider di SMS nel Regno Unito si occuperà solo di società a responsabilità limitata e non di individui. Tuttavia, KAPOW lo fa e fornisce un servizio affidabile ed economico. Per aprire un account SMS Kapow, visita il link sottostante.
www.kapow.co.uk
Passaggio 3: cablarlo
Lo schema elettrico per questo progetto è sopra
Passaggio 4: il codice
// Progetto demo ESP8266 per inviare SMS tramite 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; /* <<<< MODIFICA I DETTAGLI SOTTO */ // I tuoi dettagli WiFi: char _sWiFi_SSID ="YourWifiPoint"; // <--- CAMBIA !!! char _sWiFi_Password ="YourWifFiPassword"; // <--- CAMBIA !!! // Dettagli del tuo account utente Kapow: char _sKapow_User ="YourKapowAccount"; // <--- CAMBIA !!! char _sKapow_Password ="YourKapowPassword"; // <--- CAMBIA !!! char _sKapow_Mobile ="Il tuo cellulare"; // >>> CAMBIA I DETTAGLI SOPRA */ // il pulsante è connesso al Pin GP0 const int gp0_Pin = 0; const int iMaxAttempts = 10; int gp0_State = 0; void setup() { Serial.begin(9600); Serial.println("\nDemo: invia SMS tramite KAPOW"); // inizializza il pin del pulsante come input // e alzalo in alto (internamente) pinMode(gp0_Pin, INPUT_PULLUP); // stabilisce la connessione Wifi WifiConnect(); } void loop() { // legge lo stato del pulsante gp0_State = digitalRead(gp0_Pin); // il pulsante è premuto a livello basso? if (gp0_State==0) { Serial.println("Pulsante premuto per inviare SMS…"); SendSmsKapow(_sKapow_Mobile, "Questo+è+un+Test+SMS+messaggio+inviato+dal+tuo+dispositivo+ESP"); } Serial.println("Sleeping per 1 secondo"); ritardo(1000); } void WifiConnect() { Serial.print("\nConnessione al WiFi: "); Serial.println(_sWiFi_SSID); WiFi.begin(_sWiFi_SSID, _sWiFi_Password); while (WiFi.status() != WL_CONNECTED) { // riprova dopo un secondo Serial.print("."); ritardo(1000); } if (WiFi.status() == WL_CONNECTED) Serial.println("Connesso al WiFi"); } bool SendSmsKapow(char* sMobile, char* sMessage) { WiFiClient clientSms; int iTentativi=0; Serial.print("Connessione all'host KAPOW"); while (!clientSms.connect(_sKapow_Host, _iKapow_Port)) { Serial.print("."); iTentativi++; if (iAttempts > iMaxAttempts) { Serial.println("\nImpossibile connettersi a KAPOW"); restituire vero; } ritardo(1000); } Serial.println("\nConnesso a KAPOW"); ritardo(1000); Serial.println("Invio richiesta HTTP a KAPOW:"); //Un esempio di richiesta GET sarebbe: //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("In attesa di risposta (10 sec)…"); ritardo (10 * 1000); char sReply[100] = ""; int iPos = 0; while (clientSms.available()) { char c = clientSms.read(); Serial.print(c); sReply[iPos] = c; iPos++; if (iPos == 99) break; } sReply[iPos] = '\0'; // controlla se la risposta contiene OK bool bResult = (strstr(sReply, "OK") != NULL); if (bRisultato) Serial.println("\nSMS: inviato con successo"); else Serial.println("\nSMS: impossibile inviare"); if (!clientSms.connected()) { Serial.println("Disconnessione da KAPOW"); clientSms.stop(); } restituisce bResult; }
Passaggio 5: lampeggia il codice
Ci sono molte altre istruzioni dettagliate che mostrano come programmare il flash di un dispositivo ESP8266. Quindi darò solo una panoramica della mia configurazione. In poche parole, uso un'interfaccia FTDI da USB a seriale e tiro GP0 basso al ripristino per avviare il processo di flashing del bootloader. Ho creato il mio dispositivo di programmazione stripboard per comodità. Ha * una presa per un dispositivo ESP-01* una presa per l'interfaccia FTDI rossa da collegare all'host del PC tramite USB.* Pulsanti per RESET, GP0, GP2 A TERRA È possibile eseguire il flashing del dispositivo ESP utilizzando il 3.3v fornito dall'FTDI interfaccia. Assicurati che anche le impostazioni del ponticello FTDI siano impostate su 3.3v.
Passaggio 6: premere il pulsante
È possibile testare il progetto sia collegato a FTDI per l'uscita di registrazione seriale, sia autonomo (su breadboard con alimentazione esterna). Si consiglia di utilizzare un'alimentazione esterna da 3,3 V, poiché la corrente di alimentazione FTDI è scarsa. Tuttavia, l'alimentazione FTDI 3.3v ha funzionato anche per me, poiché il mio router wifi era a portata di mano. Lasciare l'ESP collegato alla porta seriale/usb in modo da poter monitorare il registro di debug seriale in esecuzione utilizzando il monitor seriale dell'IDE Arduino. All'accensione…Premere il pulsante collegato a GP0. Questo invierà il messaggio SMS come di seguito. Controlla il tuo telefono per il messaggio di testo SMS ricevuto. Lavoro fatto.
Consigliato:
Rilevatore di perdite con notifica di messaggi di testo: 7 passaggi
Rilevatore di perdite con notifica di messaggi di testo: questa guida mostra come costruire un rilevatore di perdite che invia notifiche di messaggi di testo. Invia avvisi se viene rilevata l'acqua da un tubo scoppiato o dallo scarico di backup. La guida è destinata a chiunque sia interessato a Python 3, Raspberry Pi, Secure Shell
Save My Child: il seggiolino intelligente che invia messaggi di testo se dimentichi il bambino in macchina: 8 passaggi
Save My Child: il seggiolino intelligente che invia messaggi di testo se dimentichi il bambino in auto: si installa nelle auto e grazie a un rilevatore posto sul seggiolino ci avvisa – tramite SMS o telefonata – se arriviamo via senza portare il bambino con noi
Come utilizzare SIM800L per inviare SMS e relè di controllo tramite SMS: 3 passaggi
Come utilizzare SIM800L per inviare SMS e relè di controllo tramite SMS: Descrizione: questo tutorial mostra come utilizzare SIM800L per inviare sms e ricevere sms per controllare il relè. Il modulo SIM800L è di piccole dimensioni e può essere utilizzato per interfacciarsi con Arduino per inviare sms, ricevere sms, chiamare, ricevere chiamate e altro. In questo tutorial
Calcolatrice di messaggi di testo: 6 passaggi
Calcolatrice di messaggi di testo: ora un prodotto! http://www.rubydevices.com.au/productSelect/RubyCalculatorCompletare un master in ingegneria elettrica ha richiesto un po' di duro lavoro. È stata una lunga strada di cinque anni che mi è piaciuta molto. Alla fine del 2015 mi sono laureata
Micro:Bit Puppet "Messaggi di testo"!: 5 passaggi (con immagini)
Micro:Bit Puppet "Messaggi di testo"!: Quasi tutta la nostra comunicazione wireless avviene tramite onde radio*, incluse telefonate, messaggi di testo e WiFi. Con i suoi trasmettitori e ricevitori radio integrati, il microcontrollore Micro:Bit semplifica la realizzazione di tutti i tipi di progetti