Het daadwerkelijk flashen van firmwarebestanden zoals .bin-bestanden (ook wel “binaries” genoemd) naar de Wemos D1 Mini, het NodeMcu Dev-bord of een ander bord gebaseerd op de ESP8266 gebeurt volledig op de achtergrond in de Arduino IDE.
Hierachter zit eigenlijk de “esptool” aangeboden door Espressif – de fabrikant van de ESP8266. Met de juiste parameters kunt u eenvoudig voltooide .bin-bestanden overbrengen 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
U kunt de huidige versie van de betreffende “esptool” altijd vinden in de GitHub van de fabrikant op:
https://github.com/espressif/esptool
Het “probleem” hierbij is dat deze tool een Python-script/applicatie is en daarom niet direct/gemakkelijk onder Windows kan draaien.
Praktisch gezien kunnen Python-scripts ook worden “verpakt” in een compact .exe-bestand. Dit maakt de bediening ook onder Windows eenvoudiger.
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 u gewoon een .bin-bestand “gewapend” met de esptool naar de ESP8266 wilt overbrengen, betekent dit meestal dat u de esptool via de opdrachtregel en met de juiste parameters moet oproepen.
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 hoeft u alleen maar op de knop “Flash” te klikken en het geselecteerde binaire bestand wordt naar uw ESP overgebracht.
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 nummer “921600” komt overeen met de baudrate waarop uw ESP is geprogrammeerd. Dit kan per model verschillen. Typische baudrates zijn “9600”, “115200” of “921600”. Als de ene baudrate niet werkt, kunt u eenvoudig een andere proberen.
- Het onderdeel “COM32” komt overeen met de COM-poort waaronder uw aangesloten ESP bereikbaar is.
- “0x00000” komt overeen met het geheugengebied van waaruit het binaire bestand naar het ESP-geheugen moet worden geschreven. Normaal gesproken moet u deze waarde niet wijzigen.
- Nu is het onderdeel “C:ESPEasy.ino.bin” belangrijk. Hier moet het pad naar uw binaire bestand worden opgegeven. Als u uw binaire bestand naar uw C:-station hebt gekopieerd en het “ESPEasy.ino.bin” hebt genoemd, kan deze waarde blijven zoals deze 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,
wat is het WiFi-wachtwoord voor deze afbeelding “ESP8266_4M_17.02.2021.bin”
Heel erg bedankt
Hallo Jürgen,
Dit zou eigenlijk het standaardwachtwoord moeten zijn (“configesp”). Anders kunt u de toegangsgegevens ook via de seriële interface configureren. Ik heb de informatie hierover 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 lang met ESPeasy, dus ik ken de standaard plugins. Nu wil ik jouw “HowTo: pxlBlck – pxlBlck_8x8” implementeren.
Tijdens de OTA-firmware-update met “ESP8266_ESPEasy_incl_pxlBlck_4M.bin” kwam er echter zoiets als “Magic Bit ontbreekt” naar voren en als ik het via USB doe met de officiële ESPeasy-flasher, zendt het 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 “standaardpartities”. Ik moet eerlijk bekennen dat ik de installatie via OTA nog niet geprobeerd of gebruikt heb en er dus nog niet veel over kan zeggen, sorry. :/ Ik zou het eens nader 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