beelogger

WLAN – ESP8266 Konfiguration

Konfiguration des ESP8266

Jeder neue ESP8266 muss einmalig für die Verwendung im beelogger vorbereitet werden. Die Baudrate muss dauerhaft auf 9600 Baud eingestellt werden. Dies erfolgt mit dem AT-Kommando: “AT+UART_DEF=9600,8,1,0,0” .

Hierzu steht für den beelogger-Universal und beelogger-Blue ein Konfigurationsprogramm zur Verfügung.
Diese notwendigen Bibliotheken sind im beelogger-Library-Paket enthalten.

Der Sketch für den beelogger-Universal: ESP Test / Setup 02.03.2021

Für den beelogger-Blue findet sich dieser Sketch im Sketch-Paket.

Die Konfiguration mit diesem Sketch erfolgt in zwei Schritten: Im ersten Schritt werden die Werkseinstellungen geladen und die Baudrate umgestellt, im zweiten werden diverse Abfragen an den ESP gestellt.
Zur Aktivierung der Werkseinstellung und Baudratenumstellung muss diese im Sketch konfiguriert werden:

#define ESP_Setup  1      // 0 oder 1;  0 = Test only, 1 = set ESP factory reset and baudrate set to 9600 Baud, followed by test

Die Universal-Platine mit der vorgesehenen Betriebsspannung versorgen.
beelogger-Universal (einfacher Aufbau) können über den USB-Anschluss des NANO versorgt werden.

Die Ausgabe des Sketch  im Monitor aktivieren:
Der Start der Konfiguration muss mit Eingabe eines “w” bestätigt werden.
Hier gezeigt die Ausgabe der Baudratenumstellung und des Funktionstest.

ESP Konfig 02.03.2021

weiter mit "w"

ESP Setup to 9600Bd
ESP Baudrate für Setup: 115200
Sende an ESP:
AT+RESTORE
AT+UART_DEF=9600,8,1,0,0 

ESP Test Begin
Baudrate: 9600Bd
Sende Abfrage Firmware/Version an ESP8266: 'AT+GMR'
AT+GMR
AT version:1.2.0.0(Jul  1 2016 20:04:45)
SDK version:1.5.4.1(39cb9a32)
Dec  2 2016 14:21:16
OK
Setze Betriebsart 'Station' in ESP8266
AT+CWMODE_DEF=1
OK
Sende suche Access Points an ESP8266: 'AT+CWLAP'
AT+CWLAP
+CWLAP:(3,"FRITZ!Box 7590 IE",-85,"dc:39:6f:33:7b:0f",1,25,0)
+CWLAP:(0,"Vodafone Hotspot",-90,"04:53:7c:0e:00:17",1,45,0)
+CWLAP:(0,"Vodafone Homespot",-91,"06:53:7c:0e:00:18",1,45,0)
+CWLAP:(3,"KDG-E0010",-90,"dc:53:7c:0e:00:15",1,45,0)
+CWLAP:(4,"Weltenbummler",-92,"ec:08:6b:78:82:4c",2,25,0)
+CWLAP:(3,"Spinnernetz",-95,"e0:60:66:85:07:d3",1,25,0)
+CWLAP:(0,"Telekom_FON",-89,"94:6a:b0:c5:0c:30",6,21,0)
+CWLAP:(3,"Vodafone-8816",-83,"4c:12:65:05:a9:41",6,38,0)
+CWLAP:(3,"Summ_summ",-50,"36:31:c4:f6:5a:86",13,8,0)
OK
... end ...
Hinweis: Die gezeigten Versionsnummern und Datum können abweichen.

Wenn diese Ausgabe erscheint, ist der ESP8266 auf 9600Bd umgestellt und kann verwendet werden.

Nach erfolgreicher Konfiguration kann mit dem Testprogrammcode, siehe Seite unten, die Verbindung zum Server überprüft werden.

 

Test-Programmcode

Der Testprogrammcode findet sich hier.

Libraries

Um die Kommunikation mit dem ESP8266 über AT-Befehle zu vereinfachen, wird auf eine Library zurück gegriffen. Diese ist enthalten im beelogger-Library-Paket

 

Alternativ besteht die Möglichkeit den ESP8266 ohne eine beelogger-Platine zu konfigurieren. Diese Vorgehensweise ist beim beelogger-SMD erforderlich.

Dafür verbindet man den ESP8266 wie unten gezeigt mit dem USB-Seriell-Adapter. Achtung: Den ESP8266 nur mit 3,3V betreiben!

Verdrahtung ESP8266 zu FTDI für Konfiguration

Um den ESP8266 zu programmieren, wird der ESP mit 6 Dupont/Jumper Female-Female-Kabeln angeschlossen. TX vom ESP wird mit dem RX des USB-Seriell-Adapter , RX vom ESP wird mit dem TX vom USB-Seriell-Adapter verbunden- dazu noch die Masse zwischen Board und USB-Seriell-Adapter. Außerdem muss noch der VCC und CH_PD-Pin mit 3,3 V  und der ESP8266-Masse-Pin mit Masse von einer externen Spannungsquelle (3,3V ca. 200mA) versorgt werden. Einige USB-Seriell-Adapter stellen eine 3,3V Ausgang zur Verfügung. Dieser liefert meist nicht ausreichend Strom um den ESP zu betreiben. 

ESP-8266 USB-Seriell-Adapter
GND GND
RX TX
TX RX

Dann öffnet man in der Arduino-Software unter Werkzeuge den seriellen Monitor.

Den Wert der Baudraten Einstellung auf “sowohl NL als auch CR” einstellen.

Jetzt die Spannungsversorgung einschalten. Wenn das ESP8266-Modul mit Strom versorgt wird, blinkt die blaue LED einmal kurz auf.

Nach dem Einschalten bzw. einem Reset (Reset-Pin des ESP kurz mit GND verbinden) sollte der ESP mit einer wilden Zeichenfolge und einem “ready” antworten. Ist dies nicht der Fall, muss die Baudrate getauscht werden und erneut ein Reset durchgeführt werden.

Mögliche Baudraten: 115200, 57600 oder 9600…

Ein “AT” senden…der ESP sollte mit “OK” antworten.

Danach ein “AT+GMR” senden. Der ESP8266 zeigt Informationen (Softwareversion) an. Beispiel:

AT+GMR
AT version:1.1.0.0(May 11 2016 18:09:56)
SDK version:1.5.4(baaeaebb)
compile time:May 20 2016 15:06:44
OK

Diese Information bitte kopieren und abspeichern für eventuelle Rückfragen.

Dann muss die Baudrate dauerhaft eingestellt werden: für ältere Firmwareversionen (siehe Beispiel oben): “AT+CIOBAUD=9600” für neuere Firmwareversionen (u.a. ab SDK Version 2.x): “AT+UART_DEF=9600,8,1,0,0

Dieses Kommando wird nicht durch “OK” quittiert, wenn die Baudrate vorher 57600 oder 115200 Bd war. Treten hier Fehler auf, so hat die Firmware des ESP8266 möglicherweise einen Stand vor 2016 und ist für den beelogger nicht geeignet. Ein Update ist möglich und wird von Espressif, Hersteller des ESP, beschrieben.

Nach Eingabe des Befehls ist der ESP8266 dauerhaft auf 9600 Baud eingestellt.

Zur Kontrolle die Baudrate im Monitor auf 9600 Baud stellen und einen Reset am ESP8266 ausführen oder den ESP8266 Aus- und wieder Einschalten.  Die “ready” Meldung muss im Monitor erscheinen. Der ESP8266 muss auf Senden von “AT” mit “OK” antworten. Als nächstes muss der ESP8266 in den Station-Modus umgeschaltet werden. Das Kommando “AT+CWMODE_DEF=1” senden. Es erfolgt die Quittung mit “OK“. Danach ist der ESP8266 für den beelogger einsatzbereit.

Hinweis: Bei einer Baudrate von 74880 zeigt der ESP8266 diverse Statusinformationen an.