Ta strona używa ciasteczek (plików cookies), dzięki którym może działać lepiej. Dowiedz się więcejRozumiem i akceptuję
Odbierz rabat na filament!

Aktualizacja oprogramowania ESP8266-01

Autor Wiadomość
Klubbers 



Posty: 3
Wysłany: 17-06-2017, 23:48   Aktualizacja oprogramowania ESP8266-01

Witam.
Wiem, że w internecie jest pełno poradników, tutoriali i innych tematów dotyczących aktualizacji modułu ESP, lecz wydaje mi się, że wszystkie już przerabiałem i nic nie pomogło.

Jestem w posiadaniu 2 modułów ESP8266-01 wersja czarna z 1MB pamięci FLASH. Posiadam jeszcze moduł ESP-12E, lecz póki nie rozwiążę problemów z ESP-01 nie mam zamiaru go ruszać. A więc do rzeczy.

Do wszystkich aktualizacji używałem konwertera USB->UART FTDI F232 z opcją logiki 5V jak i 3.3V

Po odpakowaniu podłączyłem moduł do komputera (Win10) wgrałem wszystkie niezbędne sterowniki i zabrałem się do aktualizacji najnowszego oprogramowania. Z obecnej pozycji wiem, że błędem było nie sprawdzenie obecnej wersji oprogramowania, oraz tego czy moduł reaguje na komendy AT. Po "udanej" aktualizacji (XTCOM_UTIL) podłączam moduł w trybie pracy i okazuje się, że nie działają komendy AT. Ogólnie to nic nie działa, w serial monitorze wyskakują krzaki zarówno przy baudrate 9600 jak i przy 115200. Dla baudrate 74880 pojawia się taki błąd:
Kod programu: Zaznacz cały
 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x40100000, len 1396, room 16
tail 4
chksum 0xef
load 0x00000000, len 0, room 4
tail 0
chksum 0xef
ho 12 tail 0 room 4
load 0x00000000, len 0, room 12
tail 0
chksum 0xef
csum 0xef
csum err
ets_main.c


Wyczytałem, że jest to błąd reset, nie wiem jednak czym spowodowany. Wiem jedynie, że zmieniają się wartości boot mode. W razie podłączenia GPIO0 do masy w nawiasie otrzymamy (1,6), a gdy ponownie podłączymy pin CH_PD do zasilania kod błędu wynosi (1,7).
Próbowałem ponownych aktualizacji różnymi programami, z różnymi softami.
Używałem:
    XTCOM_UTIL - brak żadnych komunikatów o błędzie
    ESPflasher - tutaj przy 99% aktualizacji wyskakiwał błąd "failed to leave the flash" ale podobno wyskakuje to zawsze i nie ma wpływu na powodzenie aktualizacji
    NodeMCU flasher - program normalnie wykrywa moduł i aktualizacja przebiega pomyślnie. Po ponownym podłączeniu modułu serial monitor lub putty pokazuje krzaczki (tak jakby się nic nie zmieniło)
    FLASH DOWNLOAD TOOLS - program testowany w wersji 2.4 oraz 3.4.8. Adresy brałem z dokumentacji, a z braku informacji na temat ustawień, próbowałem różnych kombinacji. W SPI MODE wybierałem między DIO oraz QIO (gdzieś obiło mi się o uszy, że ma być QIO, ale nie byłem pewny), natomiast w FLASH SIZE wybierałem 4 lub 8 Mbit. Próbowałem wgrywać wszystkie 4 pliki, albo tylko główny - bez różnicy. W wersji 3.4.8 program tak jakby nie wgrywał nowego softu, a jedynie czyścił flash. Widać to po zapisach w okienku z logami. Program 3-krotnie wykonuje "erase flash" - do momentu aż pasek postępu "instalacji" oprogramowania nie osiągnie 100%. W wersji 2.4 "erase flash" wykonuje się jeden raz, a następnie program "wgrywa" oprogramowanie. A przynajmniej udaje, bo po zakończeniu wgrywania nie ma śladu po nowym sofcie.

    Próbowałem zaktualizować moduł za pomocą pythona - bez powodzenia


Oprogramowanie które próbowałem wgrać:
    ESP8266 v0.9.2.0 AT Firmware
    ESP8266 v0.9.5.0 AT Firmware
    ESP8266 v1.1.1.1 AT Firmware
    ESP8266 v1.3.0.2 AT Firmware
    ESP8266 v1.5.4 AT Firmware
    ESP IOT SDK - różne wersje
    ESP NONOS SDK - wersje 2.0.0 i 2.1.0
    NodeMCU firmware 2.1


Po 2 dniach bezsensownych prób postawienia ESP na nogi, spróbowałem wykorzystać Arduino Core dla ESP8266. Niestety mimo pozytywnego wgrania szkicu (przykład Blink, oraz własny skrypt z mrugającą diodą na GPIO2) nic nie działało. Tak jakby po pozytywnym wgraniu szkicu, dochodziło do formatu pamięci FLASH. Próbowałem także podpiąć kondensatory 100uF oraz 470uF między VCC i GND (podobno kiedyś to komuś pomogło :mrgreen: ).

Schemat podłączeń ESP8266-01 do konwertera FT232.
Dla programów (XTCOM_UTIL, ESPflasher)
FT232 -> ESP-01
GND -> GND
RX -> TX
TX -> RX
GND -> GPIO0

Konwerter zasilany był z USB, natomiast ESP z osobnego zasilania:
VCC -> 3.3V
CH_PD ->10kOhm -> VCC
RESET -> 10kOhm -> VCC

Dla pozostałych programów schemat połączeń wyglądał nieco inaczej (aczkolwiek ten powyżej tez próbowałem):

FT232 -> ESP-01
GND -> GND
RX -> TX
TX -> RX
DTR# -> GPIO0
RTS# -> RESET

Pozostałe zasilanie bez zmian.
VCC -> 3.3V
CH_PD ->10kOhm -> VCC

Do momentu zakończenia aktualizacji wszystko działa tak jak w podręczniku. Po zakończeniu flashowania i odłączeniu GPIO0, moduł tak jakby się formatował do stanu przed wgraniem oprogramowania.

Koniec..?

Nic bardziej mylnego. Zrozpaczony, zmęczony i mocno wkurzony odpakowałem drugi, taki sam moduł. Jako, że człowiek uczy się na błędach, po podpięciu ESP do komputera od razu odpaliłem serial monitor w Arduino IDE i sprawdziłem komendy AT. Okazało się, że działają. Wklepałem zatem AT+GMR i wyskoczyła mi wersja oprogramowania wgrana do modułu. Firmware AT v1.1.1.1. SDK version 1.5.4(baaeaebb). Z tego podniecenia, że mam działający moduł ESP (a przynajmniej komendy działają) straciłem głowę i poszedłem na całość. Wgrałem stworzony przez siebie szkic poprzez Arduino Core ESP8266 (ten z mrugającą diodą na GPIO2). Wiedziałem o tym, że po wgraniu jakiegokolwiek szkicu stracę komendy AT, ale były mi one niepotrzebne w przypadku działającego modułu pod Arduino lub Lua. No i wszystko szlag trafił. Szkic wgrany poprawnie, komend AT brak i działającego szkicu również. Reszty możecie się domyślić. Próby wgrania jakiegokolwiek oprogramowania kończyły się takim samym rezultatem jak w przypadku pierwszego modułu.

Ja już wyczerpałem swoje możliwości i wiedzę. Liczę na waszą pomoc i doświadczenie. Gdyby ktoś miał jakieś sprawdzone ustawienia do programu, albo wiedział co robię źle, to bardzo proszę o informację.
Z góry dziękuję i pozdrawiam.

Popularny artykuł » Kurs Raspberry Pi - #4 - instalacja systemu, RPi jako PC


Postaw piwo autorowi tego posta
 
 
deshipu 




Posty: 2043
Pomógł: 107 razy
Otrzymał 173 piw(a)
Programuję w:
Python, C, Lua
Należę do:
Nigmalabs
Moje roboty:
uKubik, pKubik, Katka, Tote

Wysłany: 18-06-2017, 11:19   

A jak zasilasz ten moduł? Musisz pamiętać, że on potrzebuje do 300mA prądu momentami, więc zasilanie go z samego adaptera usb-serial w najmniejszym stopniu nie wystarczy i moduł się będzie resetować jak tylko dojdzie do momentu włączania wifi.

Postaw piwo autorowi tego posta
 
 
Klubbers 



Posty: 3
Wysłany: 18-06-2017, 17:46   

Wydajność prądowa modułu zasilającego to 1A. Zasilacz 2A.
To nie wina zasilania, ponieważ gdybym nie dostarczył odpowiedniego prądu do modułu, to żaden program by mi go nie wykrył. A tymczasem w każdym programie mogę się swobodnie połączyć.

Postaw piwo autorowi tego posta
 
 
deshipu 




Posty: 2043
Pomógł: 107 razy
Otrzymał 173 piw(a)
Programuję w:
Python, C, Lua
Należę do:
Nigmalabs
Moje roboty:
uKubik, pKubik, Katka, Tote

Wysłany: 18-06-2017, 19:28   

Klubbers napisał/a:
To nie wina zasilania, ponieważ gdybym nie dostarczył odpowiedniego prądu do modułu, to żaden program by mi go nie wykrył. A tymczasem w każdym programie mogę się swobodnie połączyć.


Niestety twoja teoria nie jest prawdziwa. Ten moduł nie pobiera takiego samego prądu przez cały czas. W szczególności, gdy część odpowiedzialna za WiFi nie jest włączona (na przykład w trakcie programowania), to będzie działać poprawnie nawet zasilany z USB.

No ale skoro piszesz, że zasilasz go z zasilacza 2A, to powinno być wszystko w porządku. Niestety nie mam więcej pomysłów -- sam mam kilka takich modułów i u mnie one działają. Możesz spróbować jeszcze wykonać komendę erase_flash przed wgraniem nowego firmware-u, żeby się upewnić, że nie zostały żadne śmieci po starym...

Polecany artykuł » Kurs Arduino - #11 - podsumowanie, QUIZ


Postaw piwo autorowi tego posta
 
 
Klubbers 



Posty: 3
Wysłany: 20-06-2017, 15:14   

Niestety czyszczenie flasha nie pomogło. Jeżeli ktoś używał tego modułu i działały mu szkice wgrywane z Arduino to bardzo proszę o podzielenie się ustawieniami w Arduino IDE.

Postaw piwo autorowi tego posta
 
 
dylon 



Posty: 5
Wysłany: 25-06-2017, 14:05   

Cześć.
Mam dokładnie ten sam problem.

Flashowanie (poprzedzone kasowaniem) przechodzi ok, ale brak jakiejkolwiek reakcji potem.
Dokłądnie to samo robione na kości z 512kb pamięci przechodzi poprawnie i układ działa.

Żeby wykluczyć problemy z zasilaniem, podłączyłem ukłąd z ładowarki telefonu (5V, 2A) przez stabilizator ld33cv - (3.3V 0.8A)


Jakby kotś rozwiązał problem z tymi układami to proszę o pomoc :)

Ostatnio zmieniony przez dylon 25-06-2017, 14:05, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 
 
PyNone 



Posty: 45
Wysłany: 06-07-2017, 11:43   

ktoś odpowie?

Postaw piwo autorowi tego posta
 
 
deshipu 




Posty: 2043
Pomógł: 107 razy
Otrzymał 173 piw(a)
Programuję w:
Python, C, Lua
Należę do:
Nigmalabs
Moje roboty:
uKubik, pKubik, Katka, Tote

Wysłany: 06-07-2017, 12:59   

Nie sądzę, wydaje mi się, że temat został wyczerpany.

Postaw piwo autorowi tego posta
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Wersja do druku

Skocz do:  

Nie rozwiązałeś swojego problemu? Zobacz podobne tematy: Arduino, problem z o... Atmega - problem z b... Arduino ATmega 328-k... Arduino - dziwne zac...
lub przeszukaj forum po wybranych tagach: aktualizacja, esp826601, oprogramowania


Powered by phpBB modified by Przemo © 2003 phpBB Group
Popularne kursy: Arduinopodstawy elektroniki