![]() Szybkie szukanie |
ESPHome rozszerzenie Home Assistanta o DIY oparte na ESP
|
16-11-2019, 05:10
(Ten post był ostatnio modyfikowany: 14-02-2020 14:57 przez szopen.)
Post: #2
|
|||
|
|||
Home Assistant (Hass.io) - ogromne możliwości integracji ID
W międzyczasie dotarł do mnie dość miniaturowy wyświetlacz e-ink (znów e-papier
![]() https://esphome.io/components/display/wa...paper.html po 2 dniach "walki" uzyskałem końcową konfigurację, która póki co mnie zadowala (1 dzień to były testy jak się zachowuje sam wyświetlacz i co umożliwia środowisko ESPHome i zabawa w kotka i myszkę co zrobić, aby sobie nie uwalić działającego kodu ![]() ![]() Polecam na początek przeanalizować taki nieskomplikowany przykład użycia wyświetlacza OLED (bazującego na SSD1306 lub SH1106 - takie wyświetlacze swoją drogą są dość taniutkie) a zwracam na to uwagę, bo projekt ESPHome jest dość ciekawy dla początkujących użytkowników HA i umożliwia wymianę danych w obie strony bez uruchamiania dodatkowego brokera MQTT, a w tym przykładzie jest to ładnie opisane: https://esphome.io/cookbook/display_time_temp_oled.html Generalnie do pracy z wyświetlaczami trzeba poczytać przed próbami użycia, bo silnik renderujący żywcem opiera się na funkcjach z języka C++ i składnia jest dość radykalnie inna od pozostałych komponentów ESPHome czy HA, gdzie przeważa YAML (ale i tak trzeba pilnować wcięć, bo nawet jedna zbędna spacja nawet przed komentarzem może rozwalić kod na tyle, że kompilacja nie będzie możliwa) https://esphome.io/components/display/index.html Parę uwag: - wpadłem na genialny pomysł aby podpiąć linię Reset wyświetlacza do GPIO0 ESP8266, bo nie chciało mi się szukać rezystora do pullup'u (to finalnie będzie jedno z uproszczeń), a tymczasem zapomniałem, że GPIO0 jest zarezerwowanym pinem, gdy się korzysta z bajeru z pomiarem napięcia na procku, a tymczasem to dopiero co opisałem w poprzednim poście ![]() - współrzędne pikseli są numerowane (przynajmniej w przypadku mojego wyświetlacza, ale reguła wygląda na bardziej ogólną) od 0 do 199, a nie od 1 do 200 (dla rozdzielczości 200pix) - na polskie literki prawdopodobnie nie ma co liczyć (nakombinowałem się ze znalezieniem jakiejś fajnej czcionki z PL znakami, ale odpuściłem znalezienie rozwiązania, bo wiele znaków się i tak nie renderuje jak należy, dlatego użyłem "PM1" zamiast zapisanych symbolicznie "mikrogramów na metr sześcienny"), fonty to zwyczajne *.ttf trzeba je wrzucić do katalogu ESPHome (lub lepiej do podkatalogu by nie utknąć w bałaganie i podawać do ścieżkę względną z nazwą katalogu) - jeśli chodzi o renderowanie grafiki, to przećwiczyłem *.png z alfakanałem - chciałem mieć ikonki MDI, czyli zgodne wyglądem z HA, pobierając je z https://materialdesignicons.com/ właśnie takie dostaniemy - nie działają, alfakanał jest ignorowany (może można to zrobić prościej, ale nie wiem jak, może nie dokopałem się w dokumentacji?) obszedłem to obrabiając grafikę by się pozbyć alfakanału, przy okazji zredukowałem ilość kolorów do 2 (nie jestem przekonany, czy był to dobry pomysł, ale chciałem zoptymalizować ich rozmiar, a zależy mi tez na czytelności, nie wiem czy się wyświetlą szarości) - w ramach testów wyszło na to, że obsługiwane są pliki *.bmp, *.gif i *.png (więcej formatów nie próbowałem) byleby bez alfakanału, teoretycznie renderer obsługuje skalowanie, ale skoro już obrabiałem grafikę, to przygotowałem sobie ikony w finalnym rozmiarze 48x48pix (co daje możliwość wyświetlenia 4 linii z wiodąca ikoną), ale oczywiście nie ma musu - testowałem też mniejsze wymiary, ale te były idealne na moje potrzeby (mniejsze niż 24x24pix raczej nie mają sensu); uwaga odnośnie katalogów identyczna jak dla czcionek A tak wygląda już po konfiguracji (na zdjęciu pierwszy layout - czyli 1 strona, na drugiej mam zegar z datą, czyli nic ciekawego), 3 pierwsze wskazania to lokalne czujniki (opisałem je wcześniej), a czwarte to poziom pyłu PM1 odczytywany z najbliższej miejscu ostatecznej instalacji stacji badania jakości powietrza Airly ("państwowej" tj. sponsorowanej przez gminę). No OK wyświetlanie czasu jednak też jest ciekawe https://esphome.io/components/time.html#strftime ja sobie podbieram czas z HA https://esphome.io/components/time.html#...ime-source ale można też choćby z… modułu GPS, albo z internetu przez powszechnie stosowany SNTP Tak przy okazji - pod poniższym linkiem jest sporo przykładów gotowych projektów, na których można się oprzeć budując prosty samodzielny projekt (można oprzeć się na samym ESPHome bez Home Asistant'a, bo ESPHome może też pracować stand alone, ale dużo ciekawiej jednak mieć to spięte z HA) https://esphome.io/cookbook/ i podgląd z ikonkami: https://esphome.io/index.html#cookbook Przy czym dość ciekawym projektem z tam przedstawionych może być też port expander https://esphome.io/cookbook/arduino_port_extender.html (choć wymaga użycia standardowego IDE dla Arduino, by zaprogramować płytkę, bo spod ESPHome się nie da tego zrobić co jest chyba zrozumiałe) Oczywiście to dodatkowa komplikacja w konfiguracji, ale może być warta zachodu jeśli pragniemy użyć większej ilości sprzętu podpiętego do pojedynczego modułu ESP. A wspomniałem o nim, bo po podłączeniu do ESP8266 2 czujników (DHT używa 1 GPIO, a ultradźwięki 2GPIO) i wyświetlacza (6 GPIO ale da się zredukować do 4) osiągnąłem już niemal kraniec możliwości ESP8266 (który ma w tym wykonaniu jakiego używam ma dostępne 9 GPIO (z czego 1 ma opcję wejścia analogowego, a 3 to są naprawdę GPO ![]() Edit: okazuje się, że tańszym i wygodniejszym rozwiązaniem może być… użycie po prostu ESP32, albo gotowych ekstenderów SX1509, PCF8574 lub PCF8575, choć nie wiem czy w takim wypadku realnie będzie taniej (jakkolwiek jeszcze krzyżyka nie stawiam na pomyśle użycia ekstendera, bo jakieś płytki na układach Atmela mi zalegają szufladę po upadłym projekcie, niestety to wersje 5V, ale podobno niektóre działają poza specyfikacja i na 3,3V) Statystyki Folding@home |
|||
« Starszy wątek | Nowszy wątek »
|
Podobne wątki | |||||
Wątek: | Autor | Odpowiedzi: | Wyświetleń: | Ostatni post | |
Home Assistant (Hass.io) - ogromne możliwości integracji ID | szopen | 109 | 57 816 |
14-10-2024 14:24 Ostatni post: szopen |
|
HACS (Home Assistant Community Store) - alternatywny "sklep" z rozszerzeniami dla HA | szopen | 29 | 15 167 |
03-02-2023 13:23 Ostatni post: szopen |
|
ESPHome i tworzenie interfejsu uzytkownika na wyświetlaczu | arekark | 3 | 2 561 |
17-03-2021 16:02 Ostatni post: szopen |
|
Wybór sprzętu na "bazę" pod Home Assistant | Ekonomista | 46 | 17 427 |
08-08-2020 06:12 Ostatni post: Ekonomista |