Het eigenlijke flashen van firmwarebestanden zoals .bin-bestanden (ook wel "binaries" genoemd) naar de Wemos D1 Mini, het NodeMcu dev board of een ander board gebaseerd op de ESP8266 gebeurt volledig op de achtergrond in de Arduino IDE.
Dit is eigenlijk de "esptool" die wordt aangeboden door Espressif - de fabrikant van de ESP8266. Met de juiste parameters kun je eenvoudig afgewerkte .bin-bestanden overzetten naar de ESP8266.
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
Je kunt altijd de huidige versie van de "esptool" vinden in de GitHub van de fabrikant:
https://github.com/espressif/esptool
Het "probleem" hier is dat dit hulpprogramma een Python-script/toepassing is en dus niet direct/eenvoudig onder Windows kan worden uitgevoerd.
In de praktijk kunnen Python-scripts echter ook worden "ingepakt" in een compact .exe-bestand. Dit maakt het ook gemakkelijker om onder Windows te gebruiken.
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
Als je alleen een .bin bestand wilt overbrengen naar de ESP8266 "gewapend" met de esptool, betekent dit meestal dat je de esptool moet aanroepen via de opdrachtregel en met de bijbehorende parameters.
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 🙂









Nu hoef je alleen nog maar op de knop "Flash" te klikken en de geselecteerde binary wordt overgezet naar je ESP.
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
- Het getal "921600" komt overeen met de baudrate waarop je ESP is geprogrammeerd. Dit kan per model verschillen. Typische baudrates zijn "9600", "115200" of "921600". Als een baudrate niet werkt, kun je gewoon een andere proberen.
- Het deel "COM32" komt overeen met de COM-poort waaronder de aangesloten ESP bereikbaar is.
- "0x00000" komt overeen met het geheugenbereik van waaruit de binary naar het ESP-geheugen moet worden geschreven. Normaal gesproken moet je deze waarde niet veranderen.
- Nu is het gedeelte "C:ESPEasy.ino.bin" belangrijk. Hier moet je het pad naar je binary invoeren. Als je je binary naar je C: station hebt gekopieerd en het "ESPEasy.ino.bin" hebt genoemd, kan deze waarde blijven zoals hij is.
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. 🙂
Hallo,
Alles is geweldig, maar helaas wordt de COM-poort niet herkend. Kan je me alsjeblieft helpen.
Achim
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. 🙂
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
Hé Luke,
het hier vermelde bin-bestand is alleen bedoeld als voorbeeld. 🙂 Maar je kunt het Bin-bestand voor de SlotClock hier vinden: https://github.com/Nerdiyde/pxlBlck/tree/main/plugin/bin
In het artikel https://nerdiy.de/howto-pxlblck-das-pxlblck-plugin-installieren-und-konfigurieren/ je kunt er meer informatie over vinden. 🙂
Hartelijke groeten
Fabian
Hallo,
hoe is er wifi-wachtwoord voor deze afbeelding "ESP8266_4M_17.02.2021.bin"
Heel erg bedankt
Hallo Jürgen,
Dit zou eigenlijk het standaardwachtwoord ("configesp") moeten zijn. Anders kunt u de toegangsgegevens ook via de seriële interface configureren. Ik heb de informatie hier samengevat: https://nerdiy.de/howto-espeasy-firmware-flashen/
Hartelijke groeten
Fabian
De tool zit niet meer als .exe in het pakket, maar als .sln.
Helaas is het niet meer zo eenvoudig om te beginnen.
hoi enrico,
rechts, in mijn back-up (de onderstaande link: https://github.com/Nerdiyde/ESPEasyFlasher) het .exe-bestand is er nog steeds. 🙂
Hartelijke groeten
Fabian
Hallo Fab,
coole site en nog coolere projecten! Ik ben hier voor het eerst... 🙂
Ik werk al heel lang met ESPeasy, dus ik ken de standaard plug-ins. Nu wil ik uw "HowTo: pxlBlck - pxlBlck_8x8" implementeren.
Tijdens de firmware-update OTA met "ESP8266_ESPEasy_incl_pxlBlck_4M.bin" kwam er echter iets als "Magic Bit is missing" naar voren en als ik het via USB doe met de officiële ESPeasy Flasher, zendt het daarna geen WLAN AP uit. Kunt u mij vertellen waar de fout zit?
Groetjes Frans
open boot projecten. org
Hallo Frans,
Bedankt en welkom. 🙂
De firmware-update via OTA zal hoogstwaarschijnlijk niet werken omdat het bin-bestand met de pxlBlck-plug-in te groot is voor de meeste "standaard partities". Ik moet toegeven dat ik de installatie via OTA nog niet heb geprobeerd of gebruik en er dus nog niet veel over kan zeggen, sorry. :/ Ik zou het beter moeten bekijken.
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