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.

Een eenvoudige en iets veeleisendere manier wordt in dit artikel beschreven.


Veiligheidsinstructies

Ik weet dat de volgende opmerkingen altijd een beetje vervelend zijn en onnodig lijken. Helaas hebben veel mensen die "beter" wisten door onvoorzichtigheid ogen, vingers of andere dingen verloren of zichzelf verwond. Gegevensverlies is in vergelijking bijna te verwaarlozen, maar zelfs dit kan erg vervelend zijn. Neem daarom vijf minuten de tijd om de veiligheidsinstructies te lezen. Omdat zelfs het coolste project geen blessure of andere problemen waard is.
https://www.nerdiy.de/sicherheitshinweise/

Affiliate links / reclame links

De hier vermelde links naar online winkels zijn zogenaamde affiliate-links. Als u op zo'n affiliate-link klikt en via deze link een aankoop doet, ontvangt Nerdiy.de een commissie van de betreffende onlineshop of aanbieder. De prijs verandert voor jou niet. Als u via deze links uw aankopen doet, steunt u Nerdiy.de om in de toekomst andere nuttige projecten aan te kunnen bieden. 🙂 


Eisen

Vereist gereedschap:
-Nee-

Benodigd materiaal:
-Nee-


De 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.
Hoe je dat doet staat in het artikel Python - Esptool.py vertalen naar Esptool.exe beschreven.
Als alternatief kun je ook (iets oudere) voorbereide versies bekijken op

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

om op terug te vallen.

Voor de rest van dit artikel hoef je de esptool niet zelf te organiseren, maar kun je gewoon het esptool.exe bestand in de volgende Git gebruiken.


Een bestaand .bin-bestand overzetten met de esptool en de ESPEasy Flasher

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.

Dit is vaak moeilijk, vooral voor minder geavanceerde gebruikers, en bovendien is het gewoon onpraktisch.

Anderen hebben dit ook opgemerkt en zijn daarom aan de slag gegaan om het flashproces van de ESP8266 zo eenvoudig mogelijk te maken.

Je kunt een van deze resultaten vinden in de volgende Git-repository

https://github.com/BattloXX/ESPEasyFlasher

zoals altijd is er ook een back-up op de Nerdiy-Git:

https://github.com/Nerdiyde/ESPEasyFlasher

Naast de esptool.exe die hierboven genoemd is, is er ook een FlashESP8266.exe in deze Git repository. Deze werkt als een grafische gebruikersinterface, die de invoer met de muis vertaalt in prameters en een opdrachtregeloproep. Wat dit precies betekent wordt uitgelegd in de volgende paragraaf. De makkelijke manier begint hier 🙂

In het Git repository dat hierboven genoemd is, kun je de bestanden zien die in het Git repository zitten.
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 - Hoe kopieer ik bestanden van een Git-repository naar mijn computer
Nadat je het ZIP-bestand hebt gedownload, moet je het eerst uitpakken. Meer informatie hierover vind je in het artikel WinRar? WinZip? WinWat? - Schat ik heb de bestanden verkleind. In de uitgepakte map zou je dan de inhoud van de map moeten kunnen zien.
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…
...dezelfde directory waarin het .exe-bestand van de ESPEasy Flasher zich bevindt. Dit is de map waarin je eerder de programmabestanden van de esptool en Co hebt uitgepakt.
Nu kun je de ESPEasy Flasher starten door het bestand FlashESP8266.exe uit te voeren.
Het programma dat wordt geopend is heel eenvoudig. Je kunt de COM-poort selecteren waarop je je ESP hebt aangesloten. Verder ...
…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.

Een belangrijke opmerking: De lijst met beschikbare COM-poorten wordt alleen bijgewerkt wanneer de toepassing opnieuw wordt opgestart. Als je je ESP hebt aangesloten terwijl het programma al liep, moet je het programma opnieuw sluiten en opnieuw openen.


Esptool oproepen via de opdrachtregel

Zoals hierboven vermeld, kun je de esptool ook direct gebruiken om een bestaande binary over te zetten naar je ESP.

Gebruik hiervoor de opdrachtregel om esptool met de opgegeven parameters als volgt aan te roepen:

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.

Meer informatie:

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


Veel plezier met het project

Ik hoop dat alles werkte zoals beschreven. Zo niet, of als je vragen of suggesties hebt, laat het me weten in de commentaren. Ik zal dit dan zo nodig aan het artikel toevoegen.
Ideeën voor nieuwe projecten zijn altijd welkom. 🙂

PS Veel van deze projecten - vooral de hardwareprojecten - kosten veel tijd en geld. Natuurlijk doe ik dit omdat ik het leuk vind, maar als je het cool vindt dat ik de informatie met je deel, dan zou ik blij zijn met een kleine donatie aan het koffiefonds. 🙂

Koop Me a Coffee op ko-fi.com       

10 reacties

    1. Hallo Hans Joachim,
      kun je me daar wat meer informatie over geven? 🙂 Kun je bijvoorbeeld controleren of de driver voor de USB-naar-serieel-converter is geïnstalleerd? Welk bord heb je?
      De CH340G is op veel boards geïnstalleerd. Helaas is hiervoor onder Windows geen standaard driver voorgeïnstalleerd. Als u een apparaat in Apparaatbeheer hebt staan waaraan geen stuurprogramma kan worden toegewezen, probeer dan het stuurprogramma voor de CH340G. 🙂

  1. Dag iedereen,
    zeer goede instructies, herbouw gewoon de slotklok,
    Helaas, zoals hier beschreven, kan ik de "ESP_Easy_mega-20190803_custom_ESP8266_4M.bin" nergens vinden.
    Ik heb de ESPEasy git gedownload, maar kan dit .bin-bestand niet vinden.
    Is er iemand die mij kan helpen?

    Bij voorbaat bedankt

  2. Hallo Fab,

    coole site en nog coolere projecten! Ik ben hier voor het eerst... 🙂

    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?

    Groetjes Frans

    open boot projecten. org

    1. Hallo Frans,
      Bedankt en welkom. 🙂
      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.
      Start ESPEasy correct als u het installeert met de ESPEasy Flasher? Dus je ziet een uitvoer in de seriële console?
      Zo ja, dan kunt u proberen de wifi-toegangsgegevens via de seriële interface te configureren. Ik heb het hier (enigszins compact) beschreven: https://nerdiy.de/howto-espeasy-firmware-flashen/#WLAN-Zugangsdaten_ueber_die_serielle_Schnittstelle_konfigurieren
      Zo niet, laat het me weten en ik zal proberen het te reproduceren. 🙂
      Hartelijke groeten
      Fabian

Kommentar hinterlassen

Het e-mailadres wordt niet gepubliceerd. Erforderliche Felder sind mit * markiert


De verificatie periode van reCAPTCHA is verlopen. Laad de pagina opnieuw.