Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Ledningstilkoblinger
- Trinn 2: Kontroller fastvareversjonen
- Trinn 3: Forberede oppsettet: Før fastvaren blinker
- Trinn 4: Last ned blinkende verktøy og fastvare
- Trinn 5: Blinkende prosedyre
- Trinn 6: Endre baudhastigheten permanent
- Trinn 7: Feilsøking
Video: Gjenopprett eller oppgrader fastvare på ESP8266 (ESP-01) -modul ved bruk av Arduino UNO: 7 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
ESP-01-modulen som jeg brukte, kom opprinnelig med eldre AI Thinker-fastvare, noe som begrenser mulighetene siden mange nyttige AT-kommandoer ikke støttes.
Det er generelt en god idé å oppgradere fastvaren din for feilrettinger, og også avhengig av funksjonalitetene som trengs fra ESP -modulen, kan det være nødvendig med et mer komplett sett med støttede AT -kommandoer. Denne opplæringen forklarer også hvordan du gjenoppretter eller blinker original Espressif -fastvare hvis du skulle ødelegge ESP -fastvaren din, for eksempel gjennom noen feil AT -kommandoer. Dette er det som skjedde da jeg prøvde å endre standard overføringshastighet fra 115200 til 9600. Jeg brukte følgende kommando (basert på et raskt Google -søk):
AT+IPR = 9600
Dette muret ESP-01-modulen. Ingen AT-kommandoer fungerte lenger, noe som fikk meg til å forske mer, og etter mange timer fant jeg endelig en måte å gjenopprette ESP-01 og installere den nyeste kompatible fastvaren. Så jeg bestemte meg for at det var verdt å dele hele prosessen.
Forsiktig: Basert på min erfaring, vil jeg sterkt anbefale å ikke bruke kommandoen AT+IPR for å endre baudhastigheten din, da det mest sannsynlig vil kreve at du blinker fastvaren på nytt. Det er imidlertid mange forskjellige varianter av ESP-01-modulen med forskjellig blitsstørrelse og fastvareversjon fra fabrikken, så opplevelsen din kan variere.
ESP-01-modulen er ikke 5 V-kompatibel og krever 3,3 V for å drive den, men også for å fungere skikkelig på logisk nivå. For å kommunisere med datamaskinen trenger modulen i tillegg en USB til serieomformer. Så, i stedet for å bruke en spenningsomformer og en USB til seriell adapter, bestemte jeg meg for å velge en enklere løsning. Siden jeg allerede har en Arduino UNO, brukte jeg sistnevnte til å drive ESP-01-modulen og etablere kommunikasjon mellom ESP-01 og datamaskinen, og fungerte effektivt som en seriell bro.
Rekvisita
- ESP-01-modul
- Arduino UNO (med USB -kabel)
- Jumper DuPont -ledninger
- Brødbrett
Trinn 1: Ledningstilkoblinger
Ledningsforbindelsene med Arduino UNO og ESP-01-modulen kan enkelt gjøres ved hjelp av hoppekabler og et brødbrett. Tilkoblingene mellom Arduino -utviklingskortet og ESP -modulen er beskrevet i tabellen. RX- og TX -tilkoblingene er ikke reversert i dette tilfellet, siden kommunikasjonen ikke skjer mellom Arduino- og ESP -modulen, men mellom ESP og datamaskinen. Så, i dette tilfellet, brukes Arduino UNO-kortet som en seriell bro via den innebygde USB til serieomformeren.
RX-pinneforbindelsen mellom Arduino-kortet og ESP-modulen bør gjøres gjennom en spenningsdeler, siden ESP-01 opererer på 3,3 V logisk nivå og mottak av 5 V logisk nivå fra Arduino UNO kan skade ESP-modulen. Du kan bygge en enkel 3,3 V spenningsdeler med bare 2 motstander som vist på figuren. Eventuelt kan du bruke en logisk nivåomformer.
Advarsel: For mitt oppsett, koblet jeg nettopp RX -pinnene direkte (ikke tilrådelig!) Og alt fungerte, men hvis du bestemmer deg for å avstå fra konverteringen på logisk nivå, fortsett på egen risiko!
For å opprette en felles jordforbindelse, er Arduino UNO jordpinne koblet til ESP -modulen Jordpinne.
Arduino UNO brukes til å gi 3,3 V strøm direkte til ESP -modulens VCC -pinne. Koble 3,3 V -pinnen til brødbrettet ved hjelp av en jumper wire, siden 3,3 V ikke bare vil bli brukt til ESPs VCC -pin, men også ESPs CH_PD -pin for å aktivere ESP -brikken.
RESET-pinnen på Arduino UNO er koblet til Ground for å omgå enhver kode som lastes opp via Arduino, slik at koden i stedet sendes fra datamaskinen til ESP-01.
Tabellen viser hele settet med tilkoblinger for fastvare som blinker, men på dette stadiet må du ikke koble ESPs Reset og GPIO_0 pins, siden vi bare vil lese fastvareinformasjonen i neste trinn.
Trinn 2: Kontroller fastvareversjonen
For å finne din ESP-01 fastvareversjon, skriver du i Arduino IDE Serial Monitor:
AT+GMR
Merk: Alle AT -kommandoer må skrives med store bokstaver uten mellomrom.
Her er serieutgangen for min ESP-01 (ESP-modulen din viser kanskje ikke nøyaktig den samme informasjonen som den avhenger av den spesifikke modellen og utgivelsesdatoen):
AT+GMR
AT-versjon: 0.25.0.0 (5. juni 2015 16:27:16) SDK-versjon: 1.1.1 Ai-Thinker Technology Co. Ltd. 23. juni 2015 23:23:50 OK
For å oppgradere til den nyeste offisielle Espressif ESP8266EX -fastvaren, gå til ressursdelen på nettstedet:
Merk: Listen over tilgjengelig fastvare er kanskje ikke alle kompatible med din ESP-01-modell. Se Feilsøkingsdelen på slutten av denne opplæringen for mer informasjon.
Trinn 3: Forberede oppsettet: Før fastvaren blinker
Nå skal vi forberede Arduino UNO for blinkerprosedyren for fastvare for ESP-01.
Sørg for at Arduino RESET -ledningen er koblet fra bakken. TX- og RX-ledningene fra Arduino UNO må også kobles fra ESP-01-modulen.
Åpne Arduino IDE og fra toppmenyen, gå til Fil> Eksempler> 01. Grunnleggende> BareMinimum. Last opp skissen til Arduino UNO. Denne blanke skissen vil sikre at det ikke oppstår kommunikasjonsforstyrrelser med ESP -modulen.
Koble RX- og TX-kablene til igjen mellom UNO og ESP-01. Koble også UNOs RESET -pin til Ground.
CH_PD- eller CH_EN-pinnen står for 'Chip Power-Down' eller 'Chip Enable', og den må trekkes HØYT eller kobles til 3,3 V for å aktivere ESP-brikken.
To ekstra jumperkabler er nødvendig for følgende ESP -pinner: GPIO_0 og RESET.
GPIO_2 brukes ikke og forlates frakoblet.
ESP-01 må settes i programmeringsmodus slik at koden kan lastes opp til den. Men ESP-01 har ikke nødvendig innebygd ekstra maskinvare for å oppnå dette direkte, så alt må kobles til separat. Til eget bruk gadd jeg ikke bruke brytere, men i stedet brukte jeg bare to hann-hun-jumperkabler koblet til GPIO_0 og RESET-pinnene på ESP-01-modulen og plugget dem inn i brødbrettets vanlige Ground pins fra Arduino UNOs Ground.
Før du starter den blinkende prosedyren, er GPIO_0 koblet til Ground for hele blinkende prosedyre for å aktivere programmeringsmodus.
RESET -pinnen er koblet til Ground i et sekund og deretter fjernet. Dette gjør at den nye fastvaren kan lastes opp.
Trinn 4: Last ned blinkende verktøy og fastvare
Fastvaren som brukes er fra Espressif, som er den opprinnelige produsenten av ESP8266 -brikken.
Gå til: https://www.espressif.com/en/products/hardware/esp8266ex/resources for å få tilgang til de offisielle verktøyene og AT -firmwarefiler.
Last ned Flash Nedlastingsverktøy (ESP8266 og ESP32) under kategorien Verktøy, den siste er V3.6.8.
Last ned den nyeste kompatible AT-fastvaren under 'AT' -fanen, som er ESP8266 AT Bin V1.6.2 for min ESP-01-modell. Det avhenger av ESP-01-modellen siden den kan ha forskjellig flashminne. Du finner mer informasjon om dette i delen DETEKTERT INFO i programmet Flash Download Tools etter at du har klikket på START for å starte blinkingen. Så hvis du ikke er sikker på flash -størrelsen eller hvilke fastvarefiler du skal velge, bare kjør programmet for å få riktig informasjon om ESP -modulen.
Etter at du har blinket, kan du bruke AT-kommandoer til å teste og arbeide med ESP-01. Last ned det offisielle ESP8266 AT-instruksjonssettet:
Trinn 5: Blinkende prosedyre
Pakk ut zip -nedlastingsverktøyene for Flash Download Tools og åpne exe -filen. Sørg for å kjøre den som administrator hvis du bruker Windows. Et DOS-vindu åpnes først, etterfulgt av et popup-vindu. Velg ESP8266 Download Tool. Dette åpner et vindu med flere konfigurerbare alternativer.
På dette stadiet, se skjermbildet for å se nøyaktig hvilke alternativer du skal velge og hva du skal skrive i hex -kodeboksene ved siden av hver av de valgte fastvarefilene.
Merk: Velg fastvarefilene i samme rekkefølge siden blitsprosedyren utføres i rekkefølge. Filen blank.bin må velges tre ganger som vist på skjermbildet for AT -instruksjonssett.
For å finne riktige hex -koder eller adresser, sjekk det offisielle AT -instruksjonsdokumentet. Jeg har lagt ved et skjermbilde av tabellen som jeg brukte for å blinke ESP -modulen min.
Deretter er det bare å trykke på START -knappen og se magien skje. Knappeteksten viser SYNK og DETEKTERT INFO -delen viser spesifikasjonene for ESP -modulen. Deretter viser teksten DOWNLOAD og fremdriftslinjen aktiveres når fastvarefilene lastes opp til ESP -flashminnet. Etter at fastvaren blinker, vil du se: FINISH.
Lukk programmet Flash Download Tools. Dette er nødvendig for å frigjøre den serielle porten slik at Arduino IDE Serial Monitor kan ta over.
Koble ESP GPIO_0 -pinnen fra jordtilkoblingen. Dette vil deaktivere programmeringsmodus.
Koble RESET til Ground i 1 sekund, og koble deretter fra. Dette vil tilbakestille modulen.
Åpne Arduino IDE. Velg Verktøy> Port> på toppmenyen> velg riktig COM -port. Åpne Serial Monitor og velg "Både NL & CR" og velg overføringshastighet på 115200 som er standard.
Type:
PÅ
Hvis den blinkende prosedyren gikk riktig, vil svaret være:
OK
For å bekrefte den nye fastvaren, skriver du inn:
AT+GMR
Her er seriell monitor-utgang for min ESP-01:
AT+GMR
AT -versjon: 1.6.2.0 (13. april 2018 11:10:59) SDK -versjon: 2.2.1 (6ab97e9) kompileringstid: 7. juni 2018 19:34:26 Bin -versjon (Wroom 02): 1.6.2 OK
Trinn 6: Endre baudhastigheten permanent
Denne delen er valgfri. Standard overføringshastighet er 115200, men hvis du vil endre den til en annen overføringshastighet, kan du ganske enkelt skrive inn følgende kommando i Arduino Serial Monitor.
For eksempel, hvis du vil endre til 9600 baud rate / 8 databits / 1 stop bits / no parity bit / no flow control.
Skriv inn:
AT+UART_DEF = 9600, 8, 1, 0, 0
Svaret bør være:
OK
Kommandoen ovenfor endrer overføringshastigheten permanent til 9600, men du kan velge hvilken som helst av standard baudhastigheter.
Trinn 7: Feilsøking
Hvis det er noen anomalier etter vellykket blinking av fastvaren, for eksempel i Serial Monitor, etter at du har valgt standard overføringshastighet på 115200 og skriver: AT, men ikke ser noe svar eller hvis du skriver AT+GMR og mottar noen andre annen informasjon enn fastvareversjonsinformasjonen, kan det hende du har blinket feil fastvare. I så fall, i programmet Flash Download Tools, etter at du har trykket på START -knappen for å starte fastvaren som blinker, leser den grønne statusen SYNC, og det er stadiet der ESP -modulinformasjonen hentes ut og gjøres tilgjengelig under DETEKTERT INFO. Denne informasjonen er avgjørende for å finne riktig firmware og riktige filer for å blinke.
Følgende er for min ESP-01-modul:
flash -leverandør:
E0h: N/A flash devID: 4014h QUAD; 8Mbit krystall: 26 Mhz
Din OPPDAGET INFO vil avhenge av ESP-01-modellen. Men dette vil tillate deg å utlede riktig blitsstørrelse. I mitt ESP er det 8Mbit som tilsvarer 1 MB. Så dette betyr at jeg bør velge 512 KB + 512 KB fra fastvarefilene. Og dette betyr også at fastvare 1.7.0 eller 1.7.1 ikke vil fungere skikkelig for ESP -modulen min, noe jeg også bekreftet ved å blinke disse fastvarene og teste. I beskrivelsen av fastvare 1.7.0 og 1.7.1 på det offisielle nettstedet for Espressif -ressurser er følgende informasjon oppført: "Begrenset av størrelsen på AT -bin -filen, støttes bare` 1024+1024 flash map` av misligholde." 1024+1024 betyr at det er for en ESP -modul med en total blitsstørrelse på 2048 KB eller 2 MB.
Merk: Hvis du lurer på det, kan du nedgradere eller oppgradere mellom forskjellige fastvareversjoner uten noen begrensninger. Hvis noe går galt, kan du bare blinke igjen med forskjellige parametere eller prøve en annen fastvare.
Anbefalt:
Gjenopprett Game Boy eller lignende elektronikk: 7 trinn (med bilder)
Gjenopprett Game Boy eller lignende elektronikk: Først av alt, takk for at du sjekket opplæringen min! Du er fantastisk. For det andre legger jeg mye tid i YouTube -videoen, så se den også, den forklarer alt. Video:
Hjemmeautomatisering ved bruk av ESP8266 eller NODEMCU: 6 trinn
Hjemmeautomatisering ved hjelp av ESP8266 eller NODEMCU: Har du noen gang ønsket å gjøre hjemmet ditt automatisert via wifi? Ønsker du å kontrollere lys, vifte og alle andre apparater fra smarttelefonen din? Eller noen gang ønsket en instruksjon om tilkoblede enheter og hvordan du kommer i gang med det? Dette hjemmeautomatiseringsprosjektet vil
Slik snakker du flere ESP via ESP-NOW ved bruk av ESP32 og ESP8266: 8 trinn
Slik snakker du flere ESP via ESP-NOW Ved hjelp av ESP32 og ESP8266: På mitt pågående prosjekt trenger jeg flere ESP for å snakke med hverandre uten en ruter. For å gjøre dette bruker jeg ESP-NOW til å få trådløs kommunikasjon med hverandre uten en ruter på ESP
Bruk Homie -fastvare til å drive Sonoff -brytermodul (ESP8266 -basert): 5 trinn (med bilder)
Bruk Homie -fastvare til å drive Sonoff -svitsjemodul (ESP8266 -basert): Dette er en oppfølging som kan instrueres, jeg har skrevet denne litt etter " Building Homie Devices for IoT or Home Automation ". Den senere fokuserte på grunnleggende overvåking (DHT22, DS18B20, lys) rundt D1 Mini -kort. Denne gangen vil jeg vise
HiFive1 Arduino -inntrengeroppdagelse med MQTT -varsler ved bruk av ESP32 eller ESP8266: 6 trinn
HiFive1 Arduino Intruder Detection With MQTT Alerts Using ESP32 or ESP8266: HiFive1 er det første Arduino-kompatible RISC-V-baserte kortet bygget med FE310 CPU fra SiFive. Brettet er omtrent 20 ganger raskere enn Arduino UNO, men som UNO -kortet mangler det noen trådløs tilkobling. Heldigvis er det flere rimelige