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, Studeni
Anonim
Vratite ili nadogradite firmver na modulu ESP8266 (ESP-01) pomoću Arduino UNO
Vratite ili nadogradite firmver na modulu ESP8266 (ESP-01) pomoću Arduino UNO
Vratite ili nadogradite firmver na modulu ESP8266 (ESP-01) pomoću Arduino UNO
Vratite ili nadogradite firmver na modulu ESP8266 (ESP-01) pomoću Arduino UNO
Vratite ili nadogradite firmver na modulu ESP8266 (ESP-01) pomoću Arduino UNO
Vratite ili nadogradite firmver na modulu ESP8266 (ESP-01) pomoću Arduino UNO
Vratite ili nadogradite firmver na modulu ESP8266 (ESP-01) pomoću Arduino UNO
Vratite ili nadogradite firmver na modulu ESP8266 (ESP-01) pomoću Arduino UNO

Modul ESP-01 koji sam prvotno koristio došao je sa starijim firmware-om 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 izvorni Espressif firmver ako slučajno pokvarite vaš ESP firmver, na primjer, nekim krivim AT naredbama. To se dogodilo kada sam pokušao promijeniti zadanu brzinu prijenosa sa 115200 na 9600. Koristio sam sljedeću naredbu (na temelju brzog Google pretraživanja):

AT+IPR = 9600

Time je zatvoren modul ESP-01. Nijedna AT naredba više nije radila, što me potaknulo na dodatno istraživanje i nakon mnogo sati napokon 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 ponovno bljeskanje vašeg firmvera. Međutim, postoji mnogo različitih varijanti modula ESP-01 s različitim veličinama bljeskalice i tvorničkom inačicom 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čkoj razini. Za komunikaciju s računalom, modulu dodatno treba USB -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 uspostavu komunikacije između ESP-01 i računala, učinkovito djelujući kao serijski most.

Pribor

  1. ESP-01 modul
  2. Arduino UNO (s USB kabelom)
  3. Džemper DuPont žice
  4. Oglasna ploča

Korak 1: Žične veze

Žični spojevi
Žični spojevi
Žični spojevi
Žični spojevi
Žični spojevi
Žični spojevi

Ž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-serijskog pretvarača.

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čkoj razini, a primanje 5 V logičke razine 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 kako je prikazano na slici. Po želji možete koristiti pretvarač logičke razine.

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čke razine, nastavite na vlastitu odgovornost!

Kako bi se uspostavila zajednička veza s uzemljenjem, Arduino UNO uzemljeni pin spojen je na uzemljeni pin ESP modula.

Arduino UNO koristi se za napajanje od 3,3 V izravno 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 u sljedećem koraku čitati samo podatke o firmveru.

2. korak: 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 ovisi o određenom modelu i datumu izdavanja):

AT+GMR

AT verzija: 0.25.0.0 (5. lipnja 2015 16:27:16) Verzija SDK-a: 1.1.1 Ai-Thinker Technology Co. Ltd. 23. lipnja 2015 23:23:50 U redu

Sada, za nadogradnju na najnoviji službeni firmver Espressif ESP8266EX, idite na odjeljak resursa njegove web stranice:

Napomena: Popis dostupnog firmvera možda nije kompatibilan s vašim modelom ESP-01. Više informacija potražite u odjeljku 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 bljeskanja firmvera ESP-01.

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

Otvorite Arduino IDE i na 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.

Ponovno 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 spojiti 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. No, ESP-01 nema potreban ugrađeni dodatni hardver na vozilu da bi se to izravno postiglo, pa je sve potrebno zasebno povezati. Za vlastitu uporabu, nisam se trudio koristiti prekidače, nego 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 uzemljene igle matične ploče s uzemljenja Arduino UNO.

Prije početka postupka treptanja, GPIO_0 je spojen na masu za cijeli postupak treptanja kako bi se omogućio način programiranja.

PIN RESET je spojen na masu na sekundu, a zatim uklonjen. To omogućuje prijenos novog firmvera.

Korak 4: Preuzmite Flashing Tool i firmware

Preuzmite Flashing Tool i firmver
Preuzmite Flashing Tool i firmver

Koristi se firmver tvrtke Espressif koji je izvorni 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 Download Tools (ESP8266 & 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 tome pronaći ćete u odjeljku OTKRIVENE INFORMACIJE programa Flash Download Tools nakon klika na START za početak postupka treperenja. Dakle, ako niste sigurni u veličinu bljeskalice ili koje datoteke firmvera odabrati, samo pokrenite program da biste dobili točne informacije o svom ESP modulu.

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

Korak 5: Postupak bljeskanja

Postupak bljeskanja
Postupak bljeskanja
Postupak bljeskanja
Postupak bljeskanja
Postupak bljeskanja
Postupak bljeskanja
Postupak bljeskanja
Postupak bljeskanja

Raspakirajte 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 s nekoliko konfigurabilnih opcija.

U ovoj fazi pogledajte snimak zaslona da biste vidjeli koje opcije odabrati i što unijeti u okvire heksadecimalnog koda 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 snimci zaslona AT skupa instrukcija.

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

Zatim samo pritisnite gumb START i gledajte kako se čarolija događa. Tekst gumba prikazat će SYNC, a odjeljak DETECTED INFO prikazat će specifikacije vašeg ESP modula. Zatim će se tekst prikazati DOWNLOAD, a traka napretka će se aktivirati dok se datoteke firmvera učitavaju u flash memoriju ESP -a. Nakon što je postupak bljeskanja firmvera obavljen, vidjet ćete: ZAVRŠITI.

Zatvorite program Flash Download Tools. To je potrebno za oslobađanje serijskog porta kako bi Arduino IDE serijski monitor preuzeo kontrolu.

Odspojite pin ESP GPIO_0 od uzemljenja. Time ćete onemogućiti način programiranja.

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

Otvorite Arduino IDE. Na gornjem izborniku odaberite Alati> Port> odaberite ispravan COM port. Otvorite Serial Monitor i odaberite "Both NL & CR" i odaberite brzinu prijenosa od 115200 koja je zadana.

Tip:

NA

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

u redu

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. travnja 2018 11:10:59) Verzija SDK -a: 2.2.1 (6ab97e9) vrijeme sastavljanja: 7. lipnja 2018 19:34:26 Verzija kante (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 unijeti sljedeću naredbu u Arduino Serial Monitor.

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

Upišite:

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

Odgovor bi trebao biti:

u redu

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 neke anomalije nakon uspješnog bljeskanja 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 upišete AT+GMR i primite neki drugi vrsta podataka osim podataka o verziji firmvera, možda ste ubacili pogrešan firmver. U tom slučaju, u programu Flash Download Tools, nakon što pritisnete gumb START da biste započeli postupak bljeskanja firmvera, zelena tipka statusa 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 modul ESP-01:

dobavljač flash uređaja:

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

Vaša OTKRIVENA INFORMACIJA ovisit će o modelu ESP-01. Ali to ć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 odabrati 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 bljeskanjem 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 datoteke AT bin, samo` 1024+1024 flash mapa "podržava zadano." 1024+1024 znači da se radi o ESP modulu 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čeni: