Ta strona używa ciasteczek (cookies), dzięki którym możliwe jest między innymi poprawne wyświetlanie elementów strony, zapamiętywanie sesji użytkowników. Dodatkowo na stronie znajduje się skrypt Google Analytics oraz PIWIK (statystyki oglądalności). Znajdują się również skrypty przycisków serwisów społecznościowych Facebook, Twitter i Google+ oraz YouTube, które również mogą zapisywać ciasteczka.

ESP8266Flash Firmware

Mam przyjemność zaprezentować nową aplikację jaką jest ESP8266Flash. Jest to pierwszy tego typu program na macOS z graficznym interfejsem użytkownika dla "esptool.py". Każdy kto zmieniał firmware w ESP8266 prawdopodobnie robił to używając "esptool.py". Niestety, jak to najczęściej bywa, użytkownicy macOS nie mieli innej możliwości zmiany firmware w ESP jak tylko poprzez terminal. Nie jest to oczywiście nic strasznego, ale zabiera trochę czasu. Jakby nie patrzeć polecenia trzeba wpisać samemu. A jak dodać jeszcze do tego konieczność podania ścieżki lub ścieżek do plików z firmware, to tworzy się również sporo możliwości popełnienia błędu.

Firmware oczywiście nie zmienia się codziennie. Co nie oznacza że nie można tej czynności sobie ułatwić. Właśnie po to powstała aplikacja ESP8266Flash żeby było łatwiej i dodatkowo szybciej.

Aplikacja sama w sobie nie zawiera skryptu "esptool.py", jest graficzną nakładką na ten skrypt. Spowodowane jest to tym że skrypt ten jest ciągle rozwijany i raczej ciężko było by nadążyć z aktualizacjami programu ESP8266Flash wraz z każdą nową wersją "esptool.py".

Sama procedura instalacji "esptool.py" nie różni się od tej opisanej w tym poradniku. Dodam tylko że podczas instalacji skryptu na świeżo postawionym systemie macOS, bez zainstalowanego Xcode, system zapyta czy zainstalować narzędzia pomocnicze Xcode. Oczywiście należy wyrazić zgodę.

Po zakończeniu kompilacji, na koncie administratora zostanie utworzony folder "esptool" i w nim znajdą się wszystkie potrzebne pliki wraz ze skryptem "esptool.py". Folder "esptool" trzeba przekopiować do folderu "Aplikacje". Dzięki temu dostęp do skryptu będzie możliwy również z konta zwykłego użytkownika. Jest to warunek niezbędny do poprawnego działania ESP8266Flash. Wynika to z polityki Apple w kwestii dostępu i uprawnień użytkowników do zasobów systemu. W prawidłowo skonfigurowanym systemie jeden użytkownik nie może korzystać z zasobów innego użytkownika, oprócz tych które są w miejscu dostępnym dla wszystkich użytkowników systemu, a takim właśnie miejscem jest folder "Aplikacje". No chyba że jest się na tyle odważnym że konto z uprawnieniami administratora jest jedynym kontem w systemie i służy do codziennej pracy. Wtedy nie ma potrzeby kopiowania folderu "esptool". Przypomnę tylko, że jest wysoce zalecana praca na macOS na koncie z uprawnieniami zwykłego użytkownika. Konto administratora służy głównie do zarządzania zasobami komputera oraz systemu i dla własnego bezpieczeństwa lepiej z niego nie korzystać na codzień.

Po zainstalowaniu "esptool.py" jest on gotowy do użycia, można uruchomić ESP8266Flash. Aplikacja nie zawiera żadnych paneli konfiguracyjnych. Wszystkie potrzebne dane ustawia się w oknie głównym programu. Zresztą nie ma ich zbyt wiele. Konfiguracja ogranicza się do podania ścieżki do "esptool.py", wybrania portu poprzez który będzie się odbywała komunikacja z modułem ESP8266 oraz ustalenia prędkości tej komunikacji. Reszta pól służy do wprowadzenia ścieżek dostępu dla plików z firmware.

Port do komunikacji z modułem ESP8266 wybiera się z rozwijanej listy. Na liście widoczne są tylko te porty które są w systemie dostępne. Aby port do komunikacji z ESP8266 znalazł się na liście należy wcześniej podłączyć konwerter FTDI. Jeżeli konwerter zostanie podłączony przed uruchomieniem ESP8266Flash to znajdzie się on na liście od razu po starcie programu, a jeśli już wcześniej był wybrany to będzie automatycznie ustawiony jako docelowy. W sytuacji kiedy konwerter będzie podłączany po stracie aplikacji, konieczne będzie użycie przycisku "Refresh" znajdującego się obok listy wyboru portów i następnie wybranie właściwego portu. Może się zdarzyć że pomimo podłączenia konwertera do USB, system nie będzie go widział. Nie oznacza to od razu uszkodzenia konwertera. Czasami się zdarza że port USB ulega jakby zblokowaniu, to znaczy myszki, klawiatury na takim porcie działają bez problemu ale już na przykład programator USBAsp lub konwerter FTDI nie będzie działać. W takiej sytuacji należy przepiąć konwerter do innego portu USB a jeżeli nadal nie będzie działał to pozostanie uruchomienie systemu od nowa.

Prędkość komunikacji ustala się poprzez wybranie określonej wartości z rozwijanej listy. Dostępne prędkości na liście są standardowymi prędkościami dla transmisji szeregowej. Im wybrana większa wartość tym szybciej firmware zostanie wgrany do ESP8266. Testowałem wszystkie dostępne wartości i z żadną nie było problemów. Jakby jednak pojawiły się problemy z komunikacją przy wyższych prędkościach to należy ustawić niższą prędkość. Przy tej okazji przypomnę o czymś co wielokrotnie już poruszałem w poradnikach o ESP8266. Moduły ESP8266 są bardzo wrażliwe na jakość napięcia, dlatego należy zapewnić im stabilne napięcie 3,3 V do bezproblemowej komunikacji i zadbać o dobrą jakość połączeń.

Wskazanie ścieżki do "esptool.py" odbywa się poprzez okno dialogowe. Ogranicza się ono tylko do wskazania folderu "esptool" w którym to znajduje się plik "esptool.py". Przypomnę że folder "esptool" musi być w folderze "Aplikacje".

ESP8266Flash umożliwia zmianę firmware zapisanego w jednym pliku jak i podzielonego na pliki. W obu przypadkach wyboru plików do wgrania dokonuje się poprzez okno dialogowe. To ile będzie można wskazać plików jest zależne od wybranej opcji wgrywania. Wybranie NodeMCU/MicroPython oznacza że wgrany ma zostać tylko jeden plik. Niekoniecznie musi to być plik z firmware NodeMCU lub MicroPython. Zdażyło mi się spotkać w internecie firmware z komendami AT skompilowany do postaci jednego pliku. Taki plik również może być wgrany do ESP8266 mimo zaznaczonej opcji NodeMCU/MicroPython. Tak naprawdę to nie ma ona wpływu na sam proces wgrywania. Jest tylko jako pomoc dla osób początkujących. Dzięki temu reszta pól wyboru jest nieaktywna przez co nie sugeruje konieczności wybierania innych plików.

Do wgrania oprogramowania składającego się z kilku plików służy opcja "ESP8266 SDK". Uaktywnia ona wszystkie pola ścieżek dostępu do plików. Dodatkowo podpowiada jakie pliki należy wybrać, w postaci opisów w każdym polu. Podpowiedzi te głównie dotyczą, najbardziej chyba popularnej wersji modułów z ESP8266 jakim jest ESP-01. Do tej wersji też odnoszą się adresy pamięci do której będą wgrywane pliki. Wartości te są jednymi z podstawowych i z powodzeniem przetestowane na ESP-01 oraz na ESP-07. Gdy jednak zajdzie potrzeba zmiany adresów, bez problemu można takowej zmiany dokonać. Pola z adresami są w pełni edytowalne.

Aby uniknąć problemów z błędnie wgranym firmware, najlepiej jest posiłkować się dokumentacją do niego dołączoną. Zawarte są w niej informacje na temat plików jakie należy wgrać oraz adresy pamięci. To jakie pliki się wgrywa zależne jest od wersji modułu z ESP8266 jak i ilości pamięci flash jakim on dysponuje. Te informacje należy zdobyć od sprzedawcy danego modułu z ESP8266. W przypadku braku takich informacji, najbezpieczniej będzie wgrać pliki na podstawie podpowiedzi w polach ścieżek dostępu i pod ustawione w programie adresy pamięci.

Jak już wspominałem aplikacja została przetestowana z modułami ESP-01 i ESP-07. Na modułach tych dokonywałem wielokrotnie zmiany firmware używając ESP8266Flash i przebiegała ona zawsze bez problemu o ile zadbałem o właściwe zasilanie. Na chwilę obecną program oferuje tylko podstawową funkcjonalność skryptu "esptool.py" ograniczającą się do wgrywania firmware do modułów z układem ESP8266.

 

 

Historia:

  • v 1.0.0 (02.2018)

Pierwsza oficjalna dystrybucja.

Tags: ESP8266, Firmware, ESP-01, ESP-07

E-mail

Dodaj komentarz


Kod antyspamowy
Odśwież