Inhaltsverzeichnis:

Anfängerleitfaden für ESP8266 und Tweeten mit ESP8266 - Gunook
Anfängerleitfaden für ESP8266 und Tweeten mit ESP8266 - Gunook

Video: Anfängerleitfaden für ESP8266 und Tweeten mit ESP8266 - Gunook

Video: Anfängerleitfaden für ESP8266 und Tweeten mit ESP8266 - Gunook
Video: Anfängerleitfaden für EFFEKTIVES Zeitmanagement 2024, November
Anonim
Anfängerleitfaden für ESP8266 und Tweeten mit ESP8266
Anfängerleitfaden für ESP8266 und Tweeten mit ESP8266

Ich habe vor 2 Jahren etwas über Arduino gelernt. Also habe ich angefangen, mit einfachen Dingen wie LEDs, Knöpfen, Motoren usw. herumzuspielen ein LCD-Display. Ich fand, dass dies durch Senden und Empfangen von Daten über das Internet erfolgen konnte. Die Lösung bestand also darin, eine Verbindung zum Internet herzustellen. Dort begann meine Suche, wie man den Arduino mit dem Internet verbindet und Daten sendet und empfängt. Ich habe im Internet etwas über WLAN-Module erfahren und fand sie sehr kostspielig. Dann erfuhr ich vom ESP8266.

Ich habe vor etwa einem Jahr viel im Internet über das ESP8266-Modul gelesen und eines gekauft, bin aber erst letzten Monat dazu gekommen, damit zu arbeiten. Damals gab es keine umfangreichen Informationen im Internet zu Firmware, AT-Befehlen, Projekten etc. So habe ich mich entschlossen loszulegen.

Ich habe diese Anleitung als Anfängerleitfaden geschrieben, da ich mit vielen Problemen bei der Verkabelung und den ersten Schritten mit dem ESP8266 konfrontiert war. Also beschloss ich, diese Anleitung zu schreiben, damit andere Leute, die auf Probleme mit ihren Modulen stoßen, sie schneller lösen können

In diesem Instructable werde ich versuchen zu zeigen

  • So schließen Sie einen ESP8266 an und kommunizieren mit ihm über Arduino Uno.
  • Ich werde auch versuchen zu zeigen, wie mit Thingspeak ein Tweet gesendet werden kann.

Was kann der ESP8266? Ihre Vorstellungskraft ist begrenzt. Ich habe Projekte und Tutorials im Internet gesehen, die zeigen, wie man die Temperatur einer Stadt, Aktienkurse, das Senden und Empfangen von E-Mails, das Telefonieren und vieles mehr zeigt dieses Instructable, wie man einen Tweet sendet.

Schritt 1: Dinge, die Sie brauchen

Dinge, die Sie brauchen
Dinge, die Sie brauchen

Hier sind die Dinge, die Sie benötigen. Die meisten davon können in jedem Elektrogeschäft oder online gekauft werden (ich habe die Links als Referenz bereitgestellt).

  • 1xESP8266(ESP-01) -ebay
  • 1xBreadboard-Adapter (erfahren Sie hier, wie man einen macht, oder verwenden Sie einige Überbrückungsdrähte)
  • 1xLM2596 -ebay
  • 1xLogic Pegelwandler -ebay
  • 1xArduino Uno
  • USB-Kabel für Arduino Uno
  • 1xBreadboard -ebay
  • Drähte -ebay
  • Arduino-IDE
  • Ein Konto bei Thingspeak

Die Gesamtkosten betragen etwa 600 Rs (ca. 9 US-Dollar). Ich habe die Kosten für Arduino Uno ausgeschlossen, da es davon abhängt, ob Sie ein Original oder einen Klon wünschen. Die billigsten Klone sind für etwa 500 Rs (ca. 4 US-Dollar) erhältlich.

Schritt 2: Einige Informationen zu ESP8266

ESP8266 wurde 2014 vor nur einem Jahr auf den Markt gebracht, ist also ziemlich neu. Die Chips werden von Espressif hergestellt.

Vorteil

Der größte Vorteil von ESP8266 sind vielleicht seine Kosten. Es ist ziemlich billig und Sie können ein paar davon auf einmal kaufen. Bevor ich davon erfuhr, konnte ich nicht einmal daran denken, ein WLAN-Modul zu kaufen. Sie waren zu teuer. Neue Versionen von ESP8266 werden ziemlich häufig veröffentlicht und die neueste ist ESP 12. In diesem Instructable werde ich mich jedoch nur auf ESP 01 konzentrieren, das sehr beliebt ist. Wenn Sie den ESP8266 kaufen, ist er außerdem mit der Standard-AT-Firmware vorinstalliert Sie sind gut, um loszulegen, sobald Sie einen kaufen.. Auch wie Sie aus diesem instructable sehen werden, ist es ganz einfach, sie zu verbinden.

Nachteil

Jedes Gerät hat seine eigenen Vor- und Nachteile und ESP ist nicht anders. Das ESP kann sich manchmal als sehr knifflig und frustrierend erweisen. Da es recht neu ist, wird es schwierig sein, Informationen darüber zu erhalten. Zum Glück eine Community unter esp8266.com existiert, was eine große Hilfe ist. Außerdem fängt es manchmal auch an, unerwartete Dinge zu tun, wie z. B. eine Menge Müll über die serielle Verbindung zu werfen usw.

Beachten Sie, dass im Internet viele Dokumentationen verfügbar sind und ein Teil davon widersprüchlich ist. Dieses Instructable ist nicht anders auch) aber es hat gut geklappt.

Schritt 3: Pinbelegung von ESP8266

Pinbelegung von ESP8266
Pinbelegung von ESP8266

Der ESP8266 hat wie abgebildet 8 Pins.

Gnd und Vcc sollten wie gewohnt mit Masse bzw. Versorgung verbunden werden. Der ESP8266 arbeitet mit 3,3V.

Der RESET-Pin wird verwendet, um den ESP manuell zurückzusetzen. Er sollte normalerweise mit 3,3 V verbunden sein. Wenn Sie den ESP zurücksetzen möchten, verbinden Sie diesen Pin kurz mit Masse und dann wieder mit 3,3 V.

CH_PD ist der Chip-Power-Down, der normalerweise an 3,3 V angeschlossen werden sollte.

GPIO0 und GPIO2 sind Allzweck-Eingangs-Ausgangs-Pins. Diese sollten normalerweise mit 3,3 V verbunden sein. Beim Flashen der Firmware jedoch GPIO0 mit Masse verbinden.

Rx- und Tx-Pins sind die Sende- und Empfangspins des ESP8266. Sie arbeiten mit 3,3-V-Logik, dh 3,3 V ist logisch HIGH für ESP8266.

Detaillierte Verbindungen werden in späteren Schritten bereitgestellt.

Schritt 4: Was sollte für die Kommunikation mit ESP8266 verwendet werden?

Was sollte für die Kommunikation mit ESP8266 verwendet werden?
Was sollte für die Kommunikation mit ESP8266 verwendet werden?
Was sollte für die Kommunikation mit ESP8266 verwendet werden?
Was sollte für die Kommunikation mit ESP8266 verwendet werden?
Was sollte für die Kommunikation mit ESP8266 verwendet werden?
Was sollte für die Kommunikation mit ESP8266 verwendet werden?

Es gibt viele Geräte, die zur Kommunikation mit ESP8266 verwendet werden können, wie FTDI-Programmierer, USB-zu-TTL-Seriell-Konverter, Arduino usw. Ich habe jedoch ein Arduino Uno verwendet, einfach weil es am einfachsten ist und fast jeder es hat Wenn Sie einen Arduino haben, haben Sie auch die Arduino IDE und sein serieller Monitor kann für die Kommunikation mit dem ESP8266 verwendet werden. Also kein Geld für FTDI-Programmierer usw.

Wenn Sie jedoch möchten oder bereits einen haben, können Sie einen FTDI-Programmierer oder einen seriellen USB-zu-TTL-Konverter verwenden (mehr zum Anschließen später). Es gibt auch eine Menge Software wie RealTerm oder Putty diese auf die gleiche Weise wie der serielle Monitor der Arduino IDE.

Schritt 5: Montage des ESP8266 auf dem Steckbrett

Montage des ESP8266 auf dem Steckbrett
Montage des ESP8266 auf dem Steckbrett
Montage des ESP8266 auf dem Steckbrett
Montage des ESP8266 auf dem Steckbrett

Beachten Sie, dass die Pins des ESP8266 nicht für Steckbretter geeignet sind. Dies kann auf zwei Arten überwunden werden.

Verwenden Sie weibliche zu männliche Überbrückungsdrähte, die die Dinge unordentlich machen können oder

Tun Sie wie in diesem Instructable gezeigt oder

Verwenden Sie eine Adapterplatine, machen Sie eine selbst (es gibt viele davon auf Instructables), was ordentlich ist.

Schritt 6: Netzteil

Energieversorgung
Energieversorgung

Der ESP8266 arbeitet mit einer 3,3-V-Versorgung. Schließen Sie ihn nicht an den 5-V-Pin des Arduino an. Es wird wahrscheinlich brennen.

Einige Tutorials schlugen vor, eine Spannungsteilerschaltung mit 1k, 2k-Widerständen mit 5 V als Eingang zu erstellen und 3,3 V über den 2k-Widerstand zu erhalten und an den Arduino zu liefern. Allerdings stellte ich fest, dass der ESP nicht einmal eingeschaltet wurde, als ich dies tat.

Ich konnte es mit 3,3 V auf Arduino einschalten, stellte jedoch fest, dass das ESP nach einiger Zeit heiß wurde.

Sie können einen 3,3-V-Spannungsregler verwenden.

Oder Sie können den DC-DC-Abwärtswandler LM2596 verwenden. Diese sind ziemlich billig. Und ich habe diese verwendet. Geben Sie 5 V von Arduino an den Eingang von einem dieser stundenlang. Stellen Sie die Anschlüsse wie in der Abbildung gezeigt her.

Schritt 7: Konvertierung der Logikebene

Konvertierung auf Logikebene
Konvertierung auf Logikebene

Es wird erwähnt, dass der ESP eine 3,3-V-Logik hat, während der Arduino eine 5-V-Logik hat.

Dies bedeutet, dass im ESP 3,3 V logisch HIGH ist, während in Arduino 5 V logisch HIGH ist. Dies kann beim Verbinden einige Probleme verursachen.

Ich habe im Internet festgestellt, dass die Konvertierung des Logikpegels angewendet werden muss, während ESP Rx und Tx mit Arduino verbunden werden.

In einigen Tutorials wurde erwähnt, dass eine Konvertierung des Logikpegels erforderlich ist, wenn der ESP Rx-Pin angeschlossen wird.

Ich fand jedoch, dass das normale Verbinden der ESP Rx- und Tx-Pins mit dem Arduino keine Probleme verursachte

Ich habe Rx und Tx über einen Logikpegelwandler sowie Rx allein verbunden, aber keine Antwort erhalten.

Ich habe jedoch festgestellt, dass das Anschließen des ESP-Tx-Pins über den Logikpegelwandler beim direkten Anschließen des Tx ebenfalls keine Probleme verursacht

Somit kann ein logischer Pegelwandler verwendet werden oder nicht.

Verwenden Sie die Methode, die für Sie durch Versuch und Irrtum funktioniert.

Schritt 8: Verbindungen

Anschlüsse
Anschlüsse

Die Anschlüsse des ESP8266 sind:

ESP8266

Gnd ------------------- Gnd

GPIO2 --------------- 3.3V

GPIO0 --------------- 3.3V

Rx -------------------- Rx von Arduino

Tx ---------------------- Tx von Arduino (direkt oder über Logikpegelwandler)

CH_PD -------------- 3.3V

ZURÜCKSETZEN -------------- 3.3V

Vcc-------- 3.3V

(Beachten Sie, dass in einigen Versionen ESP Rx mit Arduino Tx und ESP Tx mit Arduino Rx verbunden sein sollte).

Wenn Sie einen FTDI-Programmierer oder einen seriellen USB-zu-TTL-Konverter verwenden, verbinden Sie deren Tx und Rx mit Rx bzw. Tx des ESP8266.

Schritt 9: Erste Schritte

Nachdem Sie die Verbindungen hergestellt haben, laden Sie es hoch

Void-Setup ()

{}

Leere Schleife ()

{}

d.h. eine leere Skizze zum Arduino..

Öffnen Sie den seriellen Monitor und stellen Sie ihn auf "Both NL & CR".

Experimentieren Sie mit der Baudrate. Sie sollte normalerweise 9600 betragen, manchmal kann es jedoch auch 115200 sein.

Schritt 10: AT-Befehle

AT-Befehle
AT-Befehle

Einfach sagen AT-Befehle sind Befehle, die an den ESP8266 gesendet werden können, damit er einige Funktionen wie Neustart, Verbindung mit WLAN usw. ausführen kann. Der ESP sendet als Antwort eine Bestätigung in Form von Text. Im Folgenden habe ich einige erklärt AT-Befehle und wie der ESP darauf reagiert. Beachten Sie, dass ich mit Senden meine, den Befehl einzugeben und die Eingabetaste (Return) zu drücken.

Senden Sie AT über den seriellen Monitor

Dieser Befehl wird als Testbefehl verwendet.

Wie der ESP reagiert: OK sollte zurückgegeben werden.

Senden Sie AT+RST über den seriellen Monitor

Mit diesem Befehl wird das Modul neu gestartet.

Wie der ESP reagiert: ESP gibt eine Menge Müll zurück. Suchen Sie jedoch nach Ready oder Ready.

Senden Sie AT+GMR über den seriellen Monitor

Mit diesem Befehl wird die Firmware-Version des Moduls ermittelt.

Wie der ESP reagiert: Die Firmware-Version sollte zurückgegeben werden.

Firmware ist eine Software, die auf einem Gerät normalerweise auf seinem ROM (Nur-Lese-Speicher) installiert wird, dh sie soll nicht häufig oder überhaupt nicht geändert werden. Sie ermöglicht die Steuerung und Datenmanipulation des Geräts. ESP8266 hat eine Nummer von verschiedenen Firmwares, die alle recht einfach zu flashen (installieren) sind.

Schritt 11: Allgemeine Syntax von AT-Befehlen

Die allgemeine Syntax von AT-Befehlen zum Ausführen verschiedener Funktionen ist angegeben:

AT+Parameter=?

Wenn ein Befehl dieses Typs über den seriellen Monitor gesendet wird, gibt der ESP alle Werte zurück, die der Parameter annehmen kann.

AT+Parameter=Wert

Wenn ein Befehl dieses Typs über den seriellen Monitor gesendet wird, setzt der ESP den Parameterwert auf val.

AT+Parameter?

Wenn ein Befehl dieses Typs über den seriellen Monitor gesendet wird, gibt der ESP den aktuellen Parameterwert zurück.

Einige AT-Befehle benötigen möglicherweise nur einen der oben genannten Typen, während andere alle drei benötigen.

Ein Beispiel für einen Befehl, der in allen oben genannten 3 Typen möglich ist, ist CWMODE, mit dem der WLAN-Modus eingestellt wird.

Senden Sie AT+CWMODE=? über den seriellen Monitor

Wie der ESP reagiert:Alle Werte, die der ESP CWMODE annehmen kann (1-3) werden speziell +CWMODE(1-3) zurückgegeben

1=Statisch

2=AP

3=Sowohl statisch als auch AP

Senden Sie AT+CWMODE=1 über den seriellen Monitor

Wie der ESP reagiert: OK sollte zurückgegeben werden, wenn sich der CWMODE-Wert gegenüber seinem vorherigen Wert ändert und auf statisch gesetzt ist, andernfalls sollte keine Änderung zurückgegeben werden, wenn sich der CWMODE-Wert nicht ändert.

WICHTIG:Sofern CWMODE nicht auf 1 gesetzt ist, funktionieren die Befehle in den späteren Schritten nicht.

AT+CWMODE senden? über den seriellen Monitor

Wie der ESP reagiert: Der aktuelle Wert von CWMODE sollte zurückgegeben werden, insbesondere wenn Sie den obigen Schritt befolgt haben, sollte +CWMODE:1 zurückgegeben werden.

Schritt 12: Verbinden mit Wifi

Senden Sie AT+CWLAP über den seriellen Monitor

Dieser Befehl wird verwendet, um alle Netzwerke in der Umgebung aufzulisten.

Wie der ESP reagiert: Es sollte eine Liste aller verfügbaren Access Points oder WLAN-Netzwerke zurückgegeben werden.

Senden Sie AT+CWJAP="SSID", "Passwort"

(einschließlich der doppelten Anführungszeichen).

Dieser Befehl wird verwendet, um einem WLAN-Netzwerk beizutreten.

Wie das ESP reagiert: OK sollte zurückgegeben werden, wenn das Modul mit dem Netzwerk verbunden wurde.

AT+CWJAP senden? über den seriellen Monitor

Mit diesem Befehl wird ermittelt, mit welchem Netzwerk der ESP aktuell verbunden ist.

Wie der ESP reagiert: Das Netzwerk, mit dem der ESP verbunden ist, wird zurückgegeben. Insbesondere +CWJAP:"SSID"

Senden Sie AT+CWQAP über den seriellen Monitor

Dieser Befehl wird verwendet, um die Verbindung zu dem Netzwerk zu trennen, mit dem das ESP derzeit verbunden ist.

Wie der ESP reagiert: Der ESP verlässt das Netzwerk, mit dem er verbunden ist, und gibt OK zurück.

Senden Sie AT+CIFSR über den seriellen Monitor

Mit diesem Befehl wird die IP-Adresse des ESP ermittelt.

Antwort des ESP: Die IP-Adresse des ESP wird zurückgegeben.

Schritt 13: Thingspeak

Dingspeak
Dingspeak
Dingspeak
Dingspeak
Dingspeak
Dingspeak
Dingspeak
Dingspeak

Wenn Sie noch kein Konto bei Thingspeak erstellt haben, erstellen Sie jetzt eines.

Nachdem Sie ein Konto bei Thingspeak erstellt haben, gehen Sie zu Apps>ThingTweet.

Verknüpfen Sie Ihren Twitter-Account damit.

Notieren Sie den generierten API-Schlüssel.

Nachdem die ThingTweet-App verwendet wurde, um ein Twitter-Konto mit Ihrem ThingSpeak-Konto zu verknüpfen, können Sie einen Tweet über die TweetContol-API senden.

Eine API (Anwendungsprogrammschnittstelle) ist ein Code, der es zwei Softwareprogrammen ermöglicht, miteinander zu kommunizieren.

Einige andere APIs, die Entwicklern zur Verfügung stehen, sind Google Maps API, Open Weather API usw.

Erst nachdem das ESP eingerichtet, überprüft und mit dem WLAN verbunden wurde (im Wesentlichen alle Schritte in den vorherigen 2 Schritten), führen Sie die folgenden Schritte durch

Schritt 14: Einige weitere AT-Befehle

Senden Sie AT+CIPMODE=0, über den seriellen Monitor

Wie der ESP antwortet: OK wird zurückgegeben.

Mit dem Befehl CIPMODE wird der Übertragungsmodus eingestellt.

0=normaler Modus

1=UART-WiFi-Passthrough-Modus

Senden Sie AT+CIPMUX=1 über den seriellen Monitor

Wie der ESP antwortet: OK wird zurückgegeben.

Der Befehl CIPMUX wird verwendet, um einzelne oder mehrere Verbindungen zu setzen.

0=Einzelverbindung

1=Mehrfachverbindung

Schritt 15: Einrichten der TCP-Verbindung

Einrichten der TCP-Verbindung
Einrichten der TCP-Verbindung
Einrichten der TCP-Verbindung
Einrichten der TCP-Verbindung

Beachten Sie, dass ab dem ersten Befehl, sobald Sie den ersten senden, die Verbindung nur für eine begrenzte Zeit hergestellt wird. Senden Sie die Befehle also so schnell wie möglich.

Senden Sie AT+CIPSTART=0, "TCP", "api.thingspeak.com", 80 über den seriellen Monitor

Antwort des ESP:Linked wird zurückgegeben, wenn die Verbindung hergestellt wurde.

Dieser Befehl wird verwendet, um eine TCP-Verbindung aufzubauen.

Die Syntax lautet AT+CIPSTART=Link-ID, Typ, Remote-IP, Remote-Port

wo

link ID=ID der Netzwerkverbindung (0~4), die für Mehrfachverbindungen verwendet wird.

type=string, "TCP" oder "UDP".

remote IP=string, remote IP address(Adresse der Website).

Remote-Port=String, Remote-Port-Nummer (normalerweise als 80 ausgewählt).

Senden Sie AT+CIPSEND=0, 110 über den seriellen Monitor

Wie der ESP reagiert:> (größer als) wird zurückgegeben, wenn der Befehl erfolgreich ist.

Dieser Befehl wird zum Senden von Daten verwendet.

Die Syntax lautet AT+CIPSEND=Link-ID, Länge

wo

link ID=ID der Verbindung (0~4), für Multi-Connect. Da CIPMUX auf 1 gesetzt wurde, ist 1.

length=Datenlänge, MAX 2048 Bytes. Wählen Sie im Allgemeinen eine große Zahl für die Länge.

Schritt 16: Senden des Tweets

Senden des Tweets
Senden des Tweets

Nun zum Senden des Tweets

Senden Sie GET /apps/thingtweet/1/statuses/update?api_key=yourAPI&status=yourtweet über den seriellen Monitor.

Ersetzen Sie yourAPI durch den API-Schlüssel und yourtweet durch einen beliebigen Tweet, den Sie wünschen.

Sobald Sie den obigen Befehl senden, drücken Sie die Eingabetaste (Return) in Intervallen von etwa 1 Sekunde. Nach einiger Zeit wird SEND OK, +IPD, 0, 1:1 und OK zurückgegeben, was bedeutet, dass der Tweet gepostet wurde.

Öffnen Sie Ihr Twitter und prüfen Sie, ob der Tweet gepostet wurde oder nicht.

Beachten Sie auch, dass der gleiche Tweet nicht wiederholt gesendet werden kann.

Der obige String, der gesendet wurde (GET….), ist eine

Die GET-Anfrage wird verwendet, um Daten vom angegebenen Server (api.thingspeak.com) abzurufen.

Schritt 17: Was danach zu tun ist

(Sehen Sie sich das Video in mindestens 360p an)

Gehen Sie zu diesem Repository, um den Code und die Schaltpläne herunterzuladen. Klicken Sie auf die Schaltfläche "Klonen oder Herunterladen" (grün auf der rechten Seite) und wählen Sie "ZIP herunterladen", um die ZIP-Datei herunterzuladen den Code und die Schaltpläne (im Schaltplanordner). Ich habe auch ein Cheatsheet hochgeladen, das alle AT-Befehle zusammenfasst, in dieses Repository.

Es gibt viele großartige Ressourcen im Internet, die sich mit ESP8266 befassen. Einige davon habe ich hier erwähnt:

  • Kevin Darrah-Videos.
  • ALLaboutEE-Videos.
  • esp8266.com

Sie können auch mehr mit AT-Befehlen experimentieren. Es gibt viele APIs, die im Internet verfügbar sind und alle möglichen Dinge tun können, wie zum Beispiel das Wetter, Aktienkurse usw.

Vollständige Dokumentation zum AT-Befehl

Außerdem arbeite ich gerade an einem Programm, das automatisch die Analogwerte eines Sensors twittert und ich werde es posten, sobald es richtig funktioniert.

Wenn Sie meine anweisbare Stimme dafür im Arduino-All-Dinge-Wettbewerb mochten.

Empfohlen: