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:
Ukaž světu,
že jsi Maker!
Koupit tričko
Kafe pro Chiptrona
Dodej energii dalšímu článku

Související články

Oprava nefunkčního Riden RD6006

Dostal se mi do rukou „mrtvý“ regulovatelný zdroj RIDEN RD6006. Po zapnutí se neprojevoval žádnými známkami života. Jal jsem se ho tedy oživit a tady dávám návod pro ostatní. Navíc jsem nahrál alternativní firmware, který má několik předností oproti tomu oficiálnímu.

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.

Trendy