Obsah:

Obnovte nebo upgradujte firmware na modulu ESP8266 (ESP-01) pomocí Arduino UNO: 7 kroků
Obnovte nebo upgradujte firmware na modulu ESP8266 (ESP-01) pomocí Arduino UNO: 7 kroků

Video: Obnovte nebo upgradujte firmware na modulu ESP8266 (ESP-01) pomocí Arduino UNO: 7 kroků

Video: Obnovte nebo upgradujte firmware na modulu ESP8266 (ESP-01) pomocí Arduino UNO: 7 kroků
Video: Измерьте температуру и влажность Wi-Fi с помощью ESP32 DHT11 и DHT22 - Robojax 2024, Listopad
Anonim
Obnovte nebo upgradujte firmware na modulu ESP8266 (ESP-01) pomocí Arduino UNO
Obnovte nebo upgradujte firmware na modulu ESP8266 (ESP-01) pomocí Arduino UNO
Obnovte nebo upgradujte firmware na modulu ESP8266 (ESP-01) pomocí Arduino UNO
Obnovte nebo upgradujte firmware na modulu ESP8266 (ESP-01) pomocí Arduino UNO
Obnovte nebo upgradujte firmware na modulu ESP8266 (ESP-01) pomocí Arduino UNO
Obnovte nebo upgradujte firmware na modulu ESP8266 (ESP-01) pomocí Arduino UNO
Obnovte nebo upgradujte firmware na modulu ESP8266 (ESP-01) pomocí Arduino UNO
Obnovte nebo upgradujte firmware na modulu ESP8266 (ESP-01) pomocí Arduino UNO

Modul ESP-01, který jsem použil, byl původně dodáván se starším firmwarem AI Thinker, což omezuje jeho možnosti, protože mnoho užitečných AT příkazů není podporováno.

Obecně je dobré aktualizovat firmware kvůli opravám chyb a také v závislosti na funkcích potřebných z modulu ESP může být vyžadována úplnější sada podporovaných příkazů AT. Tento tutoriál také vysvětluje, jak obnovit nebo flashovat původní firmware Espressif, pokud byste například zpackali firmware ESP některými špatnými AT příkazy. To se stalo, když jsem se pokusil změnit výchozí přenosovou rychlost z 115200 na 9600. Použil jsem následující příkaz (na základě rychlého vyhledávání Google):

AT+IPR = 9600

Tím byl zděšen modul ESP-01. Žádné AT příkazy již nefungovaly, což mě přimělo provést další průzkum a po mnoha hodinách jsem konečně našel způsob, jak obnovit ESP-01 a nainstalovat nejnovější kompatibilní firmware. Rozhodl jsem se tedy, že stojí za to sdílet celý proces.

Upozornění: Na základě mých zkušeností bych velmi doporučil nepoužívat příkaz AT+IPR ke změně přenosové rychlosti, protože s největší pravděpodobností bude nutné znovu aktualizovat firmware. Existuje však mnoho různých variant modulu ESP-01 s různou velikostí flash a verzí továrního firmwaru, takže se vaše zkušenosti mohou lišit.

Modul ESP-01 není kompatibilní s 5 V a vyžaduje 3,3 V pro napájení, ale také pro správnou funkci na logické úrovni. Ke komunikaci s počítačem modul navíc potřebuje převodník USB na sériový port. Takže místo použití měniče napětí a adaptéru USB na sériový port jsem se rozhodl pro jednodušší řešení. Protože již mám Arduino UNO, použil jsem ten k napájení modulu ESP-01 a navázání komunikace mezi ESP-01 a počítačem, což fungovalo jako sériový most.

Zásoby

  1. Modul ESP-01
  2. Arduino UNO (s USB kabelem)
  3. Propojovací vodiče DuPont
  4. Prkénko

Krok 1: Drátová připojení

Drátová připojení
Drátová připojení
Drátová připojení
Drátová připojení
Drátová připojení
Drátová připojení

Spojení vodičů s modulem Arduino UNO a ESP-01 lze snadno provést pomocí propojovacích kabelů a propojovací desky. V tabulce je popsáno spojení mezi vývojovou deskou Arduino a modulem ESP. Spojení RX a TX nejsou v tomto případě obrácena, protože komunikace neprobíhá mezi modulem Arduino a ESP, ale mezi ESP a počítačem. V tomto případě je deska Arduino UNO použita jako sériový most přes integrovaný převodník USB na sériový port.

Připojení pinů RX mezi deskou Arduino a modulem ESP by mělo být provedeno přes dělič napětí, protože ESP-01 pracuje na logické úrovni 3,3 V a přijímání logické úrovně 5 V z Arduino UNO by mohlo poškodit modul ESP. Můžete postavit jednoduchý dělič napětí 3,3 V pomocí pouze 2 odporů, jak je znázorněno na obrázku. Volitelně můžete použít převodník logické úrovně.

Upozornění: Pro mé nastavení jsem zapojil přímo piny RX (nedoporučuje se!) A vše fungovalo, ale pokud se rozhodnete vzdát se převodu logické úrovně, pokračujte na vlastní riziko!

Pro navázání společného zemního spojení je zemnící kolík Arduino UNO připojen k uzemňovacímu kolíku modulu ESP.

Arduino UNO slouží k napájení 3,3 V přímo na kolíku VCC modulu ESP. Připojte pin 3,3 V k propojovací desce pomocí propojovacího vodiče, protože 3,3 V bude použito nejen pro pin VCC ESP, ale také pro pin ES_ CH_PD k povolení čipu ESP.

Kolík RESET na Arduino UNO je připojen k zemi, aby se obešel jakýkoli kód nahraný přes Arduino, takže kód je místo toho odeslán z počítače do ESP-01.

Tabulka ukazuje celou sadu připojení pro blikání firmwaru, ale v této fázi nepřipojujte piny Reset a GPIO_0 ESP, protože v dalším kroku budeme číst pouze informace o firmwaru.

Krok 2: Zkontrolujte verzi firmwaru

Zkontrolujte verzi firmwaru
Zkontrolujte verzi firmwaru

Chcete-li zjistit verzi firmwaru ESP-01, do sériového monitoru Arduino IDE zadejte:

AT+GMR

Poznámka: Všechny AT příkazy je třeba psát velkými písmeny bez mezer.

Zde je sériový výstup pro můj ESP-01 (váš modul ESP nemusí zobrazovat přesně stejné informace, protože závisí na konkrétním modelu a datu vydání):

AT+GMR

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

Chcete -li nyní upgradovat na nejnovější oficiální firmware Espressif ESP8266EX, přejděte na jeho webové stránce do sekce zdrojů:

Poznámka: Seznam dostupného firmwaru nemusí být všechny kompatibilní s vaším modelem ESP-01. Další informace najdete v části Řešení potíží na konci tohoto kurzu.

Krok 3: Příprava instalace: Před blikáním firmwaru

Příprava instalace: Před blikáním firmwaru
Příprava instalace: Před blikáním firmwaru

Nyní připravíme Arduino UNO na postup blikání firmwaru ESP-01.

Ujistěte se, že je vodič Arduino RESET odpojen od země. Rovněž je třeba odpojit vodiče TX a RX od Arduino UNO od modulu ESP-01.

Otevřete Arduino IDE a v horním menu přejděte na Soubor> Příklady> 01. Základy> BareMinimum. Nahrajte skicu do Arduino UNO. Tato prázdná skica zajistí, že s modulem ESP nedojde k žádnému rušení komunikace.

Znovu připojte kabely RX a TX mezi UNO a ESP-01. Rovněž připojte pin RESET UNO k uzemnění.

Pin CH_PD nebo CH_EN znamená „Chip Power-Down“nebo „Chip Enable“a je třeba jej vytáhnout VYSOKO nebo připojit na 3,3 V, aby byl povolen čip ESP.

Pro následující piny ESP jsou zapotřebí dva přídavné propojovací kabely: GPIO_0 a RESET.

GPIO_2 se nepoužívá a je ponechán odpojený.

ESP-01 musí být nastaven v režimu programování, aby do něj bylo možné nahrát kód. ESP-01 však nemá potřebný přídavný hardware na palubě, aby toho dosáhl přímo, takže je třeba vše připojit samostatně. Pro svou vlastní potřebu jsem se neobtěžoval používat přepínače, ale místo toho jsem jednoduše použil dva propojovací kabely typu male-female připojené k pinům GPIO_0 a RESET modulu ESP-01 a zapojil je do běžných zemnicích kolíků ze země Arduino UNO.

Před zahájením procedury blikání je GPIO_0 připojen k zemi pro celou proceduru blikání, aby byl povolen režim programování.

Kolík RESET je na sekundu připojen k zemi a poté odstraněn. To umožňuje nahrání nového firmwaru.

Krok 4: Stáhněte si blikající nástroj a firmware

Stáhněte si Flashing Tool a firmware
Stáhněte si Flashing Tool a firmware

Použitý firmware je od společnosti Espressif, což je původní výrobce čipu ESP8266.

Přejděte na: https://www.espressif.com/en/products/hardware/esp8266ex/resources a získejte přístup k oficiálním nástrojům a souborům firmwaru AT.

Na kartě 'Nástroje' si stáhněte Flash Download Tools (ESP8266 & ESP32), aktuálně nejnovější je V3.6.8.

Na kartě „AT“si stáhněte nejnovější kompatibilní firmware AT, což je ESP8266 AT Bin V1.6.2 pro můj model ESP-01. Záleží na modelu ESP-01, protože může mít různou velikost paměti flash. Další informace o tom najdete v sekci DETECTED INFO programu Flash Download Tools po kliknutí na START pro zahájení blikání. Pokud si tedy nejste jisti velikostí flash nebo soubory firmwaru, které chcete vybrat, spusťte program a získejte správné informace o svém modulu ESP.

Po blikání můžete pomocí AT příkazů testovat a pracovat s ESP-01. Stáhněte si oficiální sadu instrukcí ESP8266 AT:

Krok 5: Postup blikání

Postup blikání
Postup blikání
Postup blikání
Postup blikání
Postup blikání
Postup blikání
Postup blikání
Postup blikání

Extrahujte zip soubor Flash Download Tools a otevřete soubor exe. Pokud používáte Windows, nezapomeňte jej spustit jako správce. Nejprve se otevře okno DOS a poté vyskakovací okno. Vyberte nástroj pro stahování ESP8266. Otevře se okno s několika konfigurovatelnými možnostmi.

V této fázi si na snímku obrazovky zobrazte přesně, jaké možnosti vybrat a co zadat do polí hexadecimálního kódu vedle každého z vybraných souborů firmwaru.

Poznámka: Vyberte soubory firmwaru ve stejném pořadí, protože postup flash se provádí postupně. Soubor blank.bin je třeba vybrat třikrát, jak ukazuje snímek obrazovky instrukční sady AT.

Správné hexadecimální kódy nebo adresy najdete v oficiálním dokumentu sady instrukcí AT. Připojil jsem snímek obrazovky tabulky, kterou jsem použil pro flashování mého modulu ESP.

Poté stačí stisknout tlačítko START a sledovat, jak se kouzlo děje. V textu tlačítka se zobrazí SYNC a v sekci DETECTED INFO se zobrazí specifikace vašeho modulu ESP. Poté se v textu zobrazí DOWNLOAD a indikátor průběhu se aktivuje při nahrávání souborů firmwaru do flash paměti ESP. Po dokončení procesu blikání firmwaru uvidíte: FINISH.

Zavřete program Flash Download Tools. To je nezbytné k uvolnění sériového portu, aby mohl převzít kontrolu nad sériovým monitorem Arduino IDE.

Odpojte pin ESP GPIO_0 od uzemnění. Tím se deaktivuje režim programování.

Připojte RESET k zemi na 1 sekundu a poté odpojte. Tím se modul resetuje.

Otevřete Arduino IDE. V horní nabídce vyberte Nástroje> Port> vyberte správný port COM. Otevřete Serial Monitor a zvolte „Both NL & CR“a vyberte přenosovou rychlost 115200, která je výchozí.

Typ:

NA

Pokud postup blikání proběhl správně, odpověď bude:

OK

Chcete -li ověřit nový firmware, zadejte:

AT+GMR

Zde je výstup sériového monitoru pro můj ESP-01:

AT+GMR

Verze AT: 1.6.2.0 (13. dubna 2018 11:10:59) Verze SDK: 2.2.1 (6ab97e9) čas kompilace: 7. června 2018 19:34:26 Verze koše (Wroom 02): 1.6.2 OK

Krok 6: Trvale změňte přenosovou rychlost

Trvale změňte přenosovou rychlost
Trvale změňte přenosovou rychlost

Tato část je volitelná. Výchozí přenosová rychlost je 115200, ale pokud ji chcete změnit na jinou přenosovou rychlost, můžete jednoduše zadat následující příkaz do sériového monitoru Arduino.

Pokud například chcete změnit na 9600 baud rate / 8 data bits / 1 stop bits / no parity bit / no flow control.

Vepište:

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

Odpověď by měla být:

OK

Výše uvedený příkaz trvale mění přenosovou rychlost na 9600, ale můžete si vybrat některou ze standardních přenosových rychlostí.

Krok 7: Odstraňování problémů

Odstraňování problémů
Odstraňování problémů
Odstraňování problémů
Odstraňování problémů

Pokud se po úspěšném blikání firmwaru vyskytnou nějaké anomálie, například v Serial Monitoru, poté, co vyberete výchozí přenosovou rychlost 115200 a napíšete: AT, ale nevidíte žádnou odpověď nebo pokud napíšete AT+GMR a obdržíte nějaké další druh informací jiných než informace o verzi firmwaru, pak jste pravděpodobně použili nesprávný firmware. V takovém případě v programu Flash Download Tools po stisknutí tlačítka START zahájíte postup blikání firmwaru, stavové zelené tlačítko čte SYNCHRONIZACI a to je fáze, kdy jsou informace o modulu ESP extrahovány a zpřístupněny pod DETECTED INFO. Tyto informace jsou klíčové pro určení správného firmwaru a správných souborů pro flash.

Pro můj modul ESP-01 platí následující:

flash prodejce:

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

Vaše DETEKOVANÉ INFO bude záviset na modelu ESP-01. To vám ale umožní odvodit správnou velikost blesku. V mém ESP je to 8 Mbit, což odpovídá 1 MB. To tedy znamená, že bych měl ze souborů firmwaru zvolit 512 KB + 512 KB. A to také znamená, že firmware 1.7.0 nebo 1.7.1 nebude správně fungovat pro můj modul ESP, což jsem také potvrdil blikáním tohoto firmwaru a testováním. Také v popisu firmwaru 1.7.0 a 1.7.1 na oficiálních webových stránkách zdrojů Espressif jsou uvedeny následující informace: „Omezeno velikostí souboru AT bin, pouze` 1024+1024 flash mapa` je podporováno výchozí. 1024+1024 znamená, že je to pro modul ESP s celkovou velikostí flash 2048 KB nebo 2 MB.

Poznámka: V případě, že vás to zajímá, můžete bez omezení downgradovat nebo upgradovat mezi různými verzemi firmwaru. Pokud se něco pokazí, můžete jednoduše znovu blikat s jinými parametry nebo zkusit jiný firmware.

Doporučuje: