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.

En este artículo se describe una manera simple y un poco más exigente.


Instrucciones de seguridad

Sé que las siguientes notas siempre son un poco molestas y parecen innecesarias. Desafortunadamente, muchas personas que sabían "mejor" han perdido ojos, dedos u otras cosas debido a un descuido o se lesionaron. La pérdida de datos es casi insignificante en comparación, pero incluso estos pueden ser realmente molestos. Por lo tanto, tómese cinco minutos para leer las instrucciones de seguridad. Porque incluso el proyecto más genial no vale la pena lesionarse u otros problemas.
https://www.nerdiy.de/sicherheitshinweise/

Enlaces afiliados / enlaces publicitarios

Los enlaces a las tiendas en línea enumerados aquí son los llamados enlaces de afiliados. Si hace clic en dicho enlace de afiliado y realiza una compra a través de este enlace, Nerdiy.de recibirá una comisión de la tienda en línea o el proveedor correspondiente. El precio no cambia para usted. Si realiza sus compras a través de estos enlaces, ayuda a Nerdiy.de a poder ofrecer otros proyectos útiles en el futuro. 🙂 


Requisitos

Herramienta requerida:
-No-

Material requerido:
-No-


la herramienta

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.
Cómo hacerlo está en el artículo. Python – Esptool.py in Esptool.exe übersetzen descrito.
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.

Puede encontrar uno de estos resultados en el siguiente repositorio de Git

https://github.com/BattloXX/ESPEasyFlasher

como siempre, también hay una copia de seguridad en 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 - ¿Cómo copio archivos de un repositorio de Git a mi computadora?
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


Diviértete con el proyecto.

Espero que todo te haya funcionado como se describe. Si no es así, o si tiene alguna pregunta o sugerencia, hágamelo saber en los comentarios. Si es necesario, lo añadiré al artículo.
Las ideas para nuevos proyectos siempre son bienvenidas. 🙂

PS Muchos de estos proyectos, especialmente los proyectos de hardware, cuestan mucho tiempo y dinero. Por supuesto que hago esto porque lo disfruto, pero si crees que es genial que comparta la información contigo, me encantaría hacer una pequeña donación al fondo del café. 🙂

Cómprame un café en ko-fi.com       

10s comentarios

    1. Hola Hans Joaquín,
      me puedes dar mas informacion al respecto 🙂 ¿Puedes, por ejemplo, verificar si el controlador para el convertidor de USB a serie está instalado? ¿Qué placa tienes?
      El CH340G está instalado en muchas placas. Desafortunadamente, no hay un controlador estándar preinstalado para esto en Windows. Si tiene un dispositivo en el administrador de dispositivos al que no se le puede asignar un controlador, pruebe con el controlador para el CH340G. 🙂

  1. Hola a todos,
    muy buenas instrucciones, solo reconstruya el reloj tragamonedas,
    Desafortunadamente, como se describe aquí, no puedo encontrar el "ESP_Easy_mega-20190803_custom_ESP8266_4M.bin" en ningún lado.
    Descargué ESPEasy git pero no puedo encontrar este archivo .bin.
    Alguien es capaz de ayudarme ?

    gracias de antemano

  2. Hola Fab,

    sitio genial y proyectos aún más geniales! Estoy aquí por primera vez... 🙂

    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?

    Saludos Franz

    Proyectos de embarcaciones abiertas. organización

    1. Hola Franz,
      Gracias y bienvenida. 🙂
      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.
      ¿ESPEasy arranca correctamente si lo instalas con ESPEasy Flasher? Entonces, ¿ves una salida en la consola serial?
      Si es así, podría intentar configurar los datos de acceso Wifi a través de la interfaz serie. Lo he descrito (algo compacto) aquí: https://nerdiy.de/howto-espeasy-firmware-flashen/#WLAN-Zugangsdaten_ueber_die_serielle_Schnittstelle_konfigurieren
      Si no, házmelo saber e intentaré reproducirlo. 🙂
      Atentamente
      Fabian

Kommentar hinterlassen

Tu dirección de correo electrónico no será publicada. Erforderliche Felder sind mit * markiert


El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.