Einen ESP8266 auf OS X mittels Python beschreiben / flashen

ESP8266 Anfänger Modul
ESP8266 Anfänger Modul

Je nach ESP8266 muss im Vorfeld das ESP8266 Modul durch die jeweiligen Hardware Einstellungen in den Flash Modus versetzt werden.

Entsprechende Anleitungen zum Anschliessen eines ESP8266 finden sich in unseren Datenblättern hier wie folgt:

Datenblatt zum ESP-07

Datenblatt zum ESP-01

Datenblatt zum ESP-12E

Datenblatt zum ESP-12F

Bis auf den ESP-01 funktionieren sämtliche ESP8266 Module nach dem gleichen Anschlussschema (auch ESP-201, ESP12,…).

Hinweis: Es wird häufig der Einsatz von 10KΩ Widerständen empfohlen, allerdings sind diese Werte bei manchen Modulen zu hoch. Aus Erfahrung sollten Widerstandswerte bis max. 4KΩ verwendet werden. Beim ESP-07 und bei dem neuen ESP-07S sowie dem ESP-12FS sollten 3,2 KΩ nicht überschritten werden.

Das NodeMCU Developmentboard Version 3 sowie das Anfänger Modul verfügen über eine Flash Taste die zum Beschreiben gedrückt werden muss. Nachdem der ESP8266 entsprechend vorbereitet und angeschlossen ist kann das Flashen beginnen.

Unter OS X mittels Python ESPTool und Terminal einen ESP8266 beschreiben

Vor dem Beschreiben eines ESP8266 wird zunächst die entsprechende Firmware benötigt. Die Firmware kann man sich kann man sich online mittels dem komfortablen Build Service erstellen oder aber NodeMCU Standard Firmware (1351 Downloads) .

Die nodemcu-master???.bin wiederum der Einfachheit wegen, wieder in den zuvor erstellten Ordner esptool verschieben.

Nun sind alle Vorbereitungen zum Flashen eines ESP8266 abgeschlossen und das jeweilige ESP8266 Modul kann nun wie folgt beschrieben werden.

1.Den Terminal, zu finden unter Launchpad→Andere→Terminal starten.

2.Im Terminal durch die Eingabe

cd esptool

gefolgt von ↵ (enter) in den Ordner esptool wechseln. Nach erfolgtem Wechsel gibt der Terminal folgende Ausgabe zurück

Mac-Name:esptool Benutzername$

3.Falls der USB TTL Konverter noch nicht angesteckt ist muss dieser im Vorfeld der nächsten Terminal Eingabe eingesteckt werden. Durch die Eingabe

ls /dev/tty.*

werden nun die aktiven USB Schnittstellen angezeigt, beispielsweise

/dev/tty.Bluetooth-Incoming-Port /dev/tty.wchusbserialfd3110

Typischerweise ist der USB TTL Konverter durch /dev/tty.???serial??? gekennzeichnet

4.Um nun den ESP8266 zu beschreiben muss der ESP8266

mit Spannung versorgt sein

sich im Flash Modus befinden GPIO0 ist mit GND über einen Widerstand verbunden, bzw. beim NodeMCU Board bzw. Anfänger Modul die Flash Taste 1 mal gedrückt werden

über die UART Schnittstelle mit RX und TX über kreuz verbunden sein (RX vom USB TTL Konverter auf TX Pin des ESP8266 und TX vom USB TTL Konverter auf den RX Pin des ESP8266

Durch die Eingabe der folgenden Zeile, allerdings muss

die Schnittstelle des USB TTL Konverters entsprechend geändert werden

auf die jeweilige nodemcu-master.bin Datei verwiesen werden

python esptool.py --port /dev/tty.wchusbserialfd3110 -b 115200 write_flash 0x00000 nodemcu-master.bin

durch ↵ (enter) wird dann das Flashen des ESP8266 ausgelöst. Zunächst  erscheint der Aufruf der esptool.py Datei

esptool.py v1.2-dev

Die Verbindung zum ESP8266 wird aufgebaut

Connecting...

Die jeweiligen Flash Parameter werden zurückgegeben

Running Cesanta flasher stub...
Flash params set to 0x0000

Es erscheint die fortlaufende Anzeige des Flashvorgangs

Writing 405504 @ 0x0... 129760 (32 %)

Wurde das Beschreiben des ESP8266 erfolgreich abgeschlossen erscheint die Statusmeldung beispielsweise wie folgt

Wrote 405504 bytes at 0x0 in 35.2 seconds (92.2 kbit/s)...

Schlussendlich wir die Verbindung zum ESP8266 wieder unterbrochen

Leaving...

Der ESP8266 wurde erfolgreich beschrieben und wäre nun durch ein Reset einsatzbereit. Bevor man jedoch zum UART / seriellen Betrieb eines ESP8266 Modul übergeht sollte man sich die grundlegende Funktionsweise des ESPTool hier im Detail betrachten.