Sommario:

Invia un SMS utilizzando un ESP8266: 5 passaggi
Invia un SMS utilizzando un ESP8266: 5 passaggi

Video: Invia un SMS utilizzando un ESP8266: 5 passaggi

Video: Invia un SMS utilizzando un ESP8266: 5 passaggi
Video: WebServer con ESP8266 (ESP01) e Arduino - #212 2024, Dicembre
Anonim
Invia un SMS utilizzando un ESP8266
Invia un SMS utilizzando un ESP8266

Questa istruzione ti guida attraverso i passaggi per inviare messaggi SMS su Internet da una scheda del modulo NodeMCU ESP8266 a un telefono cellulare. Per poter inviare il messaggio dovrai seguire i passaggi per ottenere un numero di telefono virtuale da Twilio, una società di comunicazioni. Nessuna carta di credito necessaria perché Twilio ha un'opzione di account di prova gratuita. Quindi, scaricherai e utilizzerai un programma IDE Arduino di esempio per inviare messaggi SMS.

Il programma di esempio in questa istruzione ha chiamate di funzione che sono semplici da copiare, incollare, modificare e utilizzare nei propri progetti.

Forniture

Sto usando una scheda di sviluppo Internet Wi-Fi wireless NodeMCU ESP8266 CH340G ESP-12E. Vendono per circa $ 3 su eBay da fornitori cinesi.

Passaggio 1: prova il tuo NodeMCU ESP8266

Puoi testare con o senza breadboard. Senza la breadboard, la luce di bordo lampeggerà e si spegnerà, il che è efficace per il test.

Nel mio esempio, collego il NodeMCU al Breadboard. Collego il lato negativo di un LED nel pin di terra (G o GND) sul NodeMCU. Il lato positivo del LED è collegato tramite un resistore (da 500 a 5K ohm) al pin D4 del NodeMCU. Quando viene eseguito il programma di esempio, il LED di bordo si accenderà, il LED esterno si spegnerà, quindi il LED di bordo si spegnerà, il LED esterno si accenderà. Le luci a LED si accenderanno e si spegneranno.

Scarica ed esegui il programma di test Arduino di base: nodeMcuTest.ino. Durante l'esecuzione del programma, la luce LED integrata si accenderà per 1 secondo, si spegnerà per 1 secondo e si accenderà continuamente. Inoltre, vengono pubblicati messaggi che possono essere visualizzati in Arduino IDE Tools/Serial Monitor.

+++ Configurazione.

+ Inizializzato il pin digitale del LED di bordo per l'uscita. Il LED è spento. ++ Vai al ciclo. + Contatore loop = 1 + Contatore loop = 2 + Contatore loop = 3 …

Dopo aver confermato che il tuo IDE può essere utilizzato per programmare il tuo NodeMCU, vai al passaggio successivo.

Nota relativa alle librerie, ho installato le seguenti per i progetti ESP8266:

  • Libreria Arduino WiFi versione 1.2.7.
  • PubSubClient versione 2.7.0, di Nick O'Leary, per la messaggistica MQTT. Non richiesto per questo progetto.
  • IRremoteESP8266 versione 2.6.3, per infrarossi. Non richiesto per questo progetto.

Se hai maggiori informazioni sulle librerie richieste, fai un commento. Il motivo per cui non ho specifiche è che non ho registrato ciò che ho installato, mi dispiace.

Informazioni su ESP8266 NodeMCU

Caratteristiche,

  • Velocità di clock di 80 MHz
  • Tensione di esercizio: 3,3 V
  • Memoria flash di archiviazione: 4 MB, SRAM: 64 KB
  • 9 pin GPIO digitali di uso comune etichettati: da D0 a D8.
  • Dei 9, 4 pin possono essere utilizzati per SPI e 2 pin per I2C.
  • Interrompere i pin GPIO D0-D8.
  • Non utilizzare i 6 pin: CLK, SD0, CMD, SD1, SD2, SD3 (GPIO 6-11), perché sono in uso.
  • Testato: ingresso pulsante utilizzando D0-D02.
  • Testato: LED lampeggiante utilizzando D0-D08. Verso un resistore, verso un LED, verso terra.
  • Necessità di testare, UART1 (TX = GPIO2), oggetto Serial1: D4 o D7 e D8.

Dettagli pin

NodeMCU Etichetta GPIO pin# D0 16 GPIO lettura/scrittura, solo. Potrebbe non avere la funzione di interruzione. D1 5 GPIO digitale. -------------------- D2 4 GPIO digitale. D3 0 GPIO digitale. ---------- D2 4 I2C:SCL, clock DS3231, moduli di ingresso PCF8574 D3 0 I2C:SDA ---------- D4(TX) 2 LED integrato a bordo. ---------- Uscita 3V 3v G Massa -------------------- D5 14 GPIO digitale. D6 12 GPIO digitale. D7(RX) 13 Funziona per l'input, ad esempio, la ricezione a infrarossi. D8(TX) 15 Non funziona per l'input, ad esempio la ricezione a infrarossi. ---------- D5 14 Scheda SD: SPI SCK D6 12 Scheda SD: SPI MISO D7(RX) 13 Scheda SD: SPI MOSI D8 15 Scheda SD: CS per SPI abilita/disabilita un dispositivo. Può utilizzare altri pin digitali. -------------------- RX 03 Caricamento del sistema dall'IDE, che provoca il riavvio dopo il caricamento. TX 01 Sistema uplod. G Uscita 3V 3v a terra

Passaggio 2: apri un account di prova gratuito di Twilio e ottieni il tuo numero di telefono

Image
Image

Twilio è una società di piattaforme di comunicazione Internet. I prodotti utilizzati in questa istruzione sono i messaggi programmabili Twilio e i numeri di telefono. Twilio ha un inventario di numeri di telefono virtuali che possono essere utilizzati per inviare e ricevere messaggi SMS a qualsiasi telefono cellulare.

In questo passaggio, dovrai:

  • Apri un account Twilio, se non ne hai già uno. Un account di prova è gratuito e non richiede una carta di credito. Il tuo account di prova avrà un saldo di prova che viene utilizzato per pagare i numeri di telefono e scambiare messaggi di testo con i telefoni cellulari.
  • Acquista un numero di telefono Twilio. È gratuito perché viene pagato utilizzando il saldo di prova.
  • Invia un messaggio dal tuo cellulare al tuo nuovo numero di telefono.
  • Una volta che Twilio riceve il tuo messaggio, viene inviato un messaggio di risposta automatica al tuo cellulare.
  • Utilizzare l'applicazione del sito Web Twilio Console per visualizzare i registri dei messaggi.

Il primo video qui sopra mostra come aprire un account Twilio. Il secondo video mostra come acquistare un numero di telefono Twilio.

Collegati al sito Web di Twilio Console per aprire un account.

Collegati al sito Web di Twilio Console per acquistare un numero di telefono Twilio.

Il tuo nuovo numero di telefono compatibile con Twilio SMS ha già configurato una risposta automatica. Come prova, invia un messaggio SMS dal tuo cellulare al tuo numero di telefono Twilio. Riceverai il seguente messaggio:

Grazie per il tuo messaggio. Configura l'URL SMS del tuo numero per modificare questo messaggio. Rispondi Aiuto per Aiuto. Rispondi Interrompi per annullare l'iscrizione.

Ora usa la console Twilio per visualizzare i registri dei messaggi dal test precedente:

www.twilio.com/console/sms/logs

Ulteriori informazioni sull'utilizzo di Twilio

Puoi creare la tua risposta automatica personalizzata. Link a un tutorial di Studio, come creare un messaggio di risposta SMS personalizzato. Studio è il nostro strumento di trascinamento della console Twilio.

Puoi utilizzare la console Twilio per visualizzare i messaggi di registro e scaricare i registri come CVS e caricarli in un foglio di calcolo. È possibile selezionare una data e un intervallo di tempo, da e verso i numeri di telefono e uno stato come: Non consegnato o Inviato. Hai anche la possibilità di scaricare i log come file CVS. Poiché ha un limite di 300 registri alla volta, puoi limitare la selezione per data.

Link sviluppatori

Link alla documentazione e programmi di esempio per inviare messaggi.

Collegamento agli esempi di programma per elencare i registri dei messaggi.

Collegamento alle proprietà del messaggio del programma. L'elenco delle proprietà inviate nella richiesta

Link per elencare i registri SMS per un periodo di tempo.

Passaggio 3: invia un SMS dal tuo NodeMCU

Invia un SMS dal tuo NodeMCU
Invia un SMS dal tuo NodeMCU

Scarica il programma: HttpTwPost.ino e caricalo nel tuo IDE Arduino. Nel programma inserisci l'ID e la password della tua rete WiFi. Inserisci il SID del tuo account Twilio, il token di autenticazione e il numero di telefono. Il SID dell'account Twilio e il token di autenticazione sono visualizzabili dalla dashboard di Twilio Console. Fare clic su Token di autenticazione "mostra" per visualizzare il token di autenticazione.

// Il tuo SSID di rete e passwordconst char* ssid = "YourNetworkId"; const char* password = "Password di rete"; const char* account_sid = "YourTwilioAccountSID"; const char* auth_token = "YourAuthToken"; String from_number = "+16505551111"; // Dopo aver aggiunto la codifica, aggiungi "+". String to_number = "+16505552222"; String message_body = "Ciao dal NodeMCU.";

Nota Twilio, quando si utilizzano i numeri di telefono con Twilio, è meglio formattare i numeri come numeri di telefono in formato E.164. I numeri di telefono formattati E.164 iniziano con "+" e il prefisso internazionale. Il numero di telefono non contiene spazi, trattini o parentesi. Esempio: +16505551111.

Esegui il programma. All'avvio del programma, invierà un messaggio di testo SMS al tuo numero di cellulare. Inoltre, vengono pubblicati messaggi che possono essere visualizzati in Arduino IDE Tools/Serial Monitor. I messaggi del monitor includono la risposta di Twilio.

+++ Configurazione.+ Connettiti al WiFi. …. + Connesso a WiFi, indirizzo IP: 192.168.1.76 + Utilizzo dell'impronta digitale 'BC B0 1A 32 80 5D E6 E4 A2 29 66 2B 08 C8 E0 4C 45 29 3F D0' + Connessione ad api.twilio.com + Connesso. + Invia una richiesta di invio SMS HTTP. + La connessione è chiusa. + Risposta: HTTP/1.1 201 CREATED Data: Thu, 16 Jul 2020 20:39:49 GMT Content-Type: application/xml Content-Length: 878 Connection: close 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- Non modificato-dal momento che Access-Control-Allow-Metodi: GET, POST, DELETE, OPTIONS Access-Control-Expose-Headers: ETag Access-Control-Allow-Credentials: true X-Powered-By: AT-5000 X-Shenanigans: nessuno X-Home-Region: us1 X-API-Domain: api.twilio.com Strict-Transport-Security: max-age=31536000 … + Avvio del ciclo.

È possibile visualizzare i registri dei messaggi di Twilio per visualizzare il messaggio inviato.

Passaggio 4: pulsante per inviare un SMS

Image
Image

Il video sopra mostra un NodeMCU ESP8266 utilizzato per inviare messaggi a un telefono cellulare. Nel video, il NodeMCU è già avviato e connesso alla rete WiFi. Quando si preme il pulsante, la spia LED di bordo si accende. La richiesta del messaggio SMS viene inviata al servizio Twilio Messaging. Il servizio invia un SMS al mio cellulare. Il messaggio è ricevuto. Il servizio risponde anche al NodeMCU che il messaggio è stato accodato per essere inviato. A questo punto, il messaggio era già stato ricevuto al telefono. Dopo che il NodeMCU riceve la risposta da Twilio, la spia di bordo si spegne. Il circuito è pronto per inviare un altro messaggio.

Di seguito è riportato come implementare il circuito nel video. Questo passaggio richiede una breadboard, un pulsante e dei fili. Aggiungi un pulsante sulla breadboard. Un lato del pulsante si collega al pin NodeMCU D1. Collega l'altro lato del pulsante al pin di terra del NodeMCU (pin G sulla mia scheda).

Scarica il programma: HttpTwSendSms.ino e caricalo nel tuo IDE Arduino. Come nel passaggio precedente, nel programma inserisci l'ID e la password della tua rete WiFi. Inserisci il SID del tuo account Twilio, il token di autenticazione e il numero di telefono.

Quando il programma viene eseguito, il NodeMCU si connetterà alla rete WiFi. Alla pressione del pulsante viene inviato un messaggio al numero di cellulare.

Passaggio 5: SMS da un NodeMCU è un ottimo strumento IoT

Ora puoi utilizzare il codice di esempio e il tuo account Twilio per inviare messaggi SMS tramite WiFi.

Saluti, Stacy David

Consigliato: