beelogger

beelogger – WLAN-Shield (ESP8266-01)

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. Der ESP8266 wird dazu auf ein Shield aufgesteckt.

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 ESP-01 ist kompatibel mit beelogger-Universalbeelogger-Blue und beelogger-SMD!

Bild Bezugsquelle Preis ab Suchbegriffe*  Bemerkungen
  eBay 1,80€ ESP8266-01S auf 01S-Version achten!!!
 beelogger Solar Shield Platine eBay 6,00€ (5 Stück)

Lochrasterplatine 5×7 doppelseitig

oder

Lochrasterplatine 4×6 doppelseitig

Lochrasterplatine 5×7, Lötpads auf beiden Seiten

oder

Lochrasterplatine 4×6, Lötpads auf beiden Seiten

  eBay 1,10€ (10 Stück) pin header long Lange Pinleiste
  eBay 1,00€ (10 Stück) adapter SO-8 optionale Adapterplatine für den MOSFET auf 2,54 mm Rastermaß

*Einkaufstipps

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.

Dafür verbindet man den ESP8266-01(S) wie unten gezeigt mit dem USB-Seriell-Adapter. Eine Spanungsversorgung kann wegen des Strombedarfs des ESP8266 nicht über den USB-Seriell-Adapter erfolgen. Achtung: Den ESP8266-01(S) nur mit 3,3V betreiben!

Verdrahtung ESP8266 zu FTDI für Konfiguration

Beim beelogger-SMD zuerst über den USB-Seriell-Adapter den beeloger-Test-ESP Sketch laden. Dieser schaltet den TPS ein und damit stehen die 3.3V für den nächsten Schritt zur Verfügung.

 

Für die Verbindung zum USB-Seriell-Adapter werden die beiden Jumper gezogen und Masse, RX und TX mit 3 Dupont/Jumper Female-Female-Kabeln mit dem USB-Seriell_Adapter verbunden.

 

Shield 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 für den beelogger herstellen. Wenn das ESP8266-Modul mit Strom versorgt wird, blinkt die blaue LED einmal kurz auf.

Nach dem Einschalten bzw. einem Reset des beelogger sollte der ESP mit einer wilden Zeichenfolge und einem “ready” antworten. Ist dies nicht der Fall, muss die Baudrate im Monitor geändert 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 version:1.2.0.0(Jul 1 2016 20:04:45)
SDK version:1.5.4.1(39cb9a32)
Dec 2 2016 14:21:16

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

Es empfiehlt sich mit “AT+RESTORE” den ESP auf Werkseinstellungen zurück zu setzen.
Danach ist die Baudrate meist auf 115200Baud umgestellt.

Die Baudrate muss 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. Nach Eingabe des Befehls ist der ESP8266 dauerhaft auf 9600 Baud eingestellt. 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.

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.

 

Beschaltung für das Shield:

Zuerst muss man beachten, dass der ESP8266-01(S) zwingend mit 3.3V versorgt werden muss und RX/TX-Pins ebenfalls maximal 3,3V vertragen. Laut seinem Datenblatt variiert die Stromstärke des ESP8266 abhängig vom Betriebszustand (Empfangen, Tiefschlaf, etc.) und erreicht seinen Höchstwert bei etwa 215 mA. Beim beelogger-SMD wird der Strom vom TPS62260 geliefert.

Grundsätzlich sind folgende Verbindungen vorzunehmen.

beelogger-SMD ESP8266-01(S)
3,3V VCC
GND GND
A2 RST
D8 TX
D9 RX
3,3V CH_PD
  GPIO 0
  GPIO 2

Beschaltung und Aufbau für den Beelogger-SMD

Es gibt 2 Möglichkeiten (auf 5×7 oder 4×6 Lochrasterplatine) das WLAN-Shield für den beelogger-SMD aufzubauen.  Die Anschlüsse sind selbstverständlich gleich. Der ESP8266 sollte so auf dem Shield positioniert werden, dass seine Antenne soweit möglich über das Shield hinaus ragt, damit der Empfang nicht durch das Lochraster der Platine des Shields beeinträchtigt wird.

Die Verbindungen können einfach mit einem (verzinnten) Kupferdraht angelegt werden.

Um ohne Probleme trotz aufgestecktem GSM-Shield den USB-Seriell-Adapter verbinden zu können, sollten bei einer 5×7-Platine die Buchsen für ‘Reset’ und ‘D2’ (‘Taster’) des beelogger-SMD nicht durch das Shield belegt werden. Hierdurch bleibt der FTDI-Header zugänglich und wird nicht von der Lochrasterplatine verdeckt.

beelogger Solar GSM Pinleiste

Vor dem Verlöten der Pinleisten ist bei der Ausrichtung der Lochrasterplatine darauf zu achten, dass die Schraubklemmen möglichst auf beiden Seiten zugänglich bleiben. Dies erleichtert die Arbeiten am beelogger-SMD.

Auf einer doppelseitigen Platine können die Verbindungen sehr schnell mit Kupferdraht vorgenommen werden. Wichtig dabei ist, dass die Leitungen mit zusätzlichen Lötpunkten fixiert werden, damit es zu keinem Kurzschluss kommen kann.

WLAN-Shield (4×6-Platine):

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

Die Voraussetzung hierfür ist ein über das Internet erreichbarer Webserver mit installierten Webserver-Skripten für den jeweiligen beelogger-Typ. Auch muss der beelogger-SMD-Akku noch mindestens eine Spannung von 3.7V zur Verfügung stellen.

Der Testprogrammcode findet sich hier.