Indholdsfortegnelse:

Send en SMS ved hjælp af en ESP8266: 5 trin
Send en SMS ved hjælp af en ESP8266: 5 trin

Video: Send en SMS ved hjælp af en ESP8266: 5 trin

Video: Send en SMS ved hjælp af en ESP8266: 5 trin
Video: ESP8266 ESP01 WIFI-UART | LDmicro-Roboremo programmering 2024, Juli
Anonim
Send en SMS ved hjælp af en ESP8266
Send en SMS ved hjælp af en ESP8266

Denne instruktør tager dig gennem trinene til at sende en SMS -beskeder over internettet fra et ESP8266 NodeMCU -modulkort til en mobiltelefon. For at kunne sende beskeden skal du gennemgå trinene for at få et virtuelt telefonnummer fra Twilio, et kommunikationsselskab. Intet kreditkort er nødvendigt, fordi Twilio har en gratis prøvekonto. Derefter vil du downloade og bruge et eksempel Arduino IDE -program til at sende SMS -beskeder.

Eksempelprogrammet i denne instruktør har funktionsopkald, der er lige til at kopiere, indsætte, redigere og bruge i dine egne projekter.

Forbrugsvarer

Jeg bruger et NodeMCU ESP8266 CH340G ESP-12E Wireless WIFI Internet Development Board. De sælger for omkring $ 3 på eBay fra kinesiske leverandører.

Trin 1: Test din ESP8266 NodeMCU

Du kan teste med eller uden et brødbræt. Uden brødbrættet vil indikatoren ombord blinke til og fra, hvilket er effektivt til testen.

I min prøve tilslutter jeg NodeMCU til brødbrættet. Jeg tilslutter den negative side af en LED til jorden (G eller GND) pin på NodeMCU. Den positive side af LED'en er forbundet via en modstand (500 til 5K ohm) til NodeMCU pin D4. Når prøveprogrammet køres, tændes den indbyggede LED, den eksterne LED slukkes, derefter tændes den indbyggede LED, den eksterne LED tændes. LED -lysene vil skiftevis tænde og slukke.

Download og kør det grundlæggende Arduino -testprogram: nodeMcuTest.ino. Mens programmet køres, tændes den indbyggede LED -lampe i 1 sekund, slukker i 1 sekund og cykler kontinuerligt. Der indsendes også meddelelser, som kan ses i Arduino IDE Tools/Serial Monitor.

+++ Opsætning.

+ Initialiserede den indbyggede LED digitale pin til output. LED er slukket. ++ Gå til loop. + Loop tæller = 1 + Loop tæller = 2 + Loop tæller = 3 …

Når du har bekræftet, at din IDE kan bruges til at programmere din NodeMCU, skal du gå videre til næste trin.

Bemærk vedrørende biblioteker, jeg har installeret til følgende for ESP8266 -projekter:

  • Arduino WiFi bibliotek version 1.2.7.
  • PubSubClient version 2.7.0, af Nick O'Leary, til MQTT -beskeder. Ikke påkrævet til dette projekt.
  • IRremoteESP8266 version 2.6.3, til infrarød. Ikke påkrævet til dette projekt.

Hvis du har flere oplysninger om påkrævede biblioteker, bedes du kommentere. Grunden til, at jeg ikke har specifikationer, er, at jeg ikke registrerede, hvad jeg installerede, beklager.

Om ESP8266 NodeMCU

Funktioner,

  • 80 MHz clockhastighed
  • Driftsspænding: 3,3V
  • Flash -hukommelse: 4 MB, SRAM: 64 KB
  • 9 digitale GPIO -ben til almindelig brug mærket: D0 til D8.
  • Af de 9 kan 4 ben bruges til SPI og 2 ben til I2C.
  • Afbryd GPIO-ben D0-D8.
  • Brug ikke de 6 ben: CLK, SD0, CMD, SD1, SD2, SD3 (GPIO 6-11), fordi de er i brug.
  • Testet: knapindgang ved hjælp af D0-D02.
  • Testet: blink LED ved hjælp af D0-D08. Ud til en resister, til en LED, til jorden.
  • Skal testes, UART1 (TX = GPIO2), Serial1 -objekt: D4 eller D7 og D8.

Pin detaljer

NodeMCU Label GPIO pin# D0 16 GPIO kun læse/skrive. Måske ikke har afbrydelsesfunktion. D1 5 Digital GPIO. -------------------- D2 4 Digital GPIO. D3 0 Digital GPIO. ---------- D2 4 I2C: SCL, ur DS3231, PCF8574 inputmoduler D3 0 I2C: SDA ---------- D4 (TX) 2 Indbygget, indbygget LED. ---------- 3V 3v udgang G Jord -------------------- D5 14 Digital GPIO. D6 12 Digital GPIO. D7 (RX) 13 Fungerer til input, f.eks. Infrarød modtagelse. D8 (TX) 15 Virker ikke til input, f.eks. Infrarød modtagelse. ---------- D5 14 SD-kort: SPI SCK D6 12 SD-kort: SPI MISO D7 (RX) 13 SD-kort: SPI MOSI D8 15 SD-kort: CS til SPI-aktivering/deaktivering af en enhed. Kan bruge andre digitale pins. -------------------- RX 03 System uplod fra IDE, hvilket forårsager genstart efter upload. TX 01 Systemopladning. G Jord 3V 3v output

Trin 2: Åbn en gratis Twilio -prøvekonto, og få dit eget telefonnummer

Image
Image

Twilio er et internetkommunikationsplatformfirma. De produkter, der bruges i denne instruks, er Twilio programmerbare meddelelser og telefonnumre. Twilio har en oversigt over virtuelle telefonnumre, der kan bruges til at sende og modtage SMS -beskeder til enhver mobiltelefon.

I dette trin vil du:

  • Åbn en Twilio -konto, hvis du ikke allerede har en. En prøvekonto er gratis og kræver ikke et kreditkort. Din prøvekonto vil have en prøvebalance, der bruges til at betale for telefonnumre og udveksle tekstbeskeder med mobiltelefoner.
  • Køb et Twilio -telefonnummer. Det er gratis, fordi det er betalt for at bruge din prøvebalance.
  • Send en besked fra din mobiltelefon til dit nye telefonnummer.
  • Når Twilio modtager din besked, sendes en automatisk svarbesked til din mobiltelefon.
  • Brug webstedsprogrammet Twilio Console til at se dine meddelelseslogfiler.

Den første video ovenfor viser, hvordan du åbner en Twilio -konto. Den anden video viser, hvordan man køber et Twilio -telefonnummer.

Link til Twilio Console -webstedet for at åbne en konto.

Link til Twilio Console -webstedet for at købe et Twilio -telefonnummer.

Dit nye Twilio SMS -kompatible telefonnummer har et automatisk svar, der allerede er konfigureret. Send som en test en sms fra din mobiltelefon til dit Twilio -telefonnummer. Du modtager følgende besked:

Tak for din besked. Konfigurer dit nummers SMS -URL for at ændre denne meddelelse. Svar Hjælp til hjælp. Svar Stop for at afmelde.

Brug nu Twilio -konsollen til at se dine meddelelseslogfiler fra ovenstående test:

www.twilio.com/console/sms/logs

Mere om brug af Twilio

Du kan oprette dit eget tilpassede autosvar. Link til en Studio-vejledning, hvordan man laver en brugerdefineret SMS-svarmeddelelse. Studio er vores træk og slip Twilio Console -værktøj.

Du kan bruge Twilio Console til at se dine logbeskeder og downloade logfiler som CVS og indlæse dem i et regneark. Du kan vælge en dato og et tidsinterval til og fra telefonnumre og status, f.eks.: Uleveret eller Sendt. Du har også mulighed for at downloade logfilerne som CVS -filer. Da den har en grænse på 300 logs ad gangen, kan du begrænse valget efter dato.

Udviklerlinks

Link til dokumentation og prøveprogrammer til afsendelse af beskeder.

Link til programeksempler for at vise meddelelseslogfiler.

Link til egenskaber for programmeddelelser. Listen over egenskaber, der sendes i HTTP -anmodningen.

Link til liste over SMS -logfiler i en periode.

Trin 3: Send en SMS fra din NodeMCU

Send en SMS fra din NodeMCU
Send en SMS fra din NodeMCU

Download programmet: HttpTwPost.ino, og indlæs det i din Arduino IDE. Indtast dit WiFi -netværks -id og adgangskode i programmet. Indtast dit eget Twilio -kontos SID, godkendelsestoken og telefonnummer. Twilio -kontoens SID og godkendelsestoken kan ses fra Twilio Console -instrumentbrættet. Klik på Auth Token "show" for at se godkendelsestokenet.

// Dit netværks -SSID og passwordconst char* ssid = "YourNetworkId"; const char* password = "YourNetworkPassword"; const char* account_sid = "YourTwilioAccountSID"; const char* auth_token = "YourAuthToken"; String from_number = "+16505551111"; // Efter tilføjelse af kodning tilføjes "+". String to_number = "+16505552222"; String message_body = "Hej fra NodeMCU.";

Bemærk, når du bruger telefonnumre med Twilio, er det bedst at formatere numre som E.164 -formaterede telefonnumre. E.164 -formaterede telefonnumre starter med "+" og landekoden. Telefonnummeret har ikke mellemrum, bindestreger eller parenteser. Eksempel: +16505551111.

Kør programmet. Når programmet starter, sender det en SMS -tekstbesked til dit mobiltelefonnummer. Der indsendes også meddelelser, som kan ses i Arduino IDE Tools/Serial Monitor. Skærmmeddelelserne inkluderer svaret fra Twilio.

+++ Opsætning.+ Opret forbindelse til WiFi. …. + Tilsluttet WiFi, IP -adresse: 192.168.1.76 + Brug af fingeraftryk 'BC B0 1A 32 80 5D E6 E4 A2 29 66 2B 08 C8 E0 4C 45 29 3F D0' + Tilslutning til api.twilio.com + Tilsluttet. + Send en HTTP -sende SMS -anmodning. + Forbindelsen er lukket. + Svar: HTTP/1.1 201 CREATED Dato: Tor, 16. juli 2020 20:39:49 GMT Indholdstype: applikation/xml Indholdslængde: 878 Forbindelse: luk Twilio-Concurrent-Requests: 1 Twilio-Request-Id: RQe4fbdd142fca4b2fab24697e74006837 Twilio-Request-varighed: 0.116 Adgangskontrol-Tillad-oprindelse: * Adgangskontrol-Tillad-overskrifter: Accepter, godkendelse, indholdstype, hvis-match, hvis-ændret-siden, hvis-ingen-match, hvis- Umodificeret-siden adgangskontrol-tilladelsesmetoder: GET, POST, DELETE, MULIGHEDER Adgangskontrol-eksponeringshoveder: ETag Adgangskontrol-Tillad-legitimationsoplysninger: true X-Powered-By: AT-5000 X-Shenanigans: ingen X-Home-Region: us1 X-API-Domain: api.twilio.com Strict-Transport-Security: max-age = 31536000… + Start loop.

Du kan se Twilio -meddelelseslogfiler for at se din sendte besked.

Trin 4: Knap for at sende en SMS

Image
Image

Ovenstående video viser en ESP8266 NodeMCU -brug til at sende meddelelser til en mobiltelefon. I videoen er NodeMCU allerede startet og tilsluttet WiFi -netværket. Når der trykkes på knappen, lyser den indbyggede LED -lampe. SMS -anmodningen sendes til Twilio Messaging -tjenesten. Tjenesten sender en sms til min mobiltelefon. Beskeden er modtaget. Tjenesten svarer også til NodeMCU, at meddelelsen stod i kø for at blive sendt. På dette tidspunkt var beskeden allerede blevet modtaget på telefonen. Efter at NodeMCU modtager svaret fra Twilio, slukker lyset ombord. Kredsløbet er klar til at sende en anden besked.

Følgende er, hvordan man implementerer kredsløbet i videoen. Dette trin kræver et brødbræt, en knap og ledninger. Tilføj en knap på brødbrættet. Den ene side af knappen opretter forbindelse til NodeMCU D1 -stiften. Led den anden side af knappen til NodeMCU -jordnålen (pin G på mit bord).

Download programmet: HttpTwSendSms.ino og indlæse det i din Arduino IDE. Samme som i det foregående trin, indtast dit WiFi -netværks -id og adgangskode i programmet. Indtast dit eget Twilio -kontos SID, godkendelsestoken og telefonnummer.

Når programmet køres, vil NodeMCU oprette forbindelse til WiFi -netværket. Når der trykkes på knappen, sendes en besked mobiltelefonnummeret.

Trin 5: SMS fra en NodeMCU er et godt IoT -værktøj

Nu kan du bruge prøvekode og din Twilio -konto til at sende SMS -beskeder via WiFi.

Skål, Stacy David

Anbefalede: