Innehållsförteckning:

Återställ eller uppgradera firmware på ESP8266 (ESP-01) -modul med Arduino UNO: 7 steg
Återställ eller uppgradera firmware på ESP8266 (ESP-01) -modul med Arduino UNO: 7 steg

Video: Återställ eller uppgradera firmware på ESP8266 (ESP-01) -modul med Arduino UNO: 7 steg

Video: Återställ eller uppgradera firmware på ESP8266 (ESP-01) -modul med Arduino UNO: 7 steg
Video: LDmicro 6: Макетная схема Arduino nano (лестничное программирование ПЛК микроконтроллера с помощью LDmicro) 2024, November
Anonim
Återställ eller uppgradera firmware på ESP8266 (ESP-01) -modul med Arduino UNO
Återställ eller uppgradera firmware på ESP8266 (ESP-01) -modul med Arduino UNO
Återställ eller uppgradera firmware på ESP8266 (ESP-01) -modul med Arduino UNO
Återställ eller uppgradera firmware på ESP8266 (ESP-01) -modul med Arduino UNO
Återställ eller uppgradera firmware på ESP8266 (ESP-01) -modul med Arduino UNO
Återställ eller uppgradera firmware på ESP8266 (ESP-01) -modul med Arduino UNO
Återställ eller uppgradera firmware på ESP8266 (ESP-01) -modul med Arduino UNO
Återställ eller uppgradera firmware på ESP8266 (ESP-01) -modul med Arduino UNO

ESP-01-modulen som jag använde kom ursprungligen med äldre AI Thinker-firmware, vilket begränsar dess möjligheter eftersom många användbara AT-kommandon inte stöds.

Det är i allmänhet en bra idé att uppgradera din firmware för felkorrigeringar och även beroende på de funktioner som behövs från ESP -modulen kan det krävas en mer komplett uppsättning stödda AT -kommandon. Denna handledning förklarar också hur du återställer eller blinkar original Espressif -firmware om du råkar förstöra din ESP -firmware, till exempel genom några fel AT -kommandon. Detta är vad som hände när jag försökte ändra standardöverföringshastigheten från 115200 till 9600. Jag använde följande kommando (baserat på en snabb Google -sökning):

AT+IPR = 9600

Detta murade ESP-01-modulen. Inga AT-kommandon fungerade längre, vilket fick mig att göra mer forskning och efter många timmar hittade jag äntligen ett sätt att återställa min ESP-01 och installera den senaste kompatibla firmware. Så jag bestämde mig för att det var värt att dela hela processen.

Varning: Baserat på min erfarenhet rekommenderar jag starkt att inte använda kommandot AT+IPR för att ändra din överföringshastighet eftersom det troligtvis kommer att kräva att du blinkar om din inbyggda programvara. Det finns dock många olika varianter av ESP-01-modulen med olika blixtstorlek och fabriksversion av firmware, så din upplevelse kan variera.

ESP-01-modulen är inte 5 V-kompatibel och kräver 3,3 V för att driva den men också för att fungera korrekt på logisk nivå. För att kommunicera med datorn behöver modulen dessutom en USB till serieomvandlare. Så, istället för att använda en spänningsomvandlare och en USB till seriell adapter, bestämde jag mig för att välja en enklare lösning. Eftersom jag redan har en Arduino UNO, använde jag den senare för att driva ESP-01-modulen och upprätta kommunikation mellan ESP-01 och datorn, som effektivt fungerar som en seriebro.

Tillbehör

  1. ESP-01-modul
  2. Arduino UNO (med USB -kabel)
  3. Bygel DuPont -trådar
  4. Bakbord

Steg 1: Kabelanslutningar

Trådanslutningar
Trådanslutningar
Trådanslutningar
Trådanslutningar
Trådanslutningar
Trådanslutningar

Kabelanslutningarna med Arduino UNO- och ESP-01-modulen kan enkelt göras med hjälp av bygelkablar och en brödbräda. Anslutningarna mellan Arduino -utvecklingskortet och ESP -modulen beskrivs i tabellen. RX- och TX -anslutningarna är inte omvända i detta fall, eftersom kommunikationen inte sker mellan Arduino- och ESP -modulen utan mellan ESP och datorn. Så, i det här fallet används Arduino UNO-kortet som en seriebro via sin inbyggda USB till serieomvandlare.

RX-stiftanslutningen mellan Arduino-kortet och ESP-modulen bör göras via en spänningsdelare, eftersom ESP-01 fungerar på 3,3 V logisk nivå och mottagning av 5 V logiknivå från Arduino UNO kan skada ESP-modulen. Du kan bygga en enkel 3,3 V spänningsdelare med endast 2 motstånd som visas i figuren. Alternativt kan du använda en logisk nivåomvandlare.

Varning: För min installation kopplade jag precis RX -stiften direkt (inte tillrådligt!) Och allt fungerade, men om du bestämmer dig för att avstå från konverteringen på logisk nivå, fortsätt på egen risk!

För att upprätta en gemensam jordanslutning är Arduino UNO jordstift ansluten till ESP -modulens jordstift.

Arduino UNO används för att ge 3,3 V ström direkt till ESP -modulens VCC -stift. Anslut 3,3 V -stiftet till brödbrädan med en bygelkabel, eftersom 3,3 V kommer att användas inte bara för ESP: s VCC -stift utan även ESP: s CH_PD -stift för att aktivera ESP -chipet.

RESET-stiftet på Arduino UNO är anslutet till Ground för att kringgå alla koder som laddas upp via Arduino så att koden istället skickas från datorn till ESP-01.

Tabellbilden visar hela uppsättningen anslutningar för firmware som blinkar, men i detta skede ansluter du inte ESP: s Återställ och GPIO_0 stift eftersom vi bara kommer att läsa firmware -informationen i nästa steg.

Steg 2: Kontrollera firmwareversion

Kontrollera firmwareversion
Kontrollera firmwareversion

För att hitta din firmware-version av ESP-01 skriver du i Arduino IDE Serial Monitor:

AT+GMR

Obs! Alla AT -kommandon måste skrivas med stora bokstäver utan mellanslag.

Här är serieutgången för min ESP-01 (din ESP-modul kanske inte visar exakt samma information som den beror på den specifika modellen och utgivningsdatum):

AT+GMR

AT-version: 0.25.0.0 (5 juni 2015 16:27:16) SDK-version: 1.1.1 Ai-Thinker Technology Co. Ltd. 23 juni 2015 23:23:50 OK

För att uppgradera till den senaste officiella Espressif ESP8266EX -firmware, gå till resursavsnittet på webbplatsen:

Obs! Listan över tillgänglig firmware kanske inte alla är kompatibel med din ESP-01-modell. Mer information finns i avsnittet Felsökning i slutet av den här självstudien.

Steg 3: Förbereda installationen: Innan fast programvara blinkar

Förbereda installationen: Innan fast programvara blinkar
Förbereda installationen: Innan fast programvara blinkar

Nu kommer vi att förbereda Arduino UNO för ESP-01 firmware-blinkande procedur.

Se till att Arduino RESET -kabeln är frånkopplad från jord. TX- och RX-ledningarna från Arduino UNO måste också kopplas bort från ESP-01-modulen.

Öppna Arduino IDE och från den översta menyn, gå till Arkiv> Exempel> 01. Basics> BareMinimum. Ladda upp skissen till Arduino UNO. Denna tomma skiss kommer att säkerställa att ingen kommunikationsstörning uppstår med ESP -modulen.

Anslut RX- och TX-kablarna mellan UNO och ESP-01 igen. Anslut också UNO: s RESET -stift till jord.

CH_PD- eller CH_EN-stiftet står för 'Chip Power-Down' eller 'Chip Enable' och det måste dras HÖG eller anslutas till 3,3 V för att ESP-chipet ska kunna aktiveras.

Två extra bygelkablar behövs för följande ESP -stift: GPIO_0 och RESET.

GPIO_2 används inte och lämnas frånkopplad.

ESP-01 måste ställas in i programmeringsläge så att kod kan laddas upp till den. Men ESP-01 har inte den nödvändiga extra hårdvaran ombord för att uppnå detta direkt, så allt måste anslutas separat. För eget bruk brydde jag mig inte om att använda omkopplare, utan använde istället helt enkelt två han-hona-kablar som är anslutna till GPIO_0- och RESET-stiften på ESP-01-modulen och kopplade dem till brödbrädans gemensamma jordstift från Arduino UNOs mark.

Innan den blinkande proceduren påbörjas, är GPIO_0 ansluten till Ground för hela blinkande proceduren för att aktivera programmeringsläget.

RESET -stiftet är anslutet till Ground i en sekund och tas sedan bort. Detta gör att den nya firmware kan laddas upp.

Steg 4: Ladda ner Flashing Tool och Firmware

Ladda ner Flashing Tool och Firmware
Ladda ner Flashing Tool och Firmware

Firmware som används är från Espressif som är originaltillverkaren av ESP8266 -chipet.

Gå till: https://www.espressif.com/en/products/hardware/esp8266ex/resources för att komma åt de officiella verktygen och AT -firmware -filer.

Under fliken "Verktyg", ladda ner Flash -nedladdningsverktygen (ESP8266 och ESP32), den senaste är V3.6.8.

Under fliken "AT", ladda ner den senaste kompatibla AT-firmware, som är ESP8266 AT Bin V1.6.2 för min ESP-01-modell. Det beror på ESP-01-modellen eftersom den kan ha olika flashminnesstorlek. Du hittar mer information om detta i avsnittet DETEKTERAD INFO i programmet Flash Download Tools efter att du har klickat på START för att börja blinka. Så om du inte är säker på flashstorleken eller vilka firmware -filer du ska välja, kör bara programmet för att få rätt information om din ESP -modul.

Efter blinkning kan du använda AT-kommandon för att testa och arbeta med ESP-01. Ladda ner den officiella ESP8266 AT-instruktionsuppsättningen:

Steg 5: Blinkande procedur

Blinkande procedur
Blinkande procedur
Blinkande procedur
Blinkande procedur
Blinkande procedur
Blinkande procedur
Blinkande procedur
Blinkande procedur

Extrahera zip -nedladdningsverktygen för Flash Download Tools och öppna exe -filen. Se till att köra den som administratör om du använder Windows. Ett DOS-fönster öppnas först, följt av ett popup-fönster. Välj ESP8266 Download Tool. Detta öppnar ett fönster med flera konfigurerbara alternativ.

I detta skede hänvisar du till skärmdumpen för att se exakt vilka alternativ du ska välja och vad du ska skriva i hex -kodrutorna bredvid var och en av de valda firmware -filerna.

Obs! Välj firmware -filer i samma ordning eftersom flashproceduren utförs i följd. Filen blank.bin måste väljas tre gånger, vilket visas i skärmdumpen för AT -instruktioner.

För att hitta rätt hex -koder eller adresser, kontrollera det officiella AT -instruktionsuppsättningsdokumentet. Jag har bifogat en skärmdump av tabellen som jag använde för att blinka min ESP -modul.

Sedan är det bara att trycka på START -knappen och se hur magin händer. Knapptexten visar SYNK och sektionen DETEKTERAD INFO visar specifikationerna för din ESP -modul. Därefter visas texten DOWNLOAD och statusfältet aktiveras när firmware -filer laddas upp till ESP -flashminnet. När den fasta programvaran blinkar kommer du att se: SLUTA.

Stäng programmet Flash Download Tools. Detta är nödvändigt för att frigöra serieporten så att Arduino IDE Serial Monitor kan ta över.

Koppla bort ESP GPIO_0 -stiftet från jordanslutningen. Detta inaktiverar programmeringsläget.

Anslut RESET till Ground i 1 sekund och koppla sedan bort. Detta kommer att återställa modulen.

Öppna Arduino IDE. Välj Verktyg> Port> på den översta menyn> välj rätt COM -port. Öppna Serial Monitor och välj "Både NL & CR" och välj överföringshastighet på 115200 som är standard.

Typ:

Om den blinkande proceduren gick korrekt blir svaret:

OK

För att verifiera din nya firmware, skriv:

AT+GMR

Här är seriell bildskärmsutgång för min ESP-01:

AT+GMR

AT -version: 1.6.2.0 (13 april 2018 11:10:59) SDK -version: 2.2.1 (6ab97e9) kompileringstid: 7 juni 2018 19:34:26 Bin -version (Wroom 02): 1.6.2 OK

Steg 6: Ändra överföringshastigheten permanent

Ändra överföringshastigheten permanent
Ändra överföringshastigheten permanent

Denna del är valfri. Standardöverföringshastigheten är 115200 men om du vill ändra den till en annan överföringshastighet kan du helt enkelt skriva följande kommando i Arduino Serial Monitor.

Till exempel, om du vill ändra till 9600 baud rate / 8 databitar / 1 stoppbitar / ingen paritetsbit / ingen flödeskontroll.

Skriv in:

AT+UART_DEF = 9600, 8, 1, 0, 0

Svaret bör vara:

OK

Kommandot ovan ändrar överföringshastigheten permanent till 9600 men du kan välja vilken som helst av standardhastigheterna.

Steg 7: Felsökning

Felsökning
Felsökning
Felsökning
Felsökning

Om det finns några avvikelser efter framgångsrik blinkning av den fasta programvaran, till exempel i Serial Monitor, efter att du valt standard överföringshastigheten 115200 och skriver: AT men inte ser något svar eller om du skriver AT+GMR och får någon annan annan typ av information än firmwareversionsinformationen, då kanske du har blinkat fel firmware. I så fall, i programmet Flash Download Tools, efter att du har tryckt på START -knappen för att påbörja den fasta programvaran, blinkar den gröna knappen SYNC och det är steget där ESP -modulens information extraheras och görs tillgänglig under DETECTED INFO. Denna information är avgörande för att bestämma rätt firmware och rätt filer som ska blinka.

Följande är för min ESP-01-modul:

flash -leverantör:

E0h: N/A flash devID: 4014h QUAD; 8Mbit kristall: 26 Mhz

Din DETEKTERADE INFO beror på modellen ESP-01. Men detta gör att du kan utläsa rätt blixtstorlek. I mitt ESP är det 8Mbit vilket motsvarar 1 MB. Så det betyder att jag ska välja 512 KB + 512 KB från firmware -filerna. Och det betyder också att firmware 1.7.0 eller 1.7.1 inte fungerar korrekt för min ESP -modul, vilket jag också bekräftade genom att blinka dessa firmware och testa. I beskrivningen av 1.7.0 och 1.7.1 firmware på den officiella Espressif -resurswebbplatsen finns följande information listad: "Begränsad av storleken på AT -bin -filen stöds endast '1024+1024 flash map' av standard." 1024+1024 betyder att det är för en ESP -modul med en total blixtstorlek på 2048 KB eller 2 MB.

Obs! Om du undrar kan du nedgradera eller uppgradera mellan olika firmwareversioner utan några begränsningar. Om något går fel kan du bara blinka igen med olika parametrar eller prova en annan firmware.

Rekommenderad: