beelogger

WLAN – ESP8266 Konfiguration

Jeder neue ESP8266 muss einmalig für die Verwendung im beelogger vorbereitet werden. Der Betriebsmodus und die Baudrate müssen dauerhaft eingestellt werden.

Setup- und Test-Programmcode

ESP8266-Setup-/Test
Für Systeme mit STM32-Microcontrollern (beelogger-STM32) steht ein separates Konfigurationsprogramm zur Verfügung.

Die Beschreibung des 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

 

Vorbereiten des Aufbaus für die Konfiguration:

beelogger-Universal 2.x:

Bei Universal Platine 2.x wird der USB-Seriell Adapter zur Konfiguration des ESP8266 verwendet.
Ablauf:
Bitte Akku entfernen.
Der ESP8266 wird auf die Universal Platine 2.x aufgesteckt.
Der ProMini wird entfernt.
Die Brücke +5V nach D4, wie in der Inbetriebnahme, herstellen.
Den USB-Serial-Wandler wie folgt verdrahten:

Universal-Platine 2.x
ProMini Buchsenleiste
USB-Seriell – Wandler  
GND GND  
D9 RX  
D8 TX  
A2  mit D4 oder +5V verbinden    

Akku einsetzen, ggf. J-1 stecken.

Konfiguration durchführen,
danach Akku entfernen, Verdrahtung entfernen, ProMini aufstecken,
Test- und/oder Betriebssketche laden

 

beelogger-Universal 1.x:

Für die Konfiguration beim beelogger-Universal kann der Arduino-Nano verwendet werden.
Alternativ besteht die Möglichkeit den ESP8266 ohne eine beelogger-Platine mit einem USB-Seriell-(FTDI)Adapter zu konfigurieren, Beschreibung unten auf dieser Seite.

Am Arduino-NANO wird der USB-Stecker abgezogen, der NANO und soweit möglich andere Module von der Universal-Platine abgenommen.
Es werden zwischen Arduino-NANO und der Universal-Platine, z.B. mit Jumper-Wire, folgende Verbindungen hergestellt.

Universal-Platine
Buchsenleiste NANO
NANO Aderfarbe im Bild
GND GND schwarz
D9 RX, D0 gelb
D8 TX, D1 orange
A2 A2 
(im Bild ist die Brücke auf 3,3V des Nano)
lila
D4 D4 grün
+5V (Nano) +5V rot

Der ESP8266 wird auf der Universal Platine aufgesteckt.

Universal Platine am der Batterie-Anschluß mit Spannung versorgen, z.B. via Akku-Shield, J-1 stecken.

Den Nano über den USB-Anschluß anschliessen und den Sketch “Universal_Sleep” laden.
Damit wird beim NANO Pin D4 und Pin A2 auf High gesetzt und der ATmega in den LowPower-Mode versetzt.
Das NANO Modul arbeitet quasi wie ein USB-Seriell-Converter.


beelogger-SMD / – STM32:

Für den Fall, dass die Konfiguration mit dem STM32 ESP Setup-Sketch nicht erfolgreich ist,
hier die alternative Methode.

Die Konfiguration erfolgt über den USB-Seriell-(FTDI)Adapter, der auch für den Download der Sketche verwendet wird.
Die Verdrahtung der Signale und Aktivierung Spannung/ ESP-Reset-Pin mit Drahtbrücken in den Buchsenleisten herstellen,
den geladenen Akku einlegen, ggf. Jumper stecken.

beelogger-Black Platine ohne STM32-Modul mit Verbindungen für die Konfiguration des ESP8266

beelogger-Black Platine mit Verbindungen für die Konfiguration des ESP8266

 

Konfiguration des ESP8266 über einen USB-Seriell-(FTDI)-Adapter:

Diese Vorgehensweise ist beim beelogger-SMD erforderlich.
Bei anderen beeloggern als Option möglich.

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

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. Hierzu kann die beelogger-Platine mit aktivierter Spannungsversorgung vwerwendet werden.
Einige USB-Seriell-Adapter stellen eine 3,3V Ausgang zur Verfügung. Dieser liefert meist nicht ausreichend Strom um den ESP zu betreiben.
 

Verdrahtung ESP8266 zu FTDI für Konfiguration

ESP-8266 USB-Seriell-Adapter
GND GND
RX TX
TX RX
Reset  –  nicht beschaltet
+3,3V  extern versorgen


 Konfiguration des ESP8266:

In der Arduino-Software wird unter Werkzeuge der seriellen Monitor geöffnet, die Baudrate auf 115200 gesetzt und “sowohl NL als auch CR” parametrieren.
Hinweis: In Arduino-IDE 2.x muss zur Nutzung des Seriell Monitor ein Board ausgewählt werden.

Mit Eingabe von AT im Monitor (Eingabezeile neben “Senden”) sollte der ESP8266 mit “OK” antworten.
Wenn nicht, dann andere Baudrate “9600, 19200, 38400, 57600, 74880” testen.
Nach jedem Baudratenwechsel braucht es einen Reset des ESP, z.B. beim Aufbau mit dem Nano über den Reset-Taster, trennen und wieder verbinden von A2 oder bei Aufbau mit USB-Seriell-Wandler Reset kurzzeitig auf 0V/GND legen.
Hinweis: Bei einer Baudrate von 74880 zeigt der ESP8266 diverse Statusinformationen an.

Wenn die Antwort “OK” erfolgt ist, dann

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.
ESP8266 mit älteren Firmwareversionen benötigen ein Firmwareupdate.

Zur Konfiguration des ESP8266 sind nacheinander folgende Befehle einzugeben:
Parametrieren auf den Station-Mode:
–  “AT+CWMODE_DEF=1”  oder “AT+CWMODE=1

Hinweis: Die AT-Kommandos AT+CWMODE und AT+CWJAB sind je nach ESP-Firmware unterschiedlich implementiert.
Ist zum Umstellen auf Station-Mode  AT+CWMODE=1 erforderlich, dann muss auch die beelogger_ESP_(STM)-Bibliothek angepasst werden.
In der Lib ist in der ESP_(STM_)beelogger.h in der Zeile mit dem Befehl: AT+CWJAB_CUR dass “_CUR” zu entfernen.

Das Auflisten der verfügbaren AccessPoints kontrolliert das erfolgreiche umstellen in den Station-Mode:
–  “AT+CWLAP”
Diese Kommando werden durch “OK” quittiert.

–  “AT+UART_DEF=9600,8,1,0,0
Dieses Kommando wird, je nach Firmwareversion, durch “OK” quittiert.

Nach Eingabe des Befehls ist der ESP8266 dauerhaft auf 9600 Baud eingestellt.
Damit die Einstellung wirksam wird, soll der ESP8266, von der Spannung getrennt werden.
Das Umstellen der Baudrate kann durch Einstellen von 9600 Baud im Arduino-Monitor und Eingabe eines AT-Befehls kontrolliert werden.
Der “AT” bei 9600 Baud muss mit “OK” vom ESP8266 quitiert werden.

Alternativ kann der ESP8266 mit “AT+RESTORE” vollständig zurück gesetzt werden. Dann ist die oben beschriebene Einstellung zu wiederholen.
Ggf. auch mit dem RX/TX-Testsketch die grundsätzliche Funktion des Pegelwandlers testen.

Treten in o.g. Ablauf Fehler auf, so hat die Firmware des ESP8266 möglicherweise einen Stand vor 2016 oder eine Firmware ohne AT-Befehlerweiterung und ist für den beelogger nicht geeignet.
Ein Update ist möglich und wird von Espressif, Hersteller des ESP, beschrieben.
Nach einem Firmwareupdste unbedingt den ESP8266 mit “AT+RESTORE” initialisieren.

Für einen Funktionstest mit 9600 Baud steht ein Sketch “ESP Check” oder der “WLAN-Test-Sketch” zu Verfügung.