Indholdsfortegnelse:

Gendan eller opgrader firmware på ESP8266 (ESP-01) modul ved hjælp af Arduino UNO: 7 trin
Gendan eller opgrader firmware på ESP8266 (ESP-01) modul ved hjælp af Arduino UNO: 7 trin

Video: Gendan eller opgrader firmware på ESP8266 (ESP-01) modul ved hjælp af Arduino UNO: 7 trin

Video: Gendan eller opgrader firmware på ESP8266 (ESP-01) modul ved hjælp af Arduino UNO: 7 trin
Video: SKR 1.4 - TMC2209 v1.2 2024, Juli
Anonim
Gendan eller opgrader firmware på ESP8266 (ESP-01) modul ved hjælp af Arduino UNO
Gendan eller opgrader firmware på ESP8266 (ESP-01) modul ved hjælp af Arduino UNO
Gendan eller opgrader firmware på ESP8266 (ESP-01) modul ved hjælp af Arduino UNO
Gendan eller opgrader firmware på ESP8266 (ESP-01) modul ved hjælp af Arduino UNO
Gendan eller opgrader firmware på ESP8266 (ESP-01) modul ved hjælp af Arduino UNO
Gendan eller opgrader firmware på ESP8266 (ESP-01) modul ved hjælp af Arduino UNO
Gendan eller opgrader firmware på ESP8266 (ESP-01) modul ved hjælp af Arduino UNO
Gendan eller opgrader firmware på ESP8266 (ESP-01) modul ved hjælp af Arduino UNO

ESP-01-modulet, som jeg brugte, kom oprindeligt med ældre AI Thinker-firmware, hvilket begrænser dets muligheder, da mange nyttige AT-kommandoer ikke understøttes.

Det er generelt en god idé at opgradere din firmware til fejlrettelser, og også afhængigt af de funktioner, der er nødvendige fra ESP -modulet, kan det være nødvendigt med et mere komplet sæt understøttede AT -kommandoer. Denne vejledning forklarer også, hvordan du gendanner eller blinker original Espressif -firmware, hvis du tilfældigvis ødelægger din ESP -firmware, f.eks. Gennem nogle forkerte AT -kommandoer. Dette er, hvad der skete, da jeg forsøgte at ændre standard baudhastigheden fra 115200 til 9600. Jeg brugte følgende kommando (baseret på en hurtig Google -søgning):

AT+IPR = 9600

Dette murede ESP-01-modulet. Ingen AT-kommandoer fungerede længere, hvilket fik mig til at undersøge mere, og efter mange timer fandt jeg endelig en måde at gendanne min ESP-01 og installere den nyeste kompatible firmware. Så jeg besluttede, at det var værd at dele hele processen.

Forsigtig: Baseret på min erfaring, vil jeg stærkt råde til ikke at bruge kommandoen AT+IPR til at ændre din baudhastighed, da det sandsynligvis vil kræve, at du blinker din firmware igen. Der er dog mange forskellige varianter af ESP-01-modulet med forskellige flashstørrelser og firmwareversion, så din oplevelse kan variere.

ESP-01-modulet er ikke 5 V-kompatibelt og kræver 3,3 V for at drive det, men også for at fungere korrekt på det logiske niveau. For at kommunikere med computeren har modulet desuden brug for en USB til seriel konverter. Så i stedet for at bruge en spændingsomformer og en USB til seriel adapter, besluttede jeg at vælge en enklere løsning. Da jeg allerede har en Arduino UNO, brugte jeg sidstnævnte til at drive ESP-01-modulet og etablere kommunikation mellem ESP-01 og computeren, der effektivt fungerede som en seriel bro.

Forbrugsvarer

  1. ESP-01 modul
  2. Arduino UNO (med USB -kabel)
  3. Jumper DuPont -ledninger
  4. Brødbræt

Trin 1: Trådforbindelser

Trådforbindelser
Trådforbindelser
Trådforbindelser
Trådforbindelser
Trådforbindelser
Trådforbindelser

Ledningsforbindelserne med Arduino UNO og ESP-01-modulet kan nemt laves ved hjælp af jumperkabler og et brødbræt. Forbindelserne mellem Arduino -udviklingskortet og ESP -modulet er beskrevet i tabellen. RX- og TX -forbindelserne er ikke omvendt i dette tilfælde, da kommunikationen ikke sker mellem Arduino- og ESP -modulet, men mellem ESP og computeren. Så i dette tilfælde bruges Arduino UNO-kortet som en seriel bro via sin indbyggede USB til serielle konverter.

RX-stifterforbindelsen mellem Arduino-kortet og ESP-modulet skal foretages via en spændingsdeler, da ESP-01 fungerer på 3,3 V logisk niveau og modtagelse af 5 V logisk niveau fra Arduino UNO kan beskadige ESP-modulet. Du kan bygge en simpel 3,3 V spændingsdeler ved hjælp af kun 2 modstande som vist på figuren. Eventuelt kan du bruge en logisk niveauomformer.

Forsigtig: Til min opsætning har jeg lige tilsluttet RX -benene direkte (ikke tilrådeligt!), Og alt fungerede, men hvis du beslutter dig for at opgive konvertering af logisk niveau, skal du fortsætte på egen risiko!

For at etablere en fælles jordforbindelse er Arduino UNO jordstift tilsluttet ESP -modulets jordstift.

Arduino UNO bruges til at levere 3,3 V strøm direkte til ESP -modulets VCC -pin. Tilslut 3,3 V -stiften til brødbrættet ved hjælp af en jumper wire, da 3,3 V ikke kun vil blive brugt til ESP's VCC -pin, men også ESP's CH_PD -pin for at aktivere ESP -chippen.

RESET-pin på Arduino UNO er forbundet til Ground for at omgå enhver kode, der uploades via Arduino, så koden i stedet sendes fra computeren til ESP-01.

Tabellen viser det fulde sæt af forbindelser til firmware, der blinker, men på dette stadium skal du ikke tilslutte ESP's Reset og GPIO_0 pins, da vi kun vil læse firmwareoplysningerne i det næste trin.

Trin 2: Kontroller firmwareversionen

Kontroller firmwareversion
Kontroller firmwareversion

For at finde din ESP-01 firmwareversion skal du skrive i Arduino IDE Serial Monitor:

AT+GMR

Bemærk: Alle AT -kommandoer skal indtastes med store bogstaver uden mellemrum.

Her er seriel output til min ESP-01 (dit ESP-modul viser muligvis ikke nøjagtig de samme oplysninger, som det afhænger af den specifikke model og udgivelsesdato):

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

For at opgradere til den nyeste officielle Espressif ESP8266EX firmware skal du gå til ressourceafsnittet på dets websted:

Bemærk: Listen over tilgængelig firmware er muligvis ikke alle kompatibel med din ESP-01-model. Se afsnittet Fejlfinding i slutningen af denne vejledning for at få flere oplysninger.

Trin 3: Forberedelse af opsætningen: Før firmware blinker

Forberedelse af opsætningen: Før firmware blinker
Forberedelse af opsætningen: Før firmware blinker

Nu vil vi forberede Arduino UNO til ESP-01 firmware-flashproceduren.

Sørg for, at Arduino RESET -ledningen er koblet fra jorden. TX- og RX-ledningerne fra Arduino UNO skal også afbrydes fra ESP-01-modulet.

Åbn Arduino IDE, og gå til Filer> Eksempler> 01. Basics> BareMinimum fra topmenuen. Upload skitsen til Arduino UNO. Denne tomme skitse vil sikre, at der ikke opstår kommunikationsforstyrrelser med ESP -modulet.

Tilslut RX- og TX-kablerne igen mellem UNO og ESP-01. Tilslut også UNOs RESET -pin til jorden.

CH_PD- eller CH_EN-stiften står for 'Chip Power-Down' eller 'Chip Enable', og den skal trækkes HØJ eller tilsluttes 3,3 V for at aktivere ESP-chippen.

To ekstra jumperkabler er nødvendige for følgende ESP -ben: GPIO_0 og RESET.

GPIO_2 bruges ikke og efterlades frakoblet.

ESP-01 skal indstilles i programmeringstilstand, så kode kan uploades til den. Men ESP-01 har ikke den nødvendige indbyggede ekstra hardware for at opnå dette direkte, så det hele skal tilsluttes separat. Til eget brug gad jeg ikke bruge switches, men i stedet brugte jeg bare to han-hun-jumperkabler, der var forbundet til GPIO_0 og RESET-benene på ESP-01-modulet og sluttede dem til brødbrættets fælles Ground pins fra Arduino UNO's Ground.

Inden den blinkende procedure påbegyndes, er GPIO_0 forbundet til jorden for hele den blinkende procedure for at aktivere programmeringstilstand.

RESET -stiften forbindes til jorden i et sekund og fjernes derefter. Dette gør det muligt at uploade den nye firmware.

Trin 4: Download blinkende værktøj og firmware

Download blinkende værktøj og firmware
Download blinkende værktøj og firmware

Firmwaren, der bruges, er fra Espressif, som er den originale producent af ESP8266 -chippen.

Gå til: https://www.espressif.com/en/products/hardware/esp8266ex/resources for at få adgang til de officielle værktøjer og AT -firmwarefiler.

Under fanen 'Værktøjer' skal du downloade Flash -downloadværktøjer (ESP8266 og ESP32), i øjeblikket er den seneste V3.6.8.

Under fanen 'AT' skal du downloade den nyeste kompatible AT-firmware, som er ESP8266 AT Bin V1.6.2 til min ESP-01-model. Det afhænger af ESP-01-modellen, da den kan have forskellig flashhukommelsesstørrelse. Du finder flere oplysninger om dette i afsnittet OPDATERET INFO i programmet Flash Download Tools efter at have klikket på START for at starte den blinkende procedure. Så hvis du ikke er sikker på flashstørrelsen eller hvilke firmwarefiler du skal vælge, skal du bare køre programmet for at få de korrekte oplysninger om dit ESP -modul.

Efter blinkende kan du bruge AT-kommandoer til at teste og arbejde med ESP-01. Download det officielle ESP8266 AT instruktionssæt:

Trin 5: Blinkende procedure

Blinkende procedure
Blinkende procedure
Blinkende procedure
Blinkende procedure
Blinkende procedure
Blinkende procedure
Blinkende procedure
Blinkende procedure

Udpak zip -downloadværktøjerne til Flash -downloadværktøjer, og åbn exe -filen. Sørg for at køre det som administrator, hvis du bruger Windows. Et DOS-vindue åbnes først, efterfulgt af et pop-up vindue. Vælg ESP8266 Download Tool. Dette åbner et vindue med flere konfigurerbare muligheder.

På dette tidspunkt henvises til skærmbilledet for at se præcis, hvilke muligheder der skal vælges, og hvad der skal indtastes i hex -kodeboksene ved siden af hver af de valgte firmwarefiler.

Bemærk: Vælg firmwarefiler i samme rækkefølge, da flashproceduren udføres i rækkefølge. Filen blank.bin skal vælges tre gange som vist i skærmbilledet AT -instruktionssæt.

For at finde de korrekte hex -koder eller adresser, skal du kontrollere det officielle AT -instruktionssæt -dokument. Jeg har vedhæftet et skærmbillede af tabellen, som jeg brugte til at blinke mit ESP -modul.

Derefter skal du bare trykke på START -knappen og se magien ske. Knappeteksten viser SYNC, og sektionen DETECTED INFO viser specifikationerne for dit ESP -modul. Derefter viser teksten DOWNLOAD, og statuslinjen aktiveres, når firmwarefilerne uploades til ESP -flashhukommelsen. Når proceduren for firmware -blink er udført, vil du se: FINISH.

Luk programmet Flash Download Tools. Dette er nødvendigt for at frigøre den serielle port for at tillade Arduino IDE Serial Monitor at overtage.

Afbryd ESP GPIO_0 -stiften fra jordforbindelse. Dette deaktiverer programmeringstilstand.

Tilslut RESET til jorden i 1 sekund, og afbryd derefter forbindelsen. Dette nulstiller modulet.

Åbn Arduino IDE. Vælg Værktøjer> Port> Vælg den korrekte COM -port i topmenuen. Åbn Serial Monitor, og vælg "Både NL & CR", og vælg baudrate på 115200, som er standard.

Type:

Hvis den blinkende procedure gik korrekt, vil svaret være:

Okay

For at bekræfte din nye firmware skal du skrive:

AT+GMR

Her er Serial Monitor output til min ESP-01:

AT+GMR

AT -version: 1.6.2.0 (13. apr. 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

Trin 6: Skift baudhastighed permanent

Skift baudhastighed permanent
Skift baudhastighed permanent

Denne del er valgfri. Standard baudhastigheden er 115200, men hvis du vil ændre den til en anden baudhastighed, kan du blot skrive følgende kommando i Arduino Serial Monitor.

For eksempel, hvis du vil ændre til 9600 baudrate / 8 databit / 1 stopbit / ingen paritetsbit / ingen flowkontrol.

Indtaste:

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

Svaret skal være:

Okay

Kommandoen ovenfor ændrer baudhastigheden permanent til 9600, men du kan vælge en hvilken som helst standard baudhastighed.

Trin 7: Fejlfinding

Fejlfinding
Fejlfinding
Fejlfinding
Fejlfinding

Hvis der er anomalier efter en vellykket blinking af firmwaren, f.eks. I Serial Monitor, efter at du har valgt standard baud rate på 115200 og skriver: AT, men ikke kan se noget svar, eller hvis du skriver AT+GMR og modtager andre andre oplysninger end firmwareversionsoplysningerne, så har du muligvis blinket den forkerte firmware. I så fald, i programmet Flash -downloadværktøjer, efter at du har trykket på START -knappen for at starte firmware -blinkproceduren, læser den grønne statusknap SYNC, og det er det trin, hvor ESP -moduloplysninger udtrækkes og gøres tilgængelige under DETEKTET INFO. Disse oplysninger er afgørende for at bestemme den rigtige firmware og de korrekte filer, der skal flashes.

Følgende er for mit ESP-01-modul:

flash -sælger:

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

Din DETekterede INFO afhænger af ESP-01-modellen. Men dette giver dig mulighed for at udlede den korrekte flashstørrelse. I mit ESP er det 8Mbit, hvilket svarer til 1 MB. Så det betyder, at jeg skal vælge 512 KB + 512 KB fra firmwarefilerne. Og det betyder også, at firmware 1.7.0 eller 1.7.1 ikke fungerer korrekt for mit ESP -modul, hvilket jeg også bekræftede ved at blinke disse firmware og teste. I beskrivelsen af 1.7.0 og 1.7.1 firmwaren på det officielle Espressif -ressourcewebsted er følgende oplysninger også angivet: "Begrænset af størrelsen på AT bin -filen understøttes kun '1024+1024 flash map' af Standard." 1024+1024 betyder, at det er til et ESP -modul med en samlet flashstørrelse på 2048 KB eller 2 MB.

Bemærk: Hvis du undrer dig, kan du nedgradere eller opgradere mellem forskellige firmwareversioner uden nogen begrænsninger. Hvis noget går galt, kan du bare blinke igen med forskellige parametre eller prøve en anden firmware.

Anbefalede: