beelogger

beelogger-Universal – WLAN (ESP8266-01)

beeloggger Universal Platine erweiterter Aufbau bestückt in der Variante mit HX711 und WLAN Modul

beeloggger Universal Platine bestückt in der Variante mit HX711 und WLAN Modul, DS3231 nicht aufgesteckt

Das ESP8266 WiFi-Modul ist ein extrem günstiger eigenständiger SoC mit integriertem TCP / IP-Protokoll, der jedem Mikrocontroller Zugriff auf ein WiFi-Netzwerk geben kann. Damit ist es möglich das bestehende beelogger-System mit WLAN statt Mobilfunk auszustatten.

Bezug


Es gibt einige ESP8266-Module am Markt. Wir haben uns für das einfachste Modell ESP8266-01S entschieden. Die ESP8266-01S-Version hat im Unterschied zum ESP8266-01 1MB Flash-Speicher (statt 500kB), keine Power-LED (spart Strom) und kommt mit schwarzer Platine (statt blau) daher.

Der ESP8266-01 ist kompatibel mit beelogger-Universal und beelogger-Solar!

Bild Bezugsquelle Preis ab Suchbegriffe*  Bemerkungen
  eBay 1,80€ ESP8266-01S am besten auf 01S-Version achten!!!

*Einkaufstipps

 

Beschaltung und Aufbau:

Für die Verwendung des ESP-Moduls sind die Buchsenleisten und der Kondensator 100uF einzubauen, im Bild gelb markiert.
Der 1000uF Kondensator und die Zenerdiode entfällt.

Universal für Bestückung mit ESP8266

Der ESP8266 wird auf den Steckplatz der beelogger-Universal-Platine aufgesteckt.

Vorbereitung des ESP8266-01(S)

Zunächst muss jeder neue ESP8266-01(S) 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 ein Konfigurationsprogramm zur Verfügung. Es benötigt die AltSoftSerial-Library. Diese ist im beelogger-Library-Paket enthalten.

ESP Test / Setup 02.03.2021

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-Anschlu 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 ESP auf 9600Bd umgestellt und kann verwendet werden.

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

Alternativ besteht die Möglichkeit den ESP ohne die beelogger-Universal Platine zu konfigurieren.

Dafür verbindet man den ESP8266-01(S) wie unten gezeigt mit dem USB-Seriell-Adapter. Achtung: Den ESP8266-01(S) 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.

Libraries

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

Test-Programmcode

Der Testprogrammcode findet sich hier.