Inhaltsverzeichnis:

Senden Sie eine SMS mit einem ESP8266 - Gunook
Senden Sie eine SMS mit einem ESP8266 - Gunook

Video: Senden Sie eine SMS mit einem ESP8266 - Gunook

Video: Senden Sie eine SMS mit einem ESP8266 - Gunook
Video: Klima Logger mit automatischen E-Mail Versand & Alarm Sender mit Arduino ESP32. 2024, November
Anonim
Senden Sie eine SMS mit einem ESP8266
Senden Sie eine SMS mit einem ESP8266

Diese Anleitung führt Sie durch die Schritte zum Senden von SMS-Nachrichten über das Internet von einer ESP8266 NodeMCU-Modulplatine an ein Mobiltelefon. Um die Nachricht senden zu können, müssen Sie die Schritte ausführen, um eine virtuelle Telefonnummer von Twilio, einem Kommunikationsunternehmen, zu erhalten. Keine Kreditkarte erforderlich, da Twilio eine kostenlose Testkontooption bietet. Dann laden Sie ein Arduino-IDE-Beispielprogramm herunter und verwenden es zum Senden von SMS-Nachrichten.

Das Beispielprogramm in diesem anweisbaren hat Funktionsaufrufe, die direkt zum Kopieren, Einfügen, Bearbeiten und Verwenden in Ihren eigenen Projekten sind.

Lieferungen

Ich verwende ein NodeMCU ESP8266 CH340G ESP-12E Wireless WIFI Internet Development Board. Sie verkaufen für etwa 3 US-Dollar bei eBay von chinesischen Lieferanten.

Schritt 1: Testen Sie Ihre ESP8266 NodeMCU

Sie können mit oder ohne Steckbrett testen. Ohne das Steckbrett blinkt das Onboard-Licht ein und aus, was für den Test wirksam ist.

In meinem Beispiel stecke ich die NodeMCU in das Breadboard. Ich stecke die negative Seite einer LED in den Massestift (G oder GND) der NodeMCU. Die positive Seite der LED ist über einen Widerstand (500 bis 5K Ohm) mit dem NodeMCU-Pin D4 verbunden. Wenn das Beispielprogramm ausgeführt wird, schaltet sich die Onboard-LED ein, die externe LED aus, dann erlischt die Onboard-LED und die externe LED leuchtet. Die LED-Leuchten werden abwechselnd ein- und ausgeschaltet.

Laden Sie das grundlegende Arduino-Testprogramm herunter und führen Sie es aus: nodeMcuTest.ino. Während das Programm ausgeführt wird, schaltet sich das integrierte LED-Licht 1 Sekunde lang ein, 1 Sekunde lang aus und läuft kontinuierlich. Außerdem werden Nachrichten gepostet, die in den Arduino IDE Tools/Serial Monitor angezeigt werden können.

+++ Einrichtung.

+ Initialisiert den On-Board-LED-Digital-Pin für die Ausgabe. LED ist aus. ++ Gehe zur Schleife. + Schleifenzähler = 1 + Schleifenzähler = 2 + Schleifenzähler = 3 …

Sobald Sie bestätigt haben, dass Ihre IDE zum Programmieren Ihrer NodeMCU verwendet werden kann, fahren Sie mit dem nächsten Schritt fort.

Hinweis zu Bibliotheken, die ich für ESP8266-Projekte installiert habe:

  • Arduino WiFi-Bibliothek Version 1.2.7.
  • PubSubClient Version 2.7.0 von Nick O'Leary für MQTT-Messaging. Für dieses Projekt nicht erforderlich.
  • IRremoteESP8266 Version 2.6.3, für Infrarot. Für dieses Projekt nicht erforderlich.

Wenn Sie weitere Informationen zu den erforderlichen Bibliotheken haben, hinterlassen Sie bitte einen Kommentar. Der Grund, warum ich keine Details habe, ist, dass ich nicht aufgezeichnet habe, was ich installiert habe, sorry.

Über die ESP8266 NodeMCU

Merkmale,

  • 80 MHz Taktfrequenz
  • Betriebsspannung: 3.3V
  • Flash-Speicher: 4 MB, SRAM: 64 KB
  • 9 häufig verwendete digitale GPIO-Pins mit der Bezeichnung: D0 bis D8.
  • Von den 9 können 4 Pins für SPI und 2 Pins für I2C verwendet werden.
  • GPIO-Pins D0-D8 unterbrechen.
  • Verwenden Sie nicht die 6 Pins: CLK, SD0, CMD, SD1, SD2, SD3 (GPIO 6-11), da diese verwendet werden.
  • Getestet: Tasteneingabe über D0-D02.
  • Getestet: LED blinken mit D0-D08. Aus zu einem Widerstand, zu einer LED, zu Masse.
  • Muss getestet werden, UART1 (TX = GPIO2), Serial1-Objekt: D4 oder D7 und D8.

Pin-Details

NodeMCU Label GPIO Pin# D0 16 GPIO Lesen/Schreiben, nur. Möglicherweise keine Unterbrechungsfunktion. D1 5 Digitaler GPIO. -------------------- D2 4 Digitaler GPIO. D3 0 Digitaler GPIO. ---------- D2 4 I2C:SCL, Taktgeber DS3231, PCF8574 Eingangsmodule D3 0 I2C:SDA ---------- D4(TX) 2 Eingebaute On-Board-LED. ---------- 3V 3V Ausgang G Masse ---------- D5 14 Digitaler GPIO. D6 12 Digitaler GPIO. D7(RX) 13 Funktioniert für Eingaben, z. B. Infrarotempfang. D8(TX) 15 Funktioniert nicht für Eingaben, z. B. Infrarotempfang. ---------- D5 14 SD-Karte: SPI SCK D6 12 SD-Karte: SPI MISO D7(RX) 13 SD-Karte: SPI MOSI D8 15 SD-Karte: CS für SPI aktivieren/deaktivieren eines Geräts. Kann andere digitale Pins verwenden. -------------------- RX 03 System-Uplod von der IDE, was nach dem Hochladen einen Neustart verursacht. TX 01 System-Upload. G Masse 3V 3V Ausgang

Schritt 2: Eröffnen Sie ein kostenloses Twilio-Testkonto und erhalten Sie Ihre eigene Telefonnummer

Image
Image

Twilio ist ein Unternehmen für Internet-Kommunikationsplattformen. Die Produkte, die in diesem anweisbaren verwendet werden, sind Twilio Programmable Messaging und Telefonnummern. Twilio verfügt über einen Bestand an virtuellen Telefonnummern, mit denen SMS-Nachrichten an jedes Mobiltelefon gesendet und empfangen werden können.

In diesem Schritt werden Sie:

  • Eröffnen Sie ein Twilio-Konto, falls Sie noch keins haben. Ein Testkonto ist kostenlos und erfordert keine Kreditkarte. Ihr Testkonto verfügt über ein Testguthaben, das zum Bezahlen von Telefonnummern und zum Austauschen von Textnachrichten mit Mobiltelefonen verwendet wird.
  • Kaufen Sie eine Twilio-Telefonnummer. Es ist kostenlos, da es für die Verwendung Ihres Testguthabens bezahlt wird.
  • Senden Sie eine Nachricht von Ihrem Mobiltelefon an Ihre neue Telefonnummer.
  • Sobald Twilio Ihre Nachricht erhält, wird eine automatische Antwortnachricht an Ihr Mobiltelefon gesendet.
  • Verwenden Sie die Twilio Console-Websiteanwendung, um Ihre Nachrichtenprotokolle anzuzeigen.

Das erste Video oben zeigt, wie man ein Twilio-Konto eröffnet. Das zweite Video zeigt, wie man eine Twilio-Telefonnummer kauft.

Link zur Twilio Console-Website, um ein Konto zu eröffnen.

Link zur Website der Twilio-Konsole, um eine Twilio-Telefonnummer zu kaufen.

Für Ihre neue SMS-fähige Twilio-Telefonnummer ist bereits eine automatische Antwort konfiguriert. Senden Sie testweise eine SMS-Nachricht von Ihrem Mobiltelefon an Ihre Twilio-Rufnummer. Sie erhalten folgende Meldung:

Danke für deine Nachricht. Konfigurieren Sie die SMS-URL Ihrer Nummer, um diese Nachricht zu ändern. Antworten Sie auf Hilfe, um Hilfe zu erhalten. Antworten Stoppen Sie, um sich abzumelden.

Verwenden Sie nun die Twilio-Konsole, um Ihre Nachrichtenprotokolle aus dem obigen Test anzuzeigen:

www.twilio.com/console/sms/logs

Mehr über die Verwendung von Twilio

Sie können Ihre eigene benutzerdefinierte automatische Antwort erstellen. Link zu einer Studio-Anleitung zum Erstellen einer benutzerdefinierten SMS-Antwortnachricht. Studio ist unser Drag-and-Drop-Tool für die Twilio-Konsole.

Sie können die Twilio-Konsole verwenden, um Ihre Protokollnachrichten anzuzeigen und die Protokolle als CVS herunterzuladen und in eine Tabelle zu laden. Sie können einen Datums- und Zeitbereich, von und zu Telefonnummern und einen Status auswählen, z. B.: Nicht zugestellt oder Gesendet. Sie haben auch die Möglichkeit, die Protokolle als CVS-Dateien herunterzuladen. Da es ein Limit von 300 Protokollen gleichzeitig gibt, können Sie die Auswahl nach Datum begrenzen.

Entwickler-Links

Link zu Dokumentation und Beispielprogrammen zum Senden von Nachrichten.

Link zu Programmbeispielen, um Nachrichtenprotokolle aufzulisten.

Link zu den Eigenschaften der Programmnachricht. Die Liste der Eigenschaften, die in der HTTP-Anforderung gesendet werden.

Link, um SMS-Protokolle für einen bestimmten Zeitraum aufzulisten.

Schritt 3: Senden Sie eine SMS von Ihrer NodeMCU

Senden Sie eine SMS von Ihrer NodeMCU
Senden Sie eine SMS von Ihrer NodeMCU

Laden Sie das Programm herunter: HttpTwPost.ino und laden Sie es in Ihre Arduino IDE. Geben Sie in das Programm Ihre WLAN-Netzwerk-ID und Ihr Passwort ein. Geben Sie Ihre eigene Twilio-Konto-SID, Ihr Authentifizierungstoken und Ihre Telefonnummer ein. Die SID und das Authentifizierungstoken des Twilio-Kontos sind im Dashboard der Twilio-Konsole sichtbar. Klicken Sie auf Auth Token "zeigen", um das Auth Token anzuzeigen.

// Ihre Netzwerk-SSID und Ihr Passwortconst char* ssid = "YourNetworkId"; const char* password = "IhrNetzwerkPasswort"; const char* account_sid = "IhreTwilioAccountSID"; const char* auth_token = "IhrAuthToken"; String from_number = "+16505551111"; // Nachdem die Codierung hinzugefügt wurde, füge "+" hinzu. String to_number = "+16505552222"; String message_body = "Hallo von der NodeMCU.";

Hinweis zu Twilio: Wenn Sie Telefonnummern mit Twilio verwenden, ist es am besten, die Nummern als E.164-formatierte Telefonnummern zu formatieren. E.164-formatierte Telefonnummern beginnen mit "+" und der Landesvorwahl. Die Telefonnummer enthält keine Leerzeichen, Bindestriche oder Klammern. Beispiel: +16505551111.

Führen Sie das Programm aus. Wenn das Programm startet, sendet es eine SMS-Textnachricht an Ihre Mobiltelefonnummer. Außerdem werden Nachrichten gepostet, die in den Arduino IDE Tools/Serial Monitor angezeigt werden können. Die Monitornachrichten enthalten die Antwort von Twilio.

+++ Einrichtung.+ Mit WLAN verbinden. …. + Mit WLAN verbunden, IP-Adresse: 192.168.1.76 + Mit Fingerabdruck 'BC B0 1A 32 80 5D E6 E4 A2 29 66 2B 08 C8 E0 4C 45 29 3F D0' + Verbindung zu api.twilio.com + Verbunden. + Senden Sie eine HTTP-SMS-Anfrage. + Verbindung ist geschlossen. + Antwort: HTTP/1.1 201 ERSTELLT Datum: Do, 16.07.2020 20:39:49 GMT Inhaltstyp: application/xml Inhaltslänge: 878 Verbindung: close Twilio-Concurrent-Requests: 1 Twilio-Request-Id: RQe4fbdd142fca4b2fab24697e74006837 Twilio-Request-Dauer: 0.116 Access-Control-Allow-Origin: * Access-Control-Allow-Headers: Accept, Authorization, Content-Type, If-Match, If-Modified-Since, If-None-Match, If- Unmodified-Seit Access-Control-Allow-Methoden: GET, POST, DELETE, OPTIONS Access-Control-Expose-Headers: ETag Access-Control-Allow-Credentials: true X-Powered-By: AT-5000 X-Shenanigans: keine X-Home-Region: us1 X-API-Domain: api.twilio.com Strict-Transport-Security: max-age=31536000 … + Startet die Schleife.

Sie können die Twilio-Nachrichtenprotokolle anzeigen, um Ihre gesendete Nachricht anzuzeigen.

Schritt 4: Schaltfläche zum Senden einer SMS

Image
Image

Das obige Video zeigt eine ESP8266 NodeMCU, die zum Senden von Nachrichten an ein Mobiltelefon verwendet wird. Im Video ist die NodeMCU bereits gestartet und mit dem WiFi-Netzwerk verbunden. Wenn die Taste gedrückt wird, geht das Onboard-LED-Licht an. Die SMS-Nachrichtenanforderung wird an den Twilio Messaging-Dienst gesendet. Der Dienst sendet eine SMS an mein Mobiltelefon. Die Nachricht wird empfangen. Der Dienst antwortet auch der NodeMCU, dass die Nachricht zum Senden in die Warteschlange gestellt wurde. Zu diesem Zeitpunkt war die Nachricht bereits am Telefon eingegangen. Nachdem die NodeMCU die Antwort von Twilio erhalten hat, erlischt das Onboard-Licht. Die Schaltung ist bereit, eine weitere Nachricht zu senden.

Im Folgenden erfahren Sie, wie Sie die Schaltung im Video implementieren. Dieser Schritt erfordert ein Steckbrett, einen Knopf und Drähte. Fügen Sie eine Schaltfläche auf dem Steckbrett hinzu. Eine Seite der Taste wird mit dem NodeMCU D1-Pin verbunden. Verdrahten Sie die andere Seite der Taste mit dem NodeMCU-Erdungsstift (Pin G auf meiner Platine).

Laden Sie das Programm herunter: HttpTwSendSms.ino und laden Sie es in Ihre Arduino IDE. Geben Sie wie im vorherigen Schritt in das Programm Ihre WLAN-Netzwerk-ID und Ihr Passwort ein. Geben Sie Ihre eigene Twilio-Konto-SID, Ihr Authentifizierungstoken und Ihre Telefonnummer ein.

Wenn das Programm ausgeführt wird, verbindet sich die NodeMCU mit dem WiFi-Netzwerk. Beim Drücken der Taste wird eine Nachricht an die Handynummer gesendet.

Schritt 5: SMS von einer NodeMCU ist ein großartiges IoT-Tool

Jetzt können Sie den Beispielcode und Ihr Twilio-Konto verwenden, um SMS-Nachrichten über WLAN zu senden.

Danke schön, Stacy David

Empfohlen: