PowerShell esptool back upPowerShell esptool back up

Soms wil je voor de zekerheid even een back up maken van je huidige instellingen en versie van ESPEasy op je Wemos D1 mini. Met esptool schrijf je eenvoudig een bin bestand weg, welke je ook weer eenvoudig terug kunt schrijven naar een andere Wemos! Dit werkt natuurlijk ook als je gewoon een arduino sketch naar de wemos geflashed hebt. 

ESP8266

De Wemos D1 mini is een ESP8266 WiFi chip met serial converter op een compact bordje. Je hoeft alleen maar te verbinden met USB en eenmalig software te installeren (drivers). Werkt daarna volledig via WiFi. Gaat automatisch in flash mode enz.. Vergeet niet dat je een micro USB kabel nodig hebt.

Back up ESP8266 flash

Om esptool te laten werken heb je Python nodig. Installeer Python 2.7.15 op je pc. Vink tijdens de installatie de PATH functie aan.

Installeren van Python met PATH functie
Installeren van Python met PATH functie

Installeren Pyserial en ESPtool

Download esptool van Github door op clone or download te klikken en te kiezen voor Download ZIP. Pak de zip uit in een map na het downloaden.

Om Python met de esp8266 te laten communiceren hebben we ook pyserial nodig. Die kunnen we installeren met de volgende windows installer: Pyserial 2.7.

Ga naar de map waar je esptool uitgepakt hebt en klik met de rechtermuisknop terwijl je shift ingedrukt houdt op een leeg gedeelte van de map. Kies voor PowerShell venster hier openen.

Sluit je Wemos D1 mini aan via USB en zoek in Apparaatbeheer de COM poort op waarop ie is aangesloten. 

Apparaatbeheer CH340 driver ESP8266
Apparaatbeheer CH340 driver ESP8266

Geef in het Powershell venster het volgende commando (met je eigen COM poort):

python esptool.py --port COM4 --baud 115200 read_flash 0x000 4194304 backup-WemosD1mini-4096-ESPeasy.bin

Je  maakt nu een 4MB flashgeheugen back up (4194304 bytes).

Laat de back up voltooien totdat de Wemos zelf reset. Trek dan de USB kabel eruit.

PowerShell esptool back up
PowerShell esptool back up

Restore Wemos D1 mini backup

Om een back up te herstellen geef je het volgende commando in PowerShell

python esptool.py --port COM4 write_flash 0x000 backup-WemosD1mini-4096-ESPeasy.bin

Je geeft natuurlijk weer je juiste COM poort op en de juiste bestandsnaam in de huidige map.

Wat vond je van dit artikel?

Geef hieronder je stem via de sterren. Laat weten wat je vindt van het artikel en stel je vragen in de reacties!

Wat vond je van deze blogpost?

Klik op een ster om een beoordeling te geven!

Gemiddelde score 4.8 / 5. Aantal stemmen: 5

Er heeft nog niemand gestemd. Wees de eerste, het kost niets en geen registratie!

Jammer dat de post niet behulpzaam was.

Laten we deze post verbeteren!

Wat zou er beter kunnen?

Door Wouter

19 gedachten over “Wemos D1 mini flash back up en restore”
  1. Goede middag,
    Ik ben een absolute amateur op dit gebied.
    Ik heb 2 wemos d1.
    Op de eerste heb ik met heel veel moeite een werkende sketch gezet en geuploaded.
    Ik ben alles kwijt op mijn pc wat ik op Ć©Ć©n d1 heb geuploaded.
    Nu wil ik graag op een tweede werkend board de zelfde sketch zetten.
    1)Begrijp ik het goed dat het met uw uitleg gewoon mogelijk is?
    2) Als ik al de instructies letter volg is er totaal geen gevaar dat ik de sketch vh het originele board beschadig?
    3) Als ik dan de backup volgens uw instructies zet op de tweede wemos d1 zitten daar dan ook de gebruikte libraries bij?
    Alvast bedankt voor uw antwoorden

    1. Beste Jacques,

      Goed dat je je vragen even stelt als nog beginner bent op dit gebied!

      1) Ja dit is precies wat je hier doet. Je leest het flash geheugen uit van de wemos en slaat dat op als bin bestand op je pc.

      2) Dat lijkt me niet, maar garanties geef ik niet. Blijft eigen risico. Druk niet op knopjes, sluit alleen usb spanning aan, maak de wemos zo kaal mogelijk.

      3) Je schrijft precies wat je geback-upt hebt terug naar de nieuwe wemos. Geen andere handelingen nodig.

      Ik heb het zelf ook zo gedaan en toen ik het compileren van espeasy niet meer aan de praat kreeg.

      Er zullen ondertussen wel nieuwe versies van de software zijn voor de rest moet het gewoon nog steeds werken mijn inziens.

      Succes en groet Wouter

  2. goede morgen Wouter,
    ik heb twee vragen/opmerkingen.
    1) Als ik Pyserial 2.7 probeer te downloaden via uw link blokkeert Malware deze link. iets van Website heeft verdacht content”
    2) Als ik dan Pyserial uit het web probeer te downloaden krijg ik versie 3.5 maar moet ik kiezen uit 2 mogelijkheden: pyserial 3.5.tar.gz of pyserial 3.5-py2-none-any.whl

    Geen idee welke ik moet nemen.
    U?
    Alvast bedankt voor uw antwoord
    mvg

    1. Goedemorgen Jaques,

      Dat zal wel komen omdat mijn site niet erg bekend is en daarom niet standaard vertrouwd wordt met installatiebestanden.

      Je kunt, na installatie van Python, ook pyserial installen via pip. Pip is een package manager van Python.

      Die tar.gz is voor Linux en het whl bestand is volgens mij dat wat pip gebruikt.

      Op Linux is het misschien wel wat makkelijker dan op Windows maar dat ligt aan je skills..

      Groet Wouter

  3. Dat Malware. Ik dacht al zoiets.
    Ik ga het via pip proberen.
    Zal u op de hoogte houden van de resultaten.
    Bedankt voor uw prompte hulp/ antwoorden!
    Mvg
    Jacques

  4. Goede middag,
    Ter info::Als test heb ik 1 D1 helemaal leeg gemaakt (met voorbeelden “basic”) en op de andere heb ik de basic sketch “Blink”gezet.
    Ik heb het eea installed en was zover dat ik via Powershell instructions kon geven maar toen kwamen de volgende foutmeldingen:
    1)Pyserial is not installed for C:\Users\Jacques\AppData\local\Progams\Python\Phyton311\python.exe
    Ik heb de App installed. Wat doe ik fout?
    2) daaronder nog wat regels met “Traceback” en line numbers
    3) In uw uitleg “Powershell” schrijft u dat ik de juiste Port Com moet zetten ( dat is Com3) en vervolgens in het rood de baud 115200 en read_flash 0x000 4194304 etc..
    Moet er behalve de juiste Com port nog iets ingevuld worden bij die rode baud en read flash?
    En waar vind ik de gemaakte backup?
    4) Ik heb uiteraard nog niet geupload. Waar vind ik de juiste bestandsnaam?
    Ik neem aan dat het u nu wel duidelijk is dat ik een absolute beginner/amateur ben (73 jaar).
    IK waardeer uw hulp zeer en zie graag uw oplossingen.
    Bij voorbaat hartelijk dank
    mvg Jacques

    1. Dag Jaques,

      Klaarblijkelijk is pyserial nog niet geĆÆnstalleerd op de juiste manier. Zo te zien heb je Python 3 geĆÆnstalleerd, heb je dan ook pip voor python 3 en pyserial voor python 3 geĆÆnstalleerd?

      Onderstaand nog een instructie:
      https://gist.github.com/Miliox/a52dbf6bc82231104d81

      2) geeft de error aan waar het mis gaat, bij pyserial dus

      Het voorbeeld uit mijn blogpost is alles wat u moet doen / ingeven. De kleuren zijn puur opmaak en hebben geen functie.

      De backup vindt u in de map waarin u het script staat volgens mij. De juiste bestandsnaam voor uploaden is de bestandsnaam die u gebruikt bij het maken van de back up. In het geval van mijn voorbeeld dus backup-WemosD1mini-4096-ESPeasy.bin

      Erg veel respect dat u dit wilt proberen op uw leeftijd, ik kan mij voorstellen dat het meeste abracadabra is. Ik help u graag, dat is immers waarvoor ik de blogposts schrijf.

      Succes!

      Groet Wouter

  5. Goede middag…..
    WOW! het werkt (met de test WemosD1 mini’s)
    Ik had 1 wemos leeg gemaakt en de andere met de blinksketch (heel klein sketchje)
    Toen een backup gemaakt en daarna de backup terug gezet op de “lege Wemos.
    Hij flasht”dus het werkt.
    Ik ga morgen de Wemos van mijn werkende woordklok back-backuppen en op een lege Wemos zetten en dan terug zetten in de klok en eens kijken of die nieuwe dat ook werkt
    Toch nog 2 vragen:
    1) naam van de back up. Kan ik die noemen zoals ik wel zolang er maar .bin achter staat? Dus backup-Woordklok.bin zou goed zijn?
    2) de sketch van de woordklok is nogal aan de lange kant. ik dacht ergens 500 regels,
    Geeft dat een probleem?
    Verder zou ik u hartelijke willen bedanken voor uw hulp.
    Ik ben al een paar maanden bezig om 2 woordklokken extra te maken voor familie en kwam er (ook met behulp van de Arduino hulpdesk) niet uit.
    mvg Jacques

    1. Dat is goed nieuws! Blij dat u het voor elkaar heeft gekregen! Als de kleine sketch werkt, werkt de andere ook wel. Het complete flashgeheugen wordt gebackupt, dus ook de lege ruimte, de bin bestanden zijn ook zo rond de 4MB vermoed ik.

      Hoe heeft u uiteindelijk pyserial aan de praat gekregen?

      De naam van de back up maakt niet uit. Maak het niet te ingewikkeld met leestekens etc. Backup-Woordklok.bin lijkt me prima.

      Erg graag gedaan en samen komen we er wel uit, zo leer ik ook weer steeds iets bij. Ben nu wel erg benieuwd wat de woordklokken zijn.

      Groet Wouter

  6. De woordklok kan je vinden op Wilbia.nl/woordklok. Het is in principe gewoon een simpel maar leuk ding. De onderdelen die je nodig hebt per klok zijn zo ongeveer euro 15. In China nog goedkoper.( De fotolijstjes kocht ik in een kringloop winkel.)Alles staat op die site. Ik had moeilijkheden om op arduino alles te krijgen. Die sketch wordt niet meer gelezen met hogere versies van arduino IDE. Eindelijk had ik hem werkend gekregen en toen wilde ik er voor mijn kinderen (uitwonend) nog 2 maken. De klok loopt voor de tijd op wifi.Ik testte steeds bij mij thuis maar dat schijnt niet ( makkelijk) mogelijk te zijn met “timemaster” library zonder aanpassingen.
    Lang geprutst. Nu copy ik gewoon de sketch en zet de Wemos op de hardware en dan zou het bij iemand thuis ook moeten werken neem ik aan.
    Ik moet even zoeken hoe ik pyserial aan de praat gekregen heb. Dat hoort u nog.
    Mvg
    Jacques

  7. goede middag.
    uw vraag:::Hoe heeft u uiteindelijk pyserial aan de praat gekregen?
    Ik had alles wat ik gedownloaded had gedelete. Toen opnieuw begonnen. ik kreeg in powershell de melding dat physerial niet was geinstalleerd. De reden was dat ik alleen de zip file had en nog niet uitgepakt. ik denk dat ik dat voordien ook niet had gedaan
    Nogmaals dank voor uw hulp
    mvg
    jacques

    1. een beetje teleurgesteld zend ik u 2 screenshots
      bij het backuppen kwam hij met “detecting chiptype” etc (zie screenshot)
      Na een tijdje had hij volgens mij toch alles gedaan en toen ik up de lege Wemos alles terug zette kreeg ik “flash will be erased” maar wel “wrote 4194304 bytes etc.
      ik heb de Wemos in de klok gezet maar daar gebeurde er niets.
      Heeft u enig idee.
      zie screen shots
      mvg
      jacques

      1. Dag Jaques,

        De screenshots kan ik helaas niet zien, misschien even verzenden naar info@twoenter.nl dan kijk ik mee.

        Ik denk dat er misschien wel niks misgegaan is. Het flash geheugen van de aangesloten wemos wordt leeggemaakt en daarna is er circa 4MB naar het flash geschreven.

        Het kan dat het bin bestand leeg is, of dat er toch iets misgegaan is met wegschrijven naar de nieuwe wemos. Wellicht word ik wijzer van de screenshots.

        Groet Wouter

  8. De screenshots. Als u denkt dat het eea in orde zou moeten zijn zou ik nog het volgende kunnen doen: 1) voor de zekerheid herhaal ik de procedure
    2) ik verwissel de wemos met de werkende in de klok
    3) en kijk of de klok werkt op de WiFi thuis bij mijn dochter.
    Zoals eerder gezegd schijnt het met deze sketch niet mogelijk te zijn dat je twee klokken op Ć©Ć©n wifi net zet. Je ziet dan wel de verbindingsmogelijkheid … WordClock192.168.1 en 1 met andere cijfers. Ook niet als je Ć©Ć©n uit zet. Dat heb ik van het arduino forum.
    Ik wacht eerst uw oordeel af
    Alvast bedankt
    Mvg

  9. Beste Wouter,
    Problem solved! Weet niet wat ik fout gedaan had. Ik heb 1 wemos eerst weer leeg gemaakt ( basic sketch) en toen het origineel gecopied en op de lege wemos geschreven. Vervolgens gewisseld met die van de Klok. De instructies van wifi installation ( vd website van de klok) gevolgd en …het werkt! De klok startte en gaf de tijd. De tweede werkte niet.Ik denk dat de reden was dat deze niet was leeg gemaakt. Nu nog de ” hardware” op het shield solderen. Het grootste probleem is opgelost dankzij uw adviezen!
    Nogmaals hartelijk dank
    Mvg
    Jacques

Laat weten wat je van dit artikel vindt!

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.

%d bloggers liken dit: