HowTo: ESP8266 – mit dem „Esptool“ .bin-Dateien unter Windows flashen

Das eigentliche flashen von Firmware-Datein wie .bin-Datein (auch „binarys“ genannt) auf den Wemos D1 Mini, das NodeMcu Dev-Board oder jegliches anderes Board, dass auf dem ESP8266 basiert, geschieht in der Arduino IDE komplett im Hintergrund.

Dahinter verbirgt sich nämlich eigentlich das von Espressif – dem Hersteller des ESP8266 – angebotene „esptool“. Mit den richtigen Parameter aufgerufen könnt Ihr damit auch ganz leicht fertige .bin-Dateien auf den ESP8266 übertragen.

Ein einfacher und einen etwas anspruchsvollerer Weg ist in diesem Artikel beschrieben.


Sicherheitshinweise

Ich weiß die folgenden Hinweise sind immer irgendwie lästig und wirken unnötig. Aber leider haben schon viele Menschen die es "besser" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese können echt ärgerlich sein. Deswegen nehmt Euch bitte fünf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen Ärger wert.
https://www.nerdiy.de/sicherheitshinweise/


Voraussetzungen

Benötigtes Werkzeug:
-keins-

Benötigtes Material:
-keins-


Das esptool

Die aktuelle Version des angesprochenen „esptool“ findet Ihr immer im GitHub des Herstellers unter:

https://github.com/espressif/esptool

„Problem“ dabei ist, dass dieses Tool eine Python Skript/Anwendung ist und somit nicht direkt/einfach unter Windows ausgeführt werden kann.

Praktischerweise lassen sich Python-Skripte aber auch zu einer kompakten .exe-Datei „zusammenpacken“. Dadurch wird auch die Handhabung unter Windows leichter.
Wie das geht ist in dem Artikel Python – Esptool.py in Esptool.exe übersetzen beschrieben.
Alternativ könnt Ihr auch auf (etwas ältere) vorbereitete Releases unter

https://github.com/igrr/esptool-ck/releases

zurückgreifen.

Für den weiteren Verlauf dieses Artikels müsst Ihr das esptool aber nicht selber organisieren sondern könnt auch einfach auf die esptool.exe Datei im folgenden Git zurückgreifen.


Eine vorhandene .bin-Datei mit dem esptool und dem ESPEasy Flasher übertragen

Wenn man lediglich mit dem esptool „bewaffnet“ eine .bin-File auf den ESP8266 übertragen will hat dies normalerweise zur Folge, dass man das esptool über die Kommandozeile und mit den entsprechenden Parametern aufrufen muss.

Dies ist gerade für nicht so fortgeschrittene Benutzer oft schwierig und davon abgesehen auch einfach unpraktisch.

Dies haben auch schon andere festgestellt und deshalb daran gearbeitet wie man den Flash-Prozess des ESP8266 so einfach wie möglich gestalten kann.

Eines dieser Ergebnisse findet Ihr im folgenden Git-Repository unter

https://github.com/BattloXX/ESPEasyFlasher

wie immer gibt es dazu auch einen Backup auf dem Nerdiy-Git:

https://github.com/Nerdiyde/ESPEasyFlasher

In diesem Git-Repository gibt es neben der angesprochenen esptool.exe auch noch eine FlashESP8266.exe. Letztere funktioniert dabei wie eine grafische Benutzeroberfläche, welche die mit der Maus getätigten Eingaben in Prameter und einen Kommandozeilen-Aufruf übersetzt. Was das genau bedeutet Ist im nächsten Absatz erklärt. Der einfache Weg startet genau hier. 🙂

Im angesprochenen Git-Repository könnt Ihr die Dateien sehen die im Git-Repository enthalten sind.
Um den Download der Dateien zu starten klickt Ihr auf den „Clone or Download“-Button und…
… dann auf „Download ZIP“. Weitere Infos zum Download von Dateien aus einem Git-Repository findet Ihr auch im Artikel GitHub – Wie kopiere ich Dateien aus einem Git-Repository auf meinen Computer
Habt Ihr die ZIP-Datei heruntergeladen, müsst Ihr diese nun zunächst entpacken. Infos dazu findet Ihr im Artikel WinRar? WinZip? WinWas? – Liebling ich habe die Dateien geschrumpft. In dem entpackten Ordner solltet ihr dann den abgebildeten Ordnerinhalt sehen können.
Nun habt Ihr alle benötigten Programmdatein zum flashen vorbereitet. Was Euch noch fehlt ist die .bin-Datei die Ihr auf Euren ESP übertragen wollt. Diese bekommt Ihr – Im Bild abgebildet – zum Beispiel aus dem Ordner „bin“ des ESPEasy-Gits. Sowohl dort als auch im Tasmota-Git werden fertig kompilierte „binarys“ (so nennt man die .bin-Dateien) vorbereitet und angeboten. Da diese binarys aber immer speziell für einen Controllertyp mit entsprechender Speichergröße und Konfiguration kompiliert wurden ist es hier wichtig die korrekte Datei auszuwählen. Für einen Wemos D1-Mini könnt Ihr zum Beispiel die Datei „ESP_Easy_mega-20190803_custom_ESP8266_4M.bin“ auswählen. Lasst euch dabei nicht davon irritieren, dass sich die Zahlenfolge zwischen „ESP_Easy_mega-“ und „_custom_ESP8266_4M.bin“ bei neueren Versionen ändert. Dieser Teil entspricht dem Datum an dem die binary erstellt wurde. Kopiert Euch nun die ausgewählte binary und fügt sie im…
…gleichen Verzeichnis ein in dem auch die .exe-Datei des ESPEasy Flashers liegt. Dies ist also das Verzeichnis in das Ihr zuvor die Programmdatein des esptools und Co entpackt habt.
Nun könnt Ihr den ESPEasy Flasher starten indem Ihr die FlashESP8266.exe-Datei ausführt.
Das nun geöffnete Programm ist sehr simpel gehalten. Es gibt dort die Möglichkeit den COM-Port auszuwählen an dem Ihr Euren ESP angeschlossen habt. Außerdem …
…könnt Ihr in dem Auswahl-Menü darunter die binary-Datei auswählen die Ihr auf Euren ESP übertragen wollt. Hier werden alle binarys aufgelistet, die sich in dem gleichen Ordner wie das Programm FlashESP8266.exe befinden. Deswegen findet Ihr hier auch die binary die Ihr zuvor aus dem „bin“-Ordner in den entpackten Programmordner kopiert habt.

Nun müsst Ihr nur noch auf den „Flash“-Button klicken und schon wird die ausgewählte binary auf Euren ESP übertragen.

Ein wichtiger Hinweis noch: Die Liste der verfügbaren COM-Ports wird erst durch einen Neustart der Anwendung aktualisiert. Habt Ihr also Euren ESP angeschlossen als das Programm schon gestartet war, müsst Ihr es noch einmal schließen und wieder neu öffnen.


Esptool über die Kommandozeile aufrufen

Wie angesprochen könnt Ihr das esptool auch direkt dazu nutzen eine vorhandene binary auf Euren ESP zu übertragen.

Dazu müsst Ihr mithilfe der Kommandozeile das esptool mit angegebenen parametern wie folgt aufrufen:

esptool.exe -vv -cd nodemcu -cb 921600 -cp COM32 -ca 0x00000 -cf C:ESPEasy.ino.bin
  • Dabei entspricht die Zahl „921600“ der Baudrate mit der Euer ESP programmiert wird. Dies kann von Modell zu Modell variieren. Typische Baudraten sind „9600“, „115200“ oder „921600“. Falls eine Baudrate nicht funktioniert könnt Ihr es auch einfach mit einer anderen probieren.
  • Der Teil „COM32“ enspricht dem COM-Port unter dem Euer angeschlossener ESP erreichbar ist.
  • „0x00000“ entspricht dem Speicherbereich ab dem die binary in den Speicher des ESP geschrieben werden soll. Für gewöhnlich solltet Ihr diesen Wert nicht verändern.
  • Wichtig ist nun noch der Teil „C:ESPEasy.ino.bin“ Hier muss der Pfad zu Eurer binary angegeben sein. Habt Ihr Eure binary auf Euer Laufwerk C: kopiert und „ESPEasy.ino.bin“ genannt, kann dieser Wert auch so bestehen bleiben.

Weiterführende Informationen:

https://github.com/arendst/Sonoff-Tasmota/wiki/Esptool


Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂

Fab

P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂

Buy Me a Coffee at ko-fi.com

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.