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/
Affiliatelinks/Werbelinks
Die hier in aufgeführten Links zu Online-Shops sind sogenannte Affiliate-Links. Wenn Du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekommt Nerdiy.de von dem betreffenden Online-Shop oder Anbieter eine Provision. Für Dich verändert sich der Preis nicht. Falls Du Deine Einkäufe über diese Links tätigst unterstützt Du Nerdiy.de dabei auch in Zukunft weitere nützliche Projekte anbieten zu können. 🙂
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. 🙂
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
Viel Spaß mit dem Projekt
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. 🙂
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. 🙂
Hallo,
alles super, aber leider wird der COM-Port nicht erkannt. Kannst du mir bitte helfen.
Achim
Hallo Hans-Joachim,
kannst du mir ein paar mehr INfos dazu geben? 🙂 Kannst du zum Beispiel mal prüfen ob der Treiber für den USB-Seriell converter installiert ist? Welches Board hast du denn?
Auf vielen Boards ist der CH340G verbaut. Für diesen gibt es leider keinen vorinstallierten Standardtreiber unter Windows. Falls du bei dir im Geräte-Manager ein Gerät hast, dem kein Treiber zugeordnet werden kann, versuch es doch mal mit dem Treiber für den CH340G. 🙂
Hallo zusammen,
sehr gute Anleitung, baue gerade die Slotclock nach,
Finde nur, wie hier beschrieben, die „ESP_Easy_mega-20190803_custom_ESP8266_4M.bin“ leider nirgends.
Habe das ESPEasy-Git herunter geladen, finde jedoch nicht diese .bin-Datei.
Kann mir hier jemand weiterhelfen ?
Danke im voraus
Hey Lukas,
die hier gelistete bin Datei ist nur als Beispiel gedacht. 🙂 Aber die Bin Datei für die SlotClock findest du hier: https://github.com/Nerdiyde/pxlBlck/tree/main/plugin/bin
In dem Artikel https://nerdiy.de/howto-pxlblck-das-pxlblck-plugin-installieren-und-konfigurieren/ findest du auch noch mehr Infos dazu. 🙂
Beste Grüße
Fabian
Hallo,
wie ist da WLAN Kennwort für dieses image „ESP8266_4M_17.02.2021.bin“
Vielen Dank
Hi Jürgen,
Das sollte eigentlich das Standardpasswort sein („configesp“). Ansonsten kannst du die Zugangsdaten aber auch über die Serielle Schnittstelle konfigurieren. Infos dazu habe ich hier zusammengefasst: https://nerdiy.de/howto-espeasy-firmware-flashen/
Beste Grüße
Fabian
Das Tool liegt jetzt aber nicht mehr als .exe im Paket, sondern als .sln.
So einfach starten lässt sich dies jetzt leider nicht mehr.
Hey Enrico,
stimmt, in dem Backup von mir (der Link darunter: https://github.com/Nerdiyde/ESPEasyFlasher) ist die .exe Datei aber noch vorhanden. 🙂
Beste Grüße
Fabian
Hallo Fab,
coole Seite und noch coolere Projekte! Bin zum ersten mal hier… 🙂
Arbeite schön länger mit ESPeasy, kenne also die Standartplugins. Nun würde ich gern dein „HowTo: pxlBlck – pxlBlck_8x8“ umsetzen.
Allerdings kam beim Firmwareupdate OTA mit „ESP8266_ESPEasy_incl_pxlBlck_4M.bin“ sowas wie „Magic Bit is missing“ und wenn ich es per USB mit dem mit dem offiziellen ESPeasy Flasher mache, strahlt es anschließend keinen WLAN-AP aus. Kannst du mir sagen wo der Fehler liegt?
Grüße Franz
open-boat-projects. org
Hi Franz,
vielen Dank und herzlich willkommen. 🙂
Das Firmwareupdate via OTA klappt sehr wahrscheinlich nicht, weil die bin-Datei mit dem pxlBlck-Plugin zu groß für die meisten „Standard-Partitionen“ ist. Ich muss zugeben, dass ich die Installation per OTA noch nicht ausprobiert habe bzw. nutze und deswegen gar nicht soviel dazu sagen kann, sorry. :/ Müsste ich mir mal genauer angucken.
Startet ESPEasy denn korrekt wenn du es mit dem ESPEasy Flasher installierst? Also sieht du eine Ausgabe in der seriellen Konsole?
Falls ja könntest du mal probieren die Wifi Zugangsdaten über die serielle Schnittstelle zu konfigurieren. Ich habe das (etwas kompakt) hier beschrieben: https://nerdiy.de/howto-espeasy-firmware-flashen/#WLAN-Zugangsdaten_ueber_die_serielle_Schnittstelle_konfigurieren
Falls nicht gib mir gerne bescheid dann versuche ich das mal nachzustellen. 🙂
Beste Grüße
Fabian