sobota, 29 października 2016

Nie miała baba kłopotu ..... czyli nowy firmware dla ESP8266

A miało być tak pięknie

Program MIS po przeróbce na wersję ESP działa - a jakże. Tylko tak jakoś nie do końca.
Działa ale co jakiś czas się resetuje i to bez dania racji w całkiem przypadkowych momentach. Na tym tle tandem NANO<>ESP-01 to skała stabilności i zaufania.

Trzeba więc rozebrać program na części i zobaczyć co takiego może go wytrącać z równowagi. Minimum co trzeba zostawić to BLYNK, kontrola pracy systemu i obsługa kilku przycisków. Wszystko co wydaje się zbędne - out, załadunek do ESP ........ i to samo. Reset co 5-10 min. i wywala coś takiego

 ets Jan  8 2013,rst cause:2, boot mode:(3,0)
Exception (0):
epc1=0x402044a4 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000
ctx: sys
sp: 3ffffc30 end: 3fffffb0 offset: 01a0
ets Jan  8 2013,rst cause:2, boot mode:(3,6)
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v3de0c112




Powodem jest sprzętowy reset  cause:2,  ale nawet nie dotykam się do resetu więc co?
Niestety prof. Google jest nad wyraz oszczędny w podpowiedziach. Znalazłem tylko tu sugestię o zmianie firmware. Próbujemy więc pogmerać w elektronicznych zwojach mózgowych ESP

Wgrywanie nowego firmware do ESP


Opis jak to zrobić jest na szczęście jasny i klarowny >>>>>>>>>>
Początek można sobie darować. Start od akapitu >>ESP Flash Download Tool<<.
- Ściągamy FLASH_DOWNLOAD_TOOLS_v2.4
- ściągamy najnowszy SDK - mój ESP8266_NONOS_SDK_V2.0.0_16_08_10 był tu >>>>>>>>> 
- rozpakowujemy to gdzieś
- odpalamy FLASH_DOWNLOAD_TOOLS_v2.4 i ustawiamy właściwy port i prędkość na dole po lewej stronie - będziemy mieli do dyspozycji dwa okna: programu i terminalowe
- wprowadzamy ESP w stan bootmode jak do wgrywania programu (GPIO 0 =0 i RST)
- sprawdzamy czy WSZYSTKIE okienka przy nazwach plików są ODZNACZONE
- Naciskamy START na dole i program ładnie sczyta z ESP różne dane


Najważniejsza to informacja o ilości pamięci - do wgrania nowego softu potrzeba już pamięć 1MB (8Mb). Odpadają więc niebieskie ESP-01 z pamięcią 4Mb - kupować tylko czarne z 8Mb!

W moim ESP-07 jest 8Mb więc OK. Teraz w polach set firmware path trzeba wstawić odpowiednie odnośniki do plików z firmwarem i DOBRZE ustawić adresy pamięci gdzie mają być wgrane bloki oprogramowania. TE DOMYŚLNE SĄ BŁĘDNE

Dla ESP-07 z 8Mb wygląda to tak


Są do ustawienia 3 pliki z podkatalogu \bin
- esp_init_data_default.bin z adresem 0xfc000
-  blank.bin z adresem 0xfe000
-  u mnie boot_v1.2.bin lub boot_v1.6.bin z adresem 0x00000 - wybrałem nowszy 1.6
czwarty plik z komendami AT jest w katalogu AT i podkatalogu 512+512 (8Mb)
- user1.1024.new.2.bin z adresem 0x01000

Sprawdzamy wszystko pięć razy czekujemy okienka przy nazwach plików i naciskamy START
Jeśli wszystko jest OK na dole niebieski pasek zacznie się powiększać a w oknie terminalowym zobaczymy kolejne działania programu.
Na koniec dostaniemy coś takiego


  I to w zasadzie wszystko.
W monitorze Arduino IDE możemy sprawdzić co się wgrało komendą AT+GRM (reset)
np. coś takiego


Pięknie. Więc szybko wgrywam program testowy i .......... (tu słowo niecenzuralne).
Procesor już się nie resetuje ale komunikacja z BLYNK rwie się co chwila. Jest gorzej niż było!

Na szczęście ten objaw jest już znajomy - to brak sztywnego ustawienia ESP w mod STA i brak wgranej domyślnej sieci wifi.

Pomocny w tym programik ESP Config szybko pozwoli to naprawić. Tylko jest jedno ale - nie można tego zrobić PO wgraniu własnego programu - trzeba mieć czysty ESP z firmwarem.

Więc jeszcze raz flash procesora i ustawienie STA i sieci do logowania programem ESP Config.


Sprawdzam po godzinie zapis  monitora Arduino IDE - nic, czysto, ani jednego resetu czy zerwania komunikacji z BLYNK. Czyżby jeszcze raz sukces?

Zobaczymy jutro a na razie czekamy na cd.........

Brak komentarzy:

Prześlij komentarz