Blog (446)
Komentarze (5k)
Recenzje (0)

Terminal ESP32 ze zintegrowanym wyświetlaczem ILI9488

@wojtekadamsTerminal ESP32 ze zintegrowanym wyświetlaczem ILI948824.07.2023 16:49

Od dłuższego czasu staram się zrobić porządek ze wszystkim urządzeniami IoT, które mam w domu i spiąć je w jeden ekosystem za pomocą Home Assistant. Oczywiście wszystko idzie powoli i rodzi się w bólach. 

Sam Home Assistant już działa dawno, ale urządzeń za dużo nie przybyło, ponieważ brakowało mi brami BLE, dzięki której mógłbym wpiąć, chociażby czujniki wilgotności i temperatury od Xiaomi, ale to się właśnie się zmieniło dzięki ESP32 Terminal od Elecrow

Jest to mały terminal oparty na mikrokontrolerze ESP32 z obsługą Wi-Fi 2,4 GHz i Bluetooth 5.0 i ze wbudowanym 3,5-calowym ekranem dotykowym o rozdzielczości 320x480. A dzięki obsłudze LVGL (najpopularniejszej otwartoźródłowej bibliotece graficznej) możemy stworzyć z łatwością interfejs użytkownika przy użyciu, chociażby Squareline studio.

[1/1]

Z tyłu tego terminala wyprowadzono 4 interfejsy Crowtail, do których można podłączyć czynniki, które opisywałem przy okazji recenzji laptopa CrowPi L. Dodatkowo wyposażony jest również w gniazdo kart SD, brzęczyk (buzzer), piny do połączenia baterii i USB-C do komunikacji i zasilania.  

[1/4]
[2/4]
[3/4]
[4/4]

Podłączając świeżo wyciągnięty z pudełka terminal do prądu, włączy się on w trybie demonstracyjnym biblioteki LVGL, gdzie będziemy mieli okazję przetestować kontrolki i widgety oferowane przez nią.  

Poza samym urządzeniem Elecrow dostarcza obszerną dokumentację ze specyfikacjami poszczególnych komponentów i schematem połączeń IO. Ponadto na Wiki producenta znajdziemy aż 16 lekcji, dzięki którym nawet mniej doświadczeń użytkownicy zapoznają się z możliwościami terminala i jego wstępną konfiguracją krok po kroku. 


Pierwsza lekcja z samouczka jest bardzo ważna, prezentuje ona wymagane ustawienia w Arduino IDE, abyśmy mogli zacząć rozmawiać z terminalem. Zawiera również wszystkie potrzebne paczki, jak i przykładowy kod źródłowy do przetestowania czy komunikacja działa prawidłowo. Lekcja ta jest uniwersalna dla kilkunastu różnych produktów z oferty Elecrow, więc niektórzy użytkownicy mogą czuć się zagubieni, dlatego też warto zerknąć na dedykowane artykuł dla tego terminala, które znajduje się pod linkiem i zawiera dedykowaną konfigurację.

[1/4]
[2/4]
[3/4]
[4/4]

Mój pierwszy kod, jaki uruchomiłem na terminalu Elecrow to było kombo z przykładów załączonych przez producenta. Od razu chciałem przetestować kilka rzeczy naraz:

  • kompatybilność z elementami Crowtail — dioda mruga kiedy nie ma połączenia z routerem
  • łączność Wi-Fi
  • i wypisywanie informacji na wyświetlaczu

Teraz przyszedł moment na podłączenie do Home Asistanta, według informacji na stronie projektu ESPHome zarówno użyty w terminalu mikrokontroler (ESP32-S3) jak i sterownik wyświetlacza (ILI9488) są obsługiwane, więc powinno pójść gładko.

Moja instancja Home Asisstanta uruchomiona została na Proxmoxie, więc wcześniej musiałem wywłaszczyć jeden port USB dla maszyny wirtualnej, abym mógł podłączyć bezpośrednio do niej terminal w celu wgrania pierwszy raz kodu. 

[1/1]

Etap konfiguracji terminala z Home Asisstanta to dosłownie kilka kroków. Przede wszystkim musimy doinstalować rozszerzenie ESPHome, które umożliwia komunikację z "płytkami" opartymi na tym kontrolerze. 

[1/5]
[2/5]
[3/5]
[4/5]
[5/5]

Pakiet ESPHome możemy zainstalować spod menu Ad-ons, które znajduje  się w sekcji ustawień (z ang. Settings). Dalej pozostaje dodać nowe urządzenie i wybrać jego typ, w naszym przypadku będzie to oczywiście ESP32-S3. Dalej pozostaje konfiguracja pliku YAML, w którym ustawimy urządzenie, aby działało w trybie bramki BLE i wysyłało zebrane dane z sensorów do naszego Home Asisstanta. 

[1/7]
[2/7]
[3/7]
[4/7]
[5/7]
[6/7]
[7/7]

Do tego momentu szło gładko. Udało mi się zestawić połączenia z wcześniej przygotowanymi sensorami "Xiaomi Mi Temperature And Humidity Monitor 2", a także z sensorem bezpośrednio wpiętym w terminal, który również monitoruje temperaturę i wilgotność pomieszczenia.

[1/3]
[2/3]
[3/3]

Jak już wspomniałem, pierwsze wgraniu oprogramowania wymaga połączenia przez USB, kolejne zmiany konfiguracji były możliwe „drogą lotniczą" przy użyciu połączenia Wi-Fi.  

[1/2]
[2/2]

Problem napotkałem dopiero w momencie kiedy  do pliku YAML dopisałem kilka linijek instrukcji, które pozwolą wyświetlić informacje na wbudowanym w terminal wyświetlaczu. Jednak przeliczyłem się, a tak naprawdę nie doczytałem wymagań aktualnej implementacji modułu ILI9xxx dla ESPHome. Komponent ten potrzebuje deklaracji interfejsu SPI do komunikacji, ale mój terminal nie używa go do połączenia z wyświetlaczem a z czytnikiem kart SD, więc połączenie aktualnie jest niemożliwe. 

[1/2]
[2/2]

Gdybym wiedział to wcześniej, wybrałbym do testów inny model z oferty Elecrow, tylko 5$ droższy, który nie dosyć, że ma podłączony ekran przez SPI, to dodatkowo posiada wbudowaną kamerkę OV2640 i więcej portów do wpięcia elementów Crowtail.

Na ten moment, pozostaje mi mieć nadzieję, że w najbliższym czasie znajdzie się jakiś pasjonata, który dopisze kawałek kodu i tym samym umożliwi obsługę wyświetlaczy z rodziny ILI9xxx połączonych równolegle, a nie przez interfejs SPI.


Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.