Obsah:

Obnovte alebo aktualizujte firmvér na module ESP8266 (ESP-01) pomocou Arduino UNO: 7 krokov
Obnovte alebo aktualizujte firmvér na module ESP8266 (ESP-01) pomocou Arduino UNO: 7 krokov

Video: Obnovte alebo aktualizujte firmvér na module ESP8266 (ESP-01) pomocou Arduino UNO: 7 krokov

Video: Obnovte alebo aktualizujte firmvér na module ESP8266 (ESP-01) pomocou Arduino UNO: 7 krokov
Video: BTT GTR v1.0/M5 v1.0 - Basics 2024, Júl
Anonim
Obnovte alebo aktualizujte firmvér na module ESP8266 (ESP-01) pomocou Arduino UNO
Obnovte alebo aktualizujte firmvér na module ESP8266 (ESP-01) pomocou Arduino UNO
Obnovte alebo aktualizujte firmvér na module ESP8266 (ESP-01) pomocou Arduino UNO
Obnovte alebo aktualizujte firmvér na module ESP8266 (ESP-01) pomocou Arduino UNO
Obnovte alebo aktualizujte firmvér na module ESP8266 (ESP-01) pomocou Arduino UNO
Obnovte alebo aktualizujte firmvér na module ESP8266 (ESP-01) pomocou Arduino UNO
Obnovte alebo aktualizujte firmvér na module ESP8266 (ESP-01) pomocou Arduino UNO
Obnovte alebo aktualizujte firmvér na module ESP8266 (ESP-01) pomocou Arduino UNO

Modul ESP-01, ktorý som použil, bol pôvodne dodávaný so starším firmvérom AI Thinker, čo obmedzuje jeho možnosti, pretože mnoho užitočných príkazov AT nie je podporovaných.

Spravidla je dobré aktualizovať firmvér kvôli opravám chýb a tiež v závislosti od funkcií potrebných z modulu ESP môže byť potrebná úplnejšia sada podporovaných príkazov AT. Tento tutoriál tiež vysvetľuje, ako obnoviť alebo flashovať pôvodný firmvér Espressif, ak napríklad poškodíte firmvér ESP pomocou niektorých nesprávnych príkazov AT. To sa stalo, keď som sa pokúsil zmeniť predvolenú prenosovú rýchlosť z 115200 na 9600. Použil som nasledujúci príkaz (na základe rýchleho vyhľadávania Google):

AT+IPR = 9600

Toto zamurovalo modul ESP-01. Už nefungovali žiadne AT príkazy, čo ma viedlo k ďalšiemu výskumu a po mnohých hodinách som konečne našiel spôsob, ako obnoviť môj ESP-01 a nainštalovať najnovší kompatibilný firmvér. Preto som sa rozhodol, že stojí za to zdieľať celý proces.

Upozornenie: Na základe mojich skúseností by som dôrazne odporučil nepoužívať príkaz AT+IPR na zmenu prenosovej rýchlosti, pretože s najväčšou pravdepodobnosťou budete musieť znova aktualizovať firmvér. Existuje však mnoho rôznych variantov modulu ESP-01 s rôznou veľkosťou blesku a výrobnou verziou firmvéru, takže vaše skúsenosti sa môžu líšiť.

Modul ESP-01 nie je kompatibilný s 5 V a vyžaduje 3,3 V na jeho napájanie, ale aj správnu funkciu na logickej úrovni. Na komunikáciu s počítačom modul navyše potrebuje prevodník USB na sériový port. Namiesto použitia meniča napätia a adaptéra USB na sériový port som sa rozhodol zvoliť jednoduchšie riešenie. Pretože už mám Arduino UNO, použil som ten na napájanie modulu ESP-01 a nadviazanie komunikácie medzi ESP-01 a počítačom, pričom efektívne fungoval ako sériový most.

Zásoby

  1. Modul ESP-01
  2. Arduino UNO (s káblom USB)
  3. Prepojte vodiče DuPont
  4. Breadboard

Krok 1: Drôtové pripojenia

Drôtové pripojenia
Drôtové pripojenia
Drôtové pripojenia
Drôtové pripojenia
Drôtové pripojenia
Drôtové pripojenia

Drôtové spojenia s modulom Arduino UNO a ESP-01 je možné ľahko vytvoriť pomocou prepojovacích káblov a prepojovacej dosky. V tabuľke je popísané prepojenie medzi vývojovou doskou Arduino a modulom ESP. Pripojenia RX a TX nie sú v tomto prípade obrátené, pretože komunikácia neprebieha medzi modulom Arduino a ESP, ale medzi ESP a počítačom. V tomto prípade sa doska Arduino UNO používa ako sériový most prostredníctvom zabudovaného prevodníka USB na sériový port.

Pripojenie pinov RX medzi doskou Arduino a modulom ESP by sa malo vykonať pomocou deliča napätia, pretože ESP-01 pracuje na logickej úrovni 3,3 V a prijímanie logickej úrovne 5 V z Arduino UNO by mohlo poškodiť modul ESP. Môžete vytvoriť jednoduchý delič napätia 3,3 V pomocou iba dvoch rezistorov, ako je znázornené na obrázku. Voliteľne môžete použiť prevodník logickej úrovne.

Upozornenie: Pri mojom nastavení som zapojil priamo kolíky RX (neodporúča sa!) A všetko fungovalo, ale ak sa rozhodnete vzdať sa prevodu logickej úrovne, postupujte na vlastné riziko!

Na vytvorenie spoločného uzemňovacieho pripojenia je uzemňovací kolík Arduino UNO zapojený do uzemňovacieho kolíka modulu ESP.

Arduino UNO sa používa na napájanie 3,3 V priamo na kolíku VCC modulu ESP. Pripojte pin 3,3 V na prepojovaciu dosku pomocou prepojovacieho vodiča, pretože 3,3 V sa bude používať nielen na pin VCC ESP, ale aj na pin ES_ CH_PD na aktiváciu čipu ESP.

Pin RESET na Arduino UNO je pripojený k zemi, aby obišiel akýkoľvek kód nahraný cez Arduino, takže kód je namiesto toho odoslaný z počítača do ESP-01.

Tabuľkový obrázok ukazuje úplnú sadu pripojení pre blikajúci firmvér, ale v tejto fáze nepripájajte piny Reset a GPIO_0 ESP, pretože v nasledujúcom kroku budeme iba čítať informácie o firmvéri.

Krok 2: Skontrolujte verziu firmvéru

Skontrolujte verziu firmvéru
Skontrolujte verziu firmvéru

Ak chcete nájsť svoju verziu firmvéru ESP-01, do sériového monitora Arduino IDE zadajte:

AT+GMR

Poznámka: Všetky AT príkazy je potrebné písať veľkými písmenami bez medzier.

Tu je sériový výstup pre môj ESP-01 (váš modul ESP nemusí zobrazovať úplne rovnaké informácie, pretože závisí od konkrétneho modelu a dátumu vydania):

AT+GMR

Verzia AT: 0.25.0.0 (5. júna 2015 16:27:16) Verzia SDK: 1.1.1 Ai-Thinker Technology Co. Ltd. 23. júna 2015 23:23:50 OK

Ak chcete teraz aktualizovať na najnovší oficiálny firmvér Espressif ESP8266EX, prejdite na jeho webovej stránke do sekcie zdrojov:

Poznámka: Zoznam dostupného firmvéru nemusí byť kompatibilný s vašim modelom ESP-01. Ďalšie informácie nájdete v časti Riešenie problémov na konci tohto tutoriálu.

Krok 3: Príprava nastavenia: Pred blikaním firmvéru

Príprava nastavenia: Pred blikaním firmvéru
Príprava nastavenia: Pred blikaním firmvéru

Teraz pripravíme Arduino UNO na postup blikania firmvéru ESP-01.

Zaistite, aby bol kábel Arduino RESET odpojený od zeme. Tiež je potrebné odpojiť káble TX a RX od Arduino UNO od modulu ESP-01.

Otvorte Arduino IDE a v hornom menu prejdite na Súbor> Príklady> 01. Základy> BareMinimum. Nahrajte skicu do Arduino UNO. Tento prázdny náčrt zaistí, že s modulom ESP nedôjde k žiadnemu rušeniu komunikácie.

Znova zapojte káble RX a TX medzi UNO a ESP-01. Pripojte tiež kolík RESET UNO k zemi.

Pin CH_PD alebo CH_EN znamená „Chip Power-Down“alebo „Chip Enable“a na povolenie čipu ESP je potrebné ho vytiahnuť HIGH alebo pripojiť na 3,3 V.

Dva ďalšie prepojovacie káble sú potrebné pre nasledujúce piny ESP: GPIO_0 a RESET.

GPIO_2 sa nepoužíva a zostáva odpojený.

ESP-01 musí byť nastavený v režime programovania, aby bolo možné doň nahrať kód. ESP-01 však nemá potrebný integrovaný dodatočný hardvér, aby sa to dosiahlo priamo, takže je potrebné všetko pripojiť oddelene. Pre svoju vlastnú potrebu som sa neobťažoval používať prepínače, ale namiesto toho som jednoducho použil dva prepojovacie káble typu samec a samica pripojené k pinom GPIO_0 a RESET modulu ESP-01 a zapojil ich do spoločných uzemňovacích pinov nepájivej dosky zo zeme Arduino UNO.

Pred spustením postupu blikania je GPIO_0 pripojený k zemi na celý postup blikania, aby sa povolil režim programovania.

Kolík RESET je na sekundu pripojený k zemi a potom odstránený. To umožňuje nahrať nový firmvér.

Krok 4: Stiahnite si blikajúci nástroj a firmvér

Stiahnite si blikajúci nástroj a firmvér
Stiahnite si blikajúci nástroj a firmvér

Použitý firmvér je od spoločnosti Espressif, ktorá je pôvodným výrobcom čipu ESP8266.

Prejdite na: https://www.espressif.com/en/products/hardware/esp8266ex/resources, aby ste získali prístup k oficiálnym nástrojom a súborom firmvéru AT.

Na karte „Nástroje“si stiahnite Nástroje na stiahnutie vo formáte Flash (ESP8266 a ESP32), aktuálne je najnovší V3.6.8.

Na karte „AT“si stiahnite najnovší kompatibilný firmvér AT, ktorým je ESP8266 AT Bin V1.6.2 pre môj model ESP-01. Závisí to od modelu ESP-01, pretože môže mať rôznu veľkosť pamäte flash. Viac informácií o tomto nájdete v sekcii DETECTED INFO programu Flash Download Tools po kliknutí na ŠTART začať postup blikania. Ak si teda nie ste istí veľkosťou pamäte flash alebo výberom súborov firmvéru, spustite program a získajte správne informácie o svojom module ESP.

Po blikaní môžete pomocou príkazov AT testovať a pracovať s ESP-01. Stiahnite si oficiálnu sadu pokynov pre ESP8266 AT:

Krok 5: Postup blikania

Postup blikania
Postup blikania
Postup blikania
Postup blikania
Postup blikania
Postup blikania
Postup blikania
Postup blikania

Rozbaľte súbor zip Download Tools for Flash a otvorte súbor exe. Ak používate systém Windows, nezabudnite ho spustiť ako správca. Najprv sa otvorí okno DOS a potom vyskakovacie okno. Vyberte nástroj na stiahnutie ESP8266. Otvorí sa okno s niekoľkými konfigurovateľnými možnosťami.

V tejto fáze si na obrázku obrazovky pozrite, aké možnosti presne vybrať a čo napísať do polí hexadecimálneho kódu vedľa každého z vybratých súborov firmvéru.

Poznámka: Vyberte súbory firmvéru v rovnakom poradí, pretože postup blesku sa vykonáva postupne. Súbor blank.bin je potrebné vybrať trikrát, ako je znázornené na obrázku obrazovky s inštrukčnou sadou AT.

Správne hexadecimálne kódy alebo adresy nájdete v oficiálnom dokumente k súboru AT pokynov. Priložil som snímku obrazovky s tabuľkou, ktorú som použil na aktualizáciu svojho modulu ESP.

Potom stačí stlačiť tlačidlo ŠTART a sledovať, ako sa kúzlo deje. V texte tlačidla sa zobrazí SYNC a v sekcii DETECTED INFO sa zobrazia špecifikácie vášho modulu ESP. Potom sa v texte zobrazí STIAHNUTIE a počas nahrávania súborov firmvéru do pamäte Flash ESP sa aktivuje indikátor priebehu. Po dokončení procesu blikania firmvéru sa zobrazí: FINISH.

Zatvorte program Flash Download Tools. Je to nevyhnutné na uvoľnenie sériového portu, aby mohol sériový monitor Arduino IDE prevziať kontrolu.

Odpojte kolík ESP GPIO_0 od uzemnenia. Tým sa vypne režim programovania.

Pripojte RESET k zemi na 1 sekundu a potom odpojte. Tým sa modul resetuje.

Otvorte Arduino IDE. V hornom menu vyberte Nástroje> Port> vyberte správny port COM. Otvorte sériový monitor a zvoľte „NL aj CR“a vyberte prenosovú rýchlosť 115200, ktorá je predvolená.

Typ:

AT

Ak postup blikania prebehol správne, odpoveď bude:

OK

Ak chcete overiť nový firmvér, zadajte:

AT+GMR

Tu je výstup sériového monitora pre môj ESP-01:

AT+GMR

Verzia AT: 1.6.2.0 (13. apríla 2018 11:10:59) Verzia súpravy SDK: 2.2.1 (6ab97e9) čas kompilácie: 7. júna 2018 19:34:26 Verzia zásobníka (Wroom 02): 1.6.2 OK

Krok 6: Natrvalo zmeňte prenosovú rýchlosť

Natrvalo zmeňte prenosovú rýchlosť
Natrvalo zmeňte prenosovú rýchlosť

Táto časť je voliteľná. Predvolená prenosová rýchlosť je 115200, ale ak ju chcete zmeniť na inú prenosovú rýchlosť, môžete do sériového monitora Arduino jednoducho napísať nasledujúci príkaz.

Napríklad, ak chcete zmeniť na 9600 baud rate / 8 dátových bitov / 1 stop bity / bez paritného bitu / bez riadenia toku.

Zadajte:

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

Odpoveď by mala byť:

OK

Vyššie uvedený príkaz zmení prenosovú rýchlosť natrvalo na 9600, ale môžete si vybrať ktorúkoľvek zo štandardných prenosových rýchlostí.

Krok 7: Riešenie problémov

Riešenie problémov
Riešenie problémov
Riešenie problémov
Riešenie problémov

Ak sa po úspešnom spustení firmvéru vyskytnú nejaké odchýlky, napríklad v sériovom monitore, potom, čo vyberiete predvolenú prenosovú rýchlosť 115200 a napíšete: AT, ale nezobrazí sa žiadna odpoveď alebo ak napíšete AT+GMR a dostanete ďalšie informácie iné ako informácie o verzii firmvéru, pravdepodobne ste použili nesprávny firmvér. V takom prípade v programe Flash Download Tools po stlačení tlačidla ŠTART na spustenie postupu blikania firmvéru zobrazí stavové zelené tlačidlo SYNC a to je fáza, v ktorej sú informácie o module ESP extrahované a sprístupnené pod DETECTED INFO. Tieto informácie sú zásadné pre určenie správneho firmvéru a správnych súborov na flashovanie.

Nasleduje pre môj modul ESP-01:

predajca bleskov:

E0h: N/A flash devID: 4014h QUAD; 8Mbit kryštál: 26 Mhz

Vaše ZISTENÉ INFO bude závisieť od modelu ESP-01. To vám však umožní odvodiť správnu veľkosť blesku. V mojom ESP je to 8 Mbit, čo je ekvivalent 1 MB. To teda znamená, že by som si mal vybrať 512 KB + 512 KB zo súborov firmvéru. A to tiež znamená, že firmvér 1.7.0 alebo 1.7.1 nebude správne fungovať pre môj modul ESP, čo som tiež potvrdil blikaním tohto firmvéru a testovaním. V popise firmvéru 1.7.0 a 1.7.1 na oficiálnom webovom serveri Espressif sú uvedené aj nasledujúce informácie: „Obmedzené veľkosťou súboru AT bin podporuje iba` 1024+1024 flash mapa`. predvolené. 1024+1024 znamená, že je to pre modul ESP s celkovou veľkosťou flash 2048 KB alebo 2 MB.

Poznámka: V prípade, že vás to zaujíma, môžete bez obmedzení upgradovať alebo aktualizovať rôzne verzie firmvéru. Ak sa niečo pokazí, môžete jednoducho znova zablikať s inými parametrami alebo vyskúšať iný firmvér.

Odporúča: