Nahráváme originální AT firmware do ESP8266 (ESP12E)

Během vývoje SW podpory BigClown Wi-Fi modulu s čipem ESP8266 v modulu ESP12E Martin Grames objevil, že je potřeba aktualizovat AT firmware v ESP8266 pro podporu SNTP.

Martin AT firmware pro ESP12F modul aktualizoval a začal mu chodit jeho cryptoclock. Jal jsem se tedy aktualizovat svůj Wi-Fi modul s ESP12E a tady nastal problém.

Tento návod vám pomůže v přehrání původní kódu v ESP8266 novějším (a je jedno jestli novější AT FW nebo FW pro NodeMCU nebo úplně jiný FW).

Nejprve stáhnete esptool, je to nástroj pro nahrávání bin souborů ESP8266.
https://github.com/espressif/esptool

ZIP rozbalíte a v terminálu provedete instalaci

Pro instalaci napíšete /cestaKsouboru/ pip install esptool

Ve složce esptool vytvoříte složku, kterou pojmenujete bin a do ní nakopírujete bin soubory z tohoto odkazu. Já si vybral ESP8266 AT Bin V1.6.2 (8 Jun 2018). To je poslední verze AT FW, která funguje s ESP8266, které mají menší FLASH (1 MB), novější aktualizace vyžadují verze s 2 MB a větší FLASH.

Dokumentace je ke stažení na tomto odkazu (ESP8266 Non-OS AT Instruction Set).

Do složky bin v esptool zkopírujete následující bin soubory (názvy souborů se mohou mírně lišit).

user1.1024.new.2.bin

esp_init_data_default_v08.bin

boot_v1.7.bin

blank.bin

V readme staženého SDK najdete rozložení paměti pro jednotlivé bin soubory, v mém případě tako.
# BOOT MODE

## download

### Flash size 16Mbit: 512KB+512KB

boot_v1.2+.bin 0x00000

user1.1024.new.2.bin 0x01000

esp_init_data_default.bin 0x1fc000 (optional)

blank.bin 0x7e000 & 0x1fe000

Následně propojíte USB-UART převodník s ESP modulem dle následující tabulky
RX – TX

TX – RX

IO0 – GND

CH_EN – VCC (3.3V)

GND – GND

Poznámka Martina – k CH_PD je možné připojit i RESET USB-UART převodníku, k IO0 naopak DTR – převodník ESP modul po nahrání sám resetuje.

Po propojení nakonec zapnete nápájení modulu VCC – VCC (3.3V).

Je nezbytné, aby IO0 bylo před zapnutím napájení uzemněno (nebo připojeno k DTR převodníku).

A nakonec nahrajete bin soubory.
/esptool-master $ sudo python esptool.py –port /dev/ttyUSB0 write_flash

0x00000 ./bin/boot_v1.7.bin

0x01000 ./bin/user1.1024.new.2.bin

0x1fc000 ./bin/esp_init_data_default_v08.bin

0x7e000 ./bin/blank.bin

0x1fe000 ./bin/blank.bin

A esptool vypíše následující:

esptool.py v2.8-dev

Serial port /dev/ttyUSB0

Connecting….

Detecting chip type… ESP8266

Chip is ESP8266EX

Features: WiFi

Crystal is 26MHz

MAC: 5c:cf:7f:e1:0f:e4

Uploading stub…

Running stub…

Stub running…

Configuring flash size…

Auto-detected Flash size: 2MB

Flash params set to 0x0030

Compressed 4080 bytes to 2936…

Wrote 4080 bytes (2936 compressed) at 0x00000000 in 0.3 seconds (effective 123.6 kbit/s)…

Hash of data verified.

Compressed 408388 bytes to 293527…

Wrote 408388 bytes (293527 compressed) at 0x00001000 in 25.9 seconds (effective 125.9 kbit/s)…

Hash of data verified.

Compressed 128 bytes to 75…

Wrote 128 bytes (75 compressed) at 0x001fc000 in 0.0 seconds (effective 85.2 kbit/s)…

Hash of data verified.

Compressed 4096 bytes to 26…

Wrote 4096 bytes (26 compressed) at 0x0007e000 in 0.0 seconds (effective 4679.1 kbit/s)…

Hash of data verified.

Compressed 4096 bytes to 26…

Wrote 4096 bytes (26 compressed) at 0x001fe000 in 0.0 seconds (effective 4675.9 kbit/s)…

Hash of data verified.

Leaving…

Hard resetting via RTS pin…

Odpojíme IO0 od GND a modul restartujeme (v případě, že nemáte propojený IO0 s DTR).

V konzoli pro seriovou komunikaci nastavíte port USB-UART převodníku a rychlost (119200) a zadáte příkaz

AT+GMR

Pokud pak přijmete tohle, je to dobře a tím vaše úsilí končí

AT version:1.6.2.0(Apr 13 2018 11:10:59)

SDK version:2.2.1(6ab97e9)

compile time:Jun 7 2018 19:34:26

Bin version(Wroom 02):1.6.2

OK

Sdílejte článek:

Související články

Plánujete vylepšit zařízení novějším Wi-Fi modulem s ESP32-C3 namísto staršího a slabšího modulu s ESP8266? Ač je ESP32-C3F (s ESP32-C3) rozměrově kompatibilní s ESP12F (s ESP8266), záměna není tak jednoduchá – prostá výměna modulů.

Hledání vhodného projektu, který by pomohl při vysvětlování základních pojmů a principů nemusí být jednoduché.

Po zkušenostech s ESP12E (NodeMCU, ESP8266) a teplotním čidlu SHT75 jsem se rozhodl vytvořit druhou verzi desky pro meteostanici.

Během vývoje SW podpory BigClown Wi-Fi modulu s čipem ESP8266 v modulu ESP12E Martin Grames objevil, že je potřeba aktualizovat AT firmware v ESP8266 pro podporu SNTP.