Wprowadzenie
Ten opis ma na celu wyjaśnienie/pokazanie jak skonfigurować edytor Visual Studio Code z dodatkiem PlatformIO i w łatwy sposób kompilować i wgrywać oprogramowanie AIS-Tasmota do urządzeń działających na układzie ESP8266.
Ten opis jest dla osób, które budują własne urządzenie oparte na ESP8266 i chcą dodać obsługę czujników czy sterowników, których nie ma w naszych domyślnych kompilacjach.
W pozostałych przypadkach nie ma potrzeby wykonywać własnej kompilacji. Ponieważ na naszej stronie udostępniamy już gotowe zbudowane i przetestowane wersje oprogramowania. Wystarczy:
- Pobrać skompilowaną wersję: https://powiedz.co/ota/
- Wgrać do urządzenia zgodnie z instrukcją:
a) W przypadku pierwszego programowania → Ogólne: Wgrywanie oprogramowania do urządzeń IoT (AI-Speaker - Home Assistant) (dzięki @Tomasz)
b) W przypadku aktualizacji oprogramowania → Aktualizacji oprogramowania: w naszej dokumentacji
Instalacja edytora i kodu
Pobierz i zainstaluj Visual Studio Code
Pobierz i zainstaluj zgodnie z opisem dla twojego systemu operacyjnego:
https://code.visualstudio.com/
Zainstaluj dodatek PlatformIO
W Visual Studio Code wybierz View → Extensions
i wpisz PlatformIO w polu wyszukiwania.
Wybierz oficjalne rozszerzenie PlatformIO.org PlatformIO IDE i wybierz opcję Instaluj.
Zaakceptuj, aby zainstalować zależności.
Pobierz AIS-Tasmota
Pobierz najnowszą wersję kodów AIS-Tasmota ze strony: GitHub - sviete/AIS-Tasmota: 🤖 Software for ESP8266 devices. With Web, MQTT and OTA firmware using PlatformIO i rozpakuj do wybranego folderu.
Otwórz folder ze źródłami AIS-Tasmota
W Visual Studio Code wybierz File → Open Folder i podaj lokalizację do folderu, do którego rozpakowałeś źródła:
Kompilowanie
Naciśnij ikonkę PlatformIO po lewej stronie na pasku, by zobaczyć wszystkie dostępne zadania w projekcie:
Kompilację można wykonać wybierając zadanie Build
Zmiana ustawień kompilacji
Najważniejsze ustawienia są w dwóch plikach
- platformio.ini
- my_user_config.h
W pliku platformio.ini możesz wybrać rodzaje kompilacji do wykonania, odkomentowując(usuwając znak ; na początku linijki) stosowne linijki (domyślnie kompilujemy tasmota-PL)
Dodatkowo w pliku tym możesz ustawić wersję Core/SDK, która ma być użyta w oprogramowaniu wynikowym. Domyślnie stosujemy najnowszy Arduino Core (Open Source) dla układów ESP8266 / ESP8285 w wersji 2.6.x. Dzięki temu mamy pewność, że bazujemy na najlepszej dostępnej obecnie wersji bibliotek. Jeśli chcesz/potrzebujesz, to możesz zastosować inną (starszą) wersję Arduino Core, ale może spowodować to wystąpienie problemów ze stabilnością i bezpieczeństwem urządzenia.
W pliku my_user_config.h możesz wybrać dodatkowe funkcjonalności, które mają być dostępne, odkomentowując (usuwając znaki // na początku linijki) stosowne linijki. Dodanie dodatkowych funkcjonalności (sterowników i kodu) ma wpływ na wielkość wynikowego oprogramowania.
Wgrywanie do urządzenia
W pliku platformio.ini ustaw opcje dla komunikacji po porcie szeregowym:
Podłącz urządzenie do wybranego portu, w trybie programowania - zwierając GPIO 0 z masą.
Wybierz zadanie Upload:
Monitorowanie pracy urządzenia
Po zaprogramowaniu możesz łatwo sprawdzić działanie urządzenia, obserwując jego logi, w tym celu podłącz ponownie urządzenie do wybranego portu w trybie pracy (bez zwierania GPIO 0 do masy).
Następnie wybierz z zadań opcję Monitor:
PS
Opis powstał podczas kompilowania wersji 8.1.0
Testujemy tę kompilację teraz na urządzeniach i jak wszystko będzie OK to w ciągu kilku dni udostępnimy na OTA.