Jak zrobić update programu przez stronę www, w urządzeniu ESP8266.
Aby ułatwić zrozumienie tego problemu wykorzystamy program napisany w poprzednim wpisie.
Najpierw dopisz nową bibliotekę za już istniejącymi:
#include <ESP8266HTTPUpdateServer.h>
Następnie przed stałą z numerem portu serwera www, wstaw login i hasło do systemu. Aby zrobić update należy podać logi i hasło.
// login i hasło do sytemu const char* www_login = "admin"; const char* www_pass = "esp8266";
Przed funkcją HTMLHeader() dopisz linijkę inicjującą serwer update.
ESP8266HTTPUpdateServer httpUpdate;
Na początku funkcji setservers() wstaw linijkę konfigurującą serwer httpUpdate.
httpUpdate.setup(&server,"/update", www_login, www_pass); // umożliwia aktualizację poprzez WiFi
To są wszystkie zmiany jakie trzeba zrobić w programie, aby uruchomić możliwość wgrania nowszej wersji oprogramowania. Teraz, aby nasz plik binarny programu z rozszerzeniem .bin znalazł się w katalogu gdzie zapisaliśmy nasz główny program Strona-www.ino, należy w Arduino wcisnąć Ctrl-Alt-S.
Przed zrobieniem update musisz zresetować urządzenie ESP8266 (przyciskiem Reset na urządzeniu lub odłączenie i ponowne włączenie zasilania). Jeśli update zrobisz chwilę po wgraniu programu przez USB i go nie zresetujesz, to update ci nie zadziała. Nie będzie napisu:
Update Success! Rebooting...
i strona www się nie otworzy.
Po prawidłowym uzupełnieniu, skompilowaniu i wgraniu programu (pamiętaj o resecie), będziesz miał możliwość zrobienia update przez stronę www. W przeglądarce www wpisz http://IPurządzenia/update, teraz zostaniesz poproszony o logi i hasło. Wpisz login admin i hasło esp8266. Login i hasło możesz ustawić dowolne zmieniając wartość www_login i www_pass. Następnie wybierz katalog gdzie znajduje się plik binarny. Potwierdź (nazwa pliku pojawi się na ekranie) i wciśnij przycisk Update. W lewym dole ekranu będzie widać procentowy postęp wgrywania. Na koniec zostaniesz poinformowany o prawidłowym wykonaniu update i urządzenie zostanie uruchomione ponownie.
Zmiany te należy wpisać do każdego programu, w który chcemy mieć możliwość uruchomienia update.