Sadržaj:

Vraćanje ili nadogradnja firmvera na modulu ESP8266 (ESP-01) pomoću Arduino UNO: 7 koraka
Vraćanje ili nadogradnja firmvera na modulu ESP8266 (ESP-01) pomoću Arduino UNO: 7 koraka

Video: Vraćanje ili nadogradnja firmvera na modulu ESP8266 (ESP-01) pomoću Arduino UNO: 7 koraka

Video: Vraćanje ili nadogradnja firmvera na modulu ESP8266 (ESP-01) pomoću Arduino UNO: 7 koraka
Video: ESP8266 ESP01 WIFI-UART | LDmicro-Roboremo programiranje 2024, Juli
Anonim
Vratite ili nadogradite firmver na modulu ESP8266 (ESP-01) koristeći Arduino UNO
Vratite ili nadogradite firmver na modulu ESP8266 (ESP-01) koristeći Arduino UNO
Vratite ili nadogradite firmver na modulu ESP8266 (ESP-01) koristeći Arduino UNO
Vratite ili nadogradite firmver na modulu ESP8266 (ESP-01) koristeći Arduino UNO
Vratite ili nadogradite firmver na modulu ESP8266 (ESP-01) koristeći Arduino UNO
Vratite ili nadogradite firmver na modulu ESP8266 (ESP-01) koristeći Arduino UNO
Vratite ili nadogradite firmver na modulu ESP8266 (ESP-01) koristeći Arduino UNO
Vratite ili nadogradite firmver na modulu ESP8266 (ESP-01) koristeći Arduino UNO

ESP-01 modul koji sam prvotno koristio došao je sa starijim firmverom AI Thinker-a, što ograničava njegove mogućnosti jer mnoge korisne AT naredbe nisu podržane.

Općenito je dobra ideja nadograditi vaš firmver radi ispravljanja grešaka, a ovisno o funkcionalnostima potrebnim za ESP modul, možda će biti potreban potpuniji skup podržanih AT naredbi. Ovaj vodič također objašnjava kako vratiti ili ažurirati originalni Espressif firmver ako slučajno pokvarite vaš ESP firmver, na primjer, nekim pogrešnim AT naredbama. To se dogodilo kada sam pokušao promijeniti zadanu brzinu prijenosa sa 115200 na 9600. Koristio sam sljedeću naredbu (na osnovu brzog Google pretraživanja):

AT+IPR = 9600

Ovo je zatvorilo modul ESP-01. Nijedna AT naredba više nije radila, što me navelo na dodatno istraživanje i nakon mnogo sati konačno sam pronašao način da vratim svoj ESP-01 i instaliram najnoviji kompatibilni firmver. Pa sam odlučio da je vrijedno podijeliti cijeli proces.

Oprez: Na temelju mog iskustva, toplo bih savjetovao da ne koristite naredbu AT+IPR za promjenu brzine prijenosa jer će najvjerojatnije biti potrebno da ponovno bljesnete svoj firmver. Međutim, postoji mnogo različitih varijanti modula ESP-01 s različitim veličinama bljeskalice i tvorničkom verzijom firmvera, pa se vaše iskustvo može razlikovati.

Modul ESP-01 nije kompatibilan s 5 V i zahtijeva 3,3 V za napajanje, ali i za ispravan rad na logičkom nivou. Za komunikaciju s računarom, modulu je dodatno potreban USB na serijski pretvarač. Stoga sam se, umjesto pretvarača napona i USB -serijskog adaptera, odlučio za jednostavnije rješenje. Budući da već imam Arduino UNO, ovaj drugi sam koristio za napajanje modula ESP-01 i uspostavljanje komunikacije između ESP-01 i računala, učinkovito djelujući kao serijski most.

Supplies

  1. ESP-01 modul
  2. Arduino UNO (sa USB kablom)
  3. Džemper DuPont žice
  4. Breadboard

Korak 1: Žične veze

Žične veze
Žične veze
Žične veze
Žične veze
Žične veze
Žične veze

Žičane veze s Arduino UNO i ESP-01 modulom mogu se jednostavno izvesti pomoću kratkospojnih kabela i matične ploče. Veze između razvojne ploče Arduino i ESP modula opisane su u tablici. RX i TX veze u ovom slučaju nisu obrnute, jer se komunikacija ne događa između Arduino i ESP modula, već između ESP -a i računala. Dakle, u ovom slučaju, Arduino UNO ploča koristi se kao serijski most preko ugrađenog USB u serijski pretvarač.

Povezivanje RX pinova između Arduino ploče i ESP modula trebalo bi izvršiti putem razdjelnika napona, jer ESP-01 radi na 3,3 V logičkom nivou, a prijem 5 V logičkog nivoa od Arduino UNO-a može oštetiti ESP modul. Možete izgraditi jednostavan razdjelnik napona od 3,3 V koristeći samo 2 otpornika kao što je prikazano na slici. Opcionalno, možete koristiti pretvarač logičkog nivoa.

Oprez: Za moje postavljanje, samo sam izravno spojio RX pinove (nije preporučljivo!) I sve je radilo, ali ako odlučite odustati od pretvorbe logičkog nivoa, nastavite na vlastitu odgovornost!

Da biste uspostavili zajedničku vezu uzemljenja, Arduino UNO uzemljeni pin je spojen na uzemljeni pin ESP modula.

Arduino UNO se koristi za napajanje od 3,3 V direktno na VCC pin ESP modula. Spojite 3.3 V iglu na matičnu ploču pomoću kratkospojne žice, jer će se 3.3 V koristiti ne samo za ESP -ov VCC pin, već i za ESP -ov CH_PD pin za omogućavanje ESP čipa.

PIN za resetiranje na Arduino UNO spojen je na uzemljenje kako bi zaobišao svaki kôd postavljen putem Arduina, tako da se kôd umjesto toga šalje s računala na ESP-01.

Slika u tablici prikazuje cijeli skup veza za bljeskanje firmvera, ali u ovoj fazi nemojte povezivati pinove za resetiranje i GPIO_0 ESP -a jer ćemo samo pročitati informacije o firmveru u sljedećem koraku.

Korak 2: Provjerite verziju firmvera

Provjerite verziju firmvera
Provjerite verziju firmvera

Da biste pronašli svoju verziju firmvera ESP-01, u Arduino IDE serijski monitor upišite:

AT+GMR

Napomena: Sve AT naredbe moraju biti upisane velikim slovima bez razmaka.

Evo serijskog izlaza za moj ESP-01 (vaš ESP modul možda neće prikazivati potpuno iste podatke jer to ovisi o određenom modelu i datumu izdavanja):

AT+GMR

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

Sada, za nadogradnju na najnoviji službeni softver Espressif ESP8266EX, idite na odjeljak resursa na svojoj web stranici:

Napomena: Popis dostupnog firmvera možda nije kompatibilan s vašim modelom ESP-01. Za više informacija pogledajte odjeljak Rješavanje problema na kraju ovog vodiča.

Korak 3: Priprema postavljanja: Prije treptanja firmvera

Priprema postavljanja: Prije treptanja firmvera
Priprema postavljanja: Prije treptanja firmvera

Sada ćemo pripremiti Arduino UNO za postupak fleširanja firmvera ESP-01.

Uvjerite se da je žica za resetiranje Arduina isključena iz uzemljenja. Također, TX i RX žice iz Arduino UNO-a moraju se odvojiti od modula ESP-01.

Otvorite Arduino IDE i u gornjem izborniku idite na Datoteka> Primjeri> 01. Osnove> BareMinimum. Prenesite skicu u Arduino UNO. Ova prazna skica osigurat će da nema smetnji u komunikaciji s ESP modulom.

Ponovo spojite RX i TX kabele između UNO i ESP-01. Također, spojite UNO -ov RESET pin na masu.

Pin CH_PD ili CH_EN označava 'Chip Power-Down' ili 'Chip Enable' i potrebno ga je povući HIGH ili priključiti na 3,3 V kako bi se omogućio ESP čip.

Za sljedeće ESP pinove potrebna su dva dodatna kratkospojna kabela: GPIO_0 i RESET.

GPIO_2 se ne koristi i ostavljen je isključen.

ESP-01 je potrebno postaviti u način programiranja tako da se kôd može učitati na njega. Međutim, ESP-01 nema potreban ugrađeni dodatni hardver na vozilu da bi se to postiglo izravno, pa je potrebno sve povezati zasebno. Za moju vlastitu upotrebu, nisam se trudio koristiti prekidače, već sam jednostavno koristio dva muško-ženska kratkospojna kabela spojena na GPIO_0 i RESET pinove modula ESP-01 i priključila ih na zajedničke pinove uzemljenja matične ploče s Arduino UNO uzemljenja.

Prije početka postupka treptanja, GPIO_0 je spojen na uzemljenje za cijelu proceduru treptanja kako bi se omogućio način programiranja.

PIN za resetiranje je na sekundu spojen na masu, a zatim uklonjen. Ovo omogućava postavljanje novog firmvera.

Korak 4: Preuzmite Flashing Tool i firmver

Preuzmite Flashing Tool i firmver
Preuzmite Flashing Tool i firmver

Koristi se firmver kompanije Espressif koji je originalni proizvođač čipa ESP8266.

Idite na: https://www.espressif.com/en/products/hardware/esp8266ex/resources za pristup službenim alatima i datotekama firmvera AT -a.

Na kartici "Alati" preuzmite Flash alate za preuzimanje (ESP8266 i ESP32), trenutno najnoviji V3.6.8.

Na kartici 'AT' preuzmite najnoviji kompatibilni AT firmver, a to je ESP8266 AT Bin V1.6.2 za moj model ESP-01. Ovisi o modelu ESP-01 jer može imati različitu veličinu flash memorije. Više informacija o ovome pronaći ćete u odjeljku OTKRIVENE INFORMACIJE programa Flash Download Tools nakon što kliknete na START da započnete postupak treptanja. Dakle, ako niste sigurni u veličinu bljeskalice ili koje datoteke firmvera odabrati, samo pokrenite program da biste dobili ispravne informacije o svom ESP modulu.

Nakon treptanja, možete koristiti AT naredbe za testiranje i rad s ESP-01. Preuzmite službeni skup uputa ESP8266 AT:

Korak 5: Postupak treptanja

Postupak treptanja
Postupak treptanja
Postupak treptanja
Postupak treptanja
Postupak treptanja
Postupak treptanja
Postupak treptanja
Postupak treptanja

Raspakujte zip datoteku Flash Download Tools i otvorite exe datoteku. Pokrenite ga kao administrator ako koristite Windows. Prvo će se otvoriti DOS prozor, a zatim skočni prozor. Odaberite Alat za preuzimanje ESP8266. Ovo će otvoriti prozor sa nekoliko konfigurabilnih opcija.

U ovoj fazi pogledajte snimak zaslona kako biste vidjeli koje opcije odabrati i što upisati u polja sa heksadecimalnim kodom pored svake od odabranih datoteka firmvera.

Napomena: Odaberite datoteke firmvera istim redoslijedom jer se postupak bljeskalice obavlja uzastopno. Datoteku blank.bin potrebno je izabrati tri puta kako je prikazano na snimku ekrana AT instrukcija.

Da biste pronašli ispravne heksadecimalne kodove ili adrese, provjerite službeni dokument s uputama za AT instrukcije. Priložio sam snimak ekrana tablice koju sam koristio za prebacivanje ESP modula.

Zatim samo pritisnite dugme START i gledajte kako se čarolija događa. Tekst gumba prikazuje SYNC, a odjeljak DETECTED INFO prikazuje specifikacije vašeg ESP modula. Zatim će se tekst prikazati DOWNLOAD, a traka napretka će se aktivirati kako se datoteke firmvera učitavaju u ESP flash memoriju. Nakon što se završi postupak treptanja firmvera, vidjet ćete: ZAVRŠI.

Zatvorite program Flash Download Tools. Ovo je potrebno za oslobađanje serijskog porta kako bi Arduino IDE serijski monitor mogao preuzeti.

Odspojite ESP GPIO_0 pin sa uzemljenja. Ovo će onemogućiti način programiranja.

Spojite RESET na masu na 1 sekundu, a zatim odspojite. Ovo će resetirati modul.

Otvorite Arduino IDE. U gornjem izborniku odaberite Alati> Port> odaberite ispravan COM port. Otvorite Serijski monitor i odaberite "Oba NL i CR" i odaberite brzinu prijenosa od 115200 koja je zadana.

Tip:

AT

Ako je postupak treptanja prošao ispravno, odgovor će biti:

uredu

Za potvrdu novog firmvera upišite:

AT+GMR

Evo izlaza serijskog monitora za moj ESP-01:

AT+GMR

AT verzija: 1.6.2.0 (13. april 2018 11:10:59) SDK verzija: 2.2.1 (6ab97e9) vrijeme kompiliranja: 7. juna 2018 19:34:26 Verzija korpe (Wroom 02): 1.6.2 U redu

Korak 6: Trajno promijenite brzinu prijenosa

Trajno promijenite brzinu prijenosa
Trajno promijenite brzinu prijenosa

Ovaj dio nije obavezan. Zadana brzina prijenosa je 115200, ali ako je želite promijeniti na drugu brzinu prijenosa, možete jednostavno upisati sljedeću naredbu u Arduino serijski monitor.

Na primjer, ako želite promijeniti na 9600 brzina prijenosa / 8 bitova podataka / 1 stop bitova / bez paritetnog bita / bez kontrole protoka.

Ukucaj:

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

Odgovor bi trebao biti:

uredu

Gornja naredba mijenja brzinu prijenosa trajno na 9600, ali možete odabrati bilo koju od standardnih brzina prijenosa.

Korak 7: Rješavanje problema

Rješavanje problema
Rješavanje problema
Rješavanje problema
Rješavanje problema

Ako postoje bilo kakve anomalije nakon uspješnog prebacivanja firmvera, na primjer, u serijskom monitoru, nakon što odaberete zadanu brzinu prijenosa od 115200 i upišete: AT, ali ne vidite nikakav odgovor ili ako otkucate AT+GMR i primite neki drugi vrsta informacija osim informacija o verziji firmvera, možda ste umetnuli pogrešan firmver. U tom slučaju, u programu Flash Download Tools, nakon što pritisnete tipku START da započnete postupak treptanja firmvera, statusno zeleno dugme glasi SYNC i to je faza u kojoj se informacije o ESP modulu izdvajaju i stavljaju na raspolaganje pod DETECTED INFO. Ove su informacije ključne za određivanje ispravnog firmvera i ispravnih datoteka za bljeskanje.

Slijedi za moj ESP-01 modul:

prodavac blica:

E0h: N/A blic devID: 4014h QUAD; 8Mbit kristal: 26 Mhz

Vaša OTKRIVENA INFORMACIJA ovisit će o modelu ESP-01. Ali ovo će vam omogućiti da zaključite ispravnu veličinu bljeskalice. U mom ESP -u to je 8Mbit što je ekvivalent 1 MB. Dakle, to znači da bih trebao izabrati 512 KB + 512 KB iz datoteka firmvera. A to također znači da firmver 1.7.0 ili 1.7.1 neće raditi ispravno za moj ESP modul, što sam također potvrdio prebacivanjem ovog firmvera i testiranjem. Također, u opisu firmvera 1.7.0 i 1.7.1 na službenoj web stranici resursa Espressifa navedene su sljedeće informacije: "Ograničeno veličinom AT kante za smeće, samo` 1024+1024 flash mapa "podržava zadano. " 1024+1024 znači da je to za ESP modul s ukupnom veličinom bljeskalice od 2048 KB ili 2 MB.

Napomena: U slučaju da se pitate, možete unaprijediti ili nadograditi između različitih verzija firmvera bez ikakvih ograničenja. Ako nešto pođe po zlu, možete samo ponovno bljeskati s različitim parametrima ili isprobati drugi firmver.

Preporučuje se: