Sommario:
- Forniture
- Passaggio 1: prova il tuo NodeMCU ESP8266
- Passaggio 2: apri un account di prova gratuito di Twilio e ottieni il tuo numero di telefono
- Passaggio 3: invia un SMS dal tuo NodeMCU
- Passaggio 4: pulsante per inviare un SMS
- Passaggio 5: SMS da un NodeMCU è un ottimo strumento IoT
Video: Invia un SMS utilizzando un ESP8266: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
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
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
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
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:
ESP32-CAM Cattura foto e invia tramite e-mail utilizzando la memoria SPIFF. --Nessuna scheda SD richiesta: 4 passaggi
ESP32-CAM Cattura foto e invia tramite e-mail utilizzando la memoria SPIFF. || Nessuna scheda SD richiesta: Ciao gente, la scheda ESP32-CAM è una scheda di sviluppo a basso costo che combina un chip ESP32-S, una fotocamera OV2640, diversi GPIO per collegare periferiche e uno slot per schede microSD. Ha una serie di applicazioni che vanno dal server web di streaming video, bu
Cattura e invia immagini con ESP32-Cam utilizzando ESP8266 WeMos D1 R1 Wifi Processor con Uno: 7 passaggi
Cattura e invia immagini con ESP32-Cam utilizzando ESP8266 WeMos D1 R1 Wifi Processor con Uno: acquisisci l'immagine utilizzando ESP32-Cam (OV2640) utilizzando ESP8266 WeMos D1 R1 WiFI Processor con Uno e invialo a e-mail, salva su Google Drive e invialo a Whatsapp utilizzando Twilio. Requisiti: Processore WiFI ESP8266 WeMos D1 R1 con Uno (https://protosupplies
Invia automaticamente e-mail con foto da file batch utilizzando il vecchio desktop e XP: 4 passaggi
Invia automaticamente e-mail con foto da file batch utilizzando il vecchio desktop e XP: sono molto fortunato ad avere una vista fantastica dalla finestra del mio ufficio a casa. Quando sono via, voglio vedere cosa mi manca e sono spesso via. Avevo il mio sito web e una stazione meteorologica domestica che caricava via ftp tutti i dati meteorologici
Distruggi in modo sicuro i singoli file utilizzando Invia a con Ccleaner: 4 passaggi
Distruggi in modo sicuro i singoli file utilizzando Invia a con Ccleaner: questo Instructable mostrerà che devi aggiungere un'opzione Invia a al clic destro che ti consentirà di eliminare il file con CCleaner
Distruggi in modo sicuro i singoli file utilizzando Invia a con Ccleaner V2: 4 passaggi
Distruggi in modo sicuro i singoli file utilizzando Invia a con Ccleaner V2: questa è una versione migliorata del mio tutorial precedente per aggiungere un'opzione di distruzione al menu "contesto" del tasto destro del mouse in Explorer che ti consentirà di distruggere i file tramite Ccleaner. approccio diretto e soes non richiedono l'aggiunta al