Spisu treści:

Przywróć lub zaktualizuj oprogramowanie układowe modułu ESP8266 (ESP-01) za pomocą Arduino UNO: 7 kroków
Przywróć lub zaktualizuj oprogramowanie układowe modułu ESP8266 (ESP-01) za pomocą Arduino UNO: 7 kroków

Wideo: Przywróć lub zaktualizuj oprogramowanie układowe modułu ESP8266 (ESP-01) za pomocą Arduino UNO: 7 kroków

Wideo: Przywróć lub zaktualizuj oprogramowanie układowe modułu ESP8266 (ESP-01) za pomocą Arduino UNO: 7 kroków
Wideo: SUNGROW/07. Aktualizacja oprogramowania / Firmware download & update Zdalnie Remote Access 2024, Lipiec
Anonim
Przywracanie lub aktualizowanie oprogramowania układowego modułu ESP8266 (ESP-01) za pomocą Arduino UNO
Przywracanie lub aktualizowanie oprogramowania układowego modułu ESP8266 (ESP-01) za pomocą Arduino UNO
Przywracanie lub aktualizowanie oprogramowania układowego modułu ESP8266 (ESP-01) za pomocą Arduino UNO
Przywracanie lub aktualizowanie oprogramowania układowego modułu ESP8266 (ESP-01) za pomocą Arduino UNO
Przywracanie lub aktualizowanie oprogramowania układowego modułu ESP8266 (ESP-01) za pomocą Arduino UNO
Przywracanie lub aktualizowanie oprogramowania układowego modułu ESP8266 (ESP-01) za pomocą Arduino UNO
Przywracanie lub aktualizowanie oprogramowania układowego modułu ESP8266 (ESP-01) za pomocą Arduino UNO
Przywracanie lub aktualizowanie oprogramowania układowego modułu ESP8266 (ESP-01) za pomocą Arduino UNO

Moduł ESP-01, którego użyłem, pierwotnie był dostarczany ze starszym oprogramowaniem AI Thinker, co ogranicza jego możliwości, ponieważ wiele przydatnych poleceń AT nie jest obsługiwanych.

Ogólnie dobrym pomysłem jest uaktualnienie oprogramowania układowego w celu usunięcia błędów, a także, w zależności od funkcji wymaganych przez moduł ESP, może być wymagany pełniejszy zestaw obsługiwanych poleceń AT. Ten samouczek wyjaśnia również, jak przywrócić lub sflashować oryginalne oprogramowanie Espressif, jeśli zdarzy ci się zepsuć oprogramowanie ESP, na przykład przez nieprawidłowe polecenia AT. Tak się stało, gdy próbowałem zmienić domyślną szybkość transmisji z 115200 na 9600. Użyłem następującego polecenia (w oparciu o szybkie wyszukiwanie w Google):

AT+PWI=9600

To zamurowało moduł ESP-01. Żadne polecenia AT już nie działały, co skłoniło mnie do dalszych badań i po wielu godzinach w końcu znalazłem sposób na przywrócenie mojego ESP-01 i zainstalowanie najnowszego kompatybilnego oprogramowania układowego. Uznałem więc, że warto podzielić się całym procesem.

Uwaga: Opierając się na moim doświadczeniu, zdecydowanie odradzałbym używanie polecenia AT+IPR do zmiany szybkości transmisji, ponieważ najprawdopodobniej będzie to wymagało ponownego flashowania oprogramowania układowego. Istnieje jednak wiele różnych wariantów modułu ESP-01 z różnymi rozmiarami pamięci flash i fabryczną wersją oprogramowania układowego, więc Twoje wrażenia mogą się różnić.

Moduł ESP-01 nie jest zgodny z napięciem 5 V i wymaga 3,3 V do zasilania, ale także do poprawnej pracy na poziomie logicznym. Do komunikacji z komputerem moduł dodatkowo potrzebuje konwertera USB na szeregowy. Tak więc zamiast konwertera napięcia i przejściówki z USB na szeregowy zdecydowałem się na prostsze rozwiązanie. Ponieważ mam już Arduino UNO, użyłem go do zasilania modułu ESP-01 i nawiązania komunikacji między ESP-01 a komputerem, efektywnie działając jako most szeregowy.

Kieszonkowe dzieci

  1. Moduł ESP-01
  2. Arduino UNO (z kablem USB)
  3. Zworki DuPont
  4. Deska do krojenia chleba

Krok 1: Połączenia przewodowe

Połączenia przewodowe
Połączenia przewodowe
Połączenia przewodowe
Połączenia przewodowe
Połączenia przewodowe
Połączenia przewodowe

Połączenia przewodowe z modułem Arduino UNO i ESP-01 można łatwo wykonać za pomocą kabli połączeniowych i płytki stykowej. Połączenia między płytką rozwojową Arduino a modułem ESP opisane są w tabeli. Połączenia RX i TX nie są w tym przypadku odwrócone, ponieważ komunikacja nie odbywa się między modułem Arduino i ESP, ale między ESP a komputerem. Tak więc w tym przypadku płytka Arduino UNO jest używana jako most szeregowy za pośrednictwem wbudowanego konwertera USB na szeregowy.

Połączenie pinów RX pomiędzy płytką Arduino a modułem ESP powinno być wykonane poprzez dzielnik napięcia, ponieważ ESP-01 pracuje na poziomie logicznym 3,3 V, a odebranie poziomu logicznego 5 V z Arduino UNO mogłoby uszkodzić moduł ESP. Możesz zbudować prosty dzielnik napięcia 3,3 V używając tylko 2 rezystorów, jak pokazano na rysunku. Opcjonalnie możesz użyć konwertera poziomów logicznych.

Uwaga: W mojej konfiguracji po prostu podłączyłem piny RX bezpośrednio (nie zalecane!) i wszystko działało, ale jeśli zdecydujesz się zrezygnować z konwersji poziomu logicznego, postępuj na własne ryzyko!

Aby ustanowić wspólne połączenie uziemienia, pin uziemienia Arduino UNO jest podłączony do pinu uziemienia modułu ESP.

Arduino UNO służy do dostarczania zasilania 3,3 V bezpośrednio do pinu VCC modułu ESP. Podłącz pin 3,3 V do płytki stykowej za pomocą przewodu połączeniowego, ponieważ napięcie 3,3 V będzie używane nie tylko dla pinu VCC ESP, ale także pinu CH_PD ESP, aby włączyć układ ESP.

Pin RESET na Arduino UNO jest podłączony do uziemienia, aby ominąć dowolny kod przesłany przez Arduino, dzięki czemu kod jest wysyłany z komputera do ESP-01.

Rysunek w tabeli pokazuje pełny zestaw połączeń do flashowania oprogramowania układowego, ale na tym etapie nie podłączaj styków Reset i GPIO_0 ESP, ponieważ w następnym kroku będziemy tylko odczytywać informacje o oprogramowaniu układowym.

Krok 2: Sprawdź wersję oprogramowania

Sprawdź wersję oprogramowania
Sprawdź wersję oprogramowania

Aby znaleźć wersję oprogramowania ESP-01, w Arduino IDE Serial Monitor wpisz:

AT+GMR

Uwaga: Wszystkie polecenia AT muszą być pisane wielkimi literami bez spacji.

Oto wyjście szeregowe mojego ESP-01 (Twój moduł ESP może nie pokazywać dokładnie tych samych informacji, ponieważ zależy to od konkretnego modelu i daty wydania):

AT+GMR

Wersja AT:0.25.0.0 (5 czerwca 2015 r. 16:27:16) Wersja SDK: 1.1.1 Ai-Thinker Technology Co. Ltd. 23 czerwca 2015 r. 23:23:50 OK

Teraz, aby zaktualizować oprogramowanie do najnowszego oficjalnego oprogramowania Espressif ESP8266EX, przejdź do sekcji zasobów na jego stronie internetowej:

Uwaga: Lista dostępnego oprogramowania układowego może nie być zgodna z Twoim modelem ESP-01. Sprawdź sekcję Rozwiązywanie problemów na końcu tego samouczka, aby uzyskać więcej informacji.

Krok 3: Przygotowanie konfiguracji: przed flashowaniem oprogramowania sprzętowego

Przygotowanie konfiguracji: przed flashowaniem oprogramowania sprzętowego
Przygotowanie konfiguracji: przed flashowaniem oprogramowania sprzętowego

Teraz przygotujemy Arduino UNO do procedury flashowania oprogramowania ESP-01.

Upewnij się, że przewód Arduino RESET jest odłączony od uziemienia. Ponadto przewody TX i RX z Arduino UNO należy odłączyć od modułu ESP-01.

Otwórz Arduino IDE i z górnego menu przejdź do Plik > Przykłady > 01. Basics > BareMinimum. Prześlij szkic do Arduino UNO. Ten pusty szkic zapewni, że nie wystąpią zakłócenia komunikacji z modułem ESP.

Podłącz ponownie kable RX i TX między UNO i ESP-01. Podłącz również pin RESET UNO do uziemienia.

Pin CH_PD lub CH_EN oznacza „Chip Power-Down” lub „Chip Enable” i należy go wyciągnąć w stan WYSOKI lub podłączyć do 3,3 V, aby włączyć układ ESP.

Do pinów ESP potrzebne są dwa dodatkowe zworki: GPIO_0 i RESET.

GPIO_2 nie jest używane i pozostawione odłączone.

ESP-01 musi być ustawiony w tryb programowania, aby można było do niego wgrać kod. Ale ESP-01 nie ma na pokładzie niezbędnego dodatkowego sprzętu, aby osiągnąć to bezpośrednio, więc wszystko musi być podłączone osobno. Na własny użytek nie zawracałem sobie głowy używaniem przełączników, ale zamiast tego użyłem dwóch kabli połączeniowych męsko-żeńskich podłączonych do pinów GPIO_0 i RESET modułu ESP-01 i podłączyłem je do wspólnych pinów uziemienia płytki stykowej z uziemienia Arduino UNO.

Przed rozpoczęciem procedury flashowania, GPIO_0 jest podłączone do uziemienia dla całej procedury flashowania, aby włączyć tryb programowania.

Pin RESET jest podłączony do uziemienia na sekundę, a następnie usunięty. Pozwala to na załadowanie nowego oprogramowania układowego.

Krok 4: Pobierz narzędzie do flashowania i oprogramowanie układowe

Pobierz narzędzie do flashowania i oprogramowanie sprzętowe
Pobierz narzędzie do flashowania i oprogramowanie sprzętowe

Użyte oprogramowanie układowe pochodzi od Espressif, który jest oryginalnym producentem układu ESP8266.

Przejdź do: https://www.espressif.com/en/products/hardware/esp8266ex/resources, aby uzyskać dostęp do oficjalnych narzędzi i plików oprogramowania układowego AT.

W zakładce „Narzędzia” pobierz Flash Download Tools (ESP8266 i ESP32), obecnie najnowszy to V3.6.8.

W zakładce „AT” pobierz najnowsze zgodne oprogramowanie AT, czyli ESP8266 AT Bin V1.6.2 dla mojego modelu ESP-01. Zależy to od modelu ESP-01, ponieważ może on mieć różną wielkość pamięci flash. Więcej informacji na ten temat znajdziesz w sekcji WYKRYTE INFORMACJE programu Flash Download Tools po kliknięciu przycisku START, aby rozpocząć procedurę flashowania. Jeśli więc nie jesteś pewien, jaki rozmiar pamięci flash lub jakie pliki oprogramowania wybrać, po prostu uruchom program, aby uzyskać prawidłowe informacje o module ESP.

Po flashowaniu możesz użyć komend AT do testowania i pracy z ESP-01. Pobierz oficjalny zestaw instrukcji ESP8266 AT:

Krok 5: Procedura flashowania

Procedura migania
Procedura migania
Procedura migania
Procedura migania
Procedura migania
Procedura migania
Procedura migania
Procedura migania

Wyodrębnij plik zip Flash Download Tools i otwórz plik exe. Pamiętaj, aby uruchomić go jako administrator, jeśli używasz systemu Windows. Najpierw otworzy się okno DOS, a następnie wyskakujące okienko. Wybierz narzędzie do pobierania ESP8266. Spowoduje to otwarcie okna z kilkoma konfigurowalnymi opcjami.

Na tym etapie zapoznaj się ze zrzutem ekranu, aby dokładnie zobaczyć, jakie opcje wybrać i co wpisać w polach z kodem szesnastkowym obok każdego z wybranych plików oprogramowania układowego.

Uwaga: Wybierz pliki oprogramowania układowego w tej samej kolejności, ponieważ procedura flashowania jest wykonywana sekwencyjnie. Plik blank.bin należy wybrać trzy razy, jak pokazano na zrzucie ekranu zestawu instrukcji AT.

Aby znaleźć prawidłowe kody szesnastkowe lub adresy, sprawdź oficjalny dokument zestawu instrukcji AT. Załączyłem zrzut ekranu tabeli, której użyłem do flashowania mojego modułu ESP.

Następnie po prostu naciśnij przycisk START i obserwuj, jak dzieje się magia. Tekst przycisku pokaże SYNC, a sekcja WYKRYTE INFORMACJE wyświetli dane techniczne modułu ESP. Następnie pojawi się tekst POBIERZ, a pasek postępu zostanie aktywowany, gdy pliki oprogramowania układowego zostaną załadowane do pamięci flash ESP. Po zakończeniu procedury flashowania oprogramowania pojawi się komunikat: FINISH.

Zamknij program Flash Download Tools. Jest to konieczne, aby zwolnić port szeregowy, aby umożliwić przejęcie kontroli przez Arduino IDE Serial Monitor.

Odłącz pin ESP GPIO_0 od połączenia uziemienia. Spowoduje to wyłączenie trybu programowania.

Podłącz RESET do uziemienia na 1 sekundę, a następnie odłącz. To zresetuje moduł.

Otwórz środowisko Arduino IDE. Z górnego menu wybierz Narzędzia > Port > wybierz właściwy port COM. Otwórz Serial Monitor i wybierz „Both NL & CR” i wybierz prędkość transmisji 115200, która jest domyślna.

Rodzaj:

W

Jeśli procedura flashowania przebiegła poprawnie, odpowiedź będzie następująca:

ok

Aby zweryfikować nowe oprogramowanie, wpisz:

AT+GMR

Oto wyjście Serial Monitor dla mojego ESP-01:

AT+GMR

Wersja AT: 1.6.2.0 (13 kwietnia 2018 11:10:59) Wersja SDK: 2.2.1 (6ab97e9) czas kompilacji: 7 czerwca 2018 19:34:26 Wersja bin (Wroom 02): 1.6.2 OK

Krok 6: Zmień szybkość transmisji na stałe

Zmień szybkość transmisji na stałe
Zmień szybkość transmisji na stałe

Ta część jest opcjonalna. Domyślna szybkość transmisji to 115200, ale jeśli chcesz zmienić ją na inną, możesz po prostu wpisać następujące polecenie w Arduino Serial Monitor.

Na przykład, jeśli chcesz zmienić szybkość transmisji na 9600 / 8 bitów danych / 1 bit stopu / brak bitu parzystości / brak kontroli przepływu.

Wpisz:

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

Odpowiedź powinna być:

ok

Powyższe polecenie zmienia na stałe prędkość transmisji na 9600, ale możesz wybrać dowolną ze standardowych prędkości w bodach.

Krok 7: Rozwiązywanie problemów

Rozwiązywanie problemów
Rozwiązywanie problemów
Rozwiązywanie problemów
Rozwiązywanie problemów

Jeśli są jakieś anomalie po pomyślnym flashowaniu oprogramowania, na przykład w monitorze szeregowym, po wybraniu domyślnej szybkości transmisji 115200 i wpisaniu: AT, ale nie widać żadnej odpowiedzi lub po wpisaniu AT+GMR i otrzymaniu innego rodzaj informacji innych niż informacje o wersji oprogramowania układowego, oznacza to, że mogłeś sflashować niewłaściwe oprogramowanie układowe. W takim przypadku w programie Flash Download Tools, po naciśnięciu przycisku START w celu rozpoczęcia procedury flashowania oprogramowania, zielony przycisk statusu pokazuje SYNC i jest to etap, w którym informacje o module ESP są wyodrębniane i udostępniane w ramach WYKRYTE INFORMACJE. Ta informacja ma kluczowe znaczenie dla określenia odpowiedniego oprogramowania układowego i prawidłowych plików do flashowania.

Poniżej znajduje się mój moduł ESP-01:

dostawca flasha:

E0h: Nie dotyczy flash devID:4014h QUAD;8Mbit kryształ:26 Mhz

Twoje WYKRYTE INFORMACJE będą zależeć od modelu ESP-01. Ale to pozwoli ci wydedukować właściwy rozmiar lampy błyskowej. W moim ESP jest to 8Mbit, co odpowiada 1 MB. Oznacza to, że powinienem wybrać 512 KB + 512 KB z plików oprogramowania układowego. A to oznacza również, że oprogramowanie 1.7.0 lub 1.7.1 nie będzie działać poprawnie z moim modułem ESP, co również potwierdziłem flashując te oprogramowanie i testując. Ponadto w opisie oprogramowania sprzętowego 1.7.0 i 1.7.1 na oficjalnej stronie zasobów Espressif znajdują się następujące informacje: „Ograniczone rozmiarem pliku AT bin, obsługiwane jest tylko `1024+1024 flash map` domyślny. 1024+1024 oznacza, że jest to moduł ESP o łącznej wielkości pamięci flash 2048 KB lub 2 MB.

Uwaga: Jeśli się zastanawiasz, możesz przejść na starszą wersję lub uaktualnić różne wersje oprogramowania bez żadnych ograniczeń. Jeśli coś pójdzie nie tak, możesz po prostu ponownie flashować z innymi parametrami lub wypróbować inne oprogramowanie.

Zalecana: