W poprzednim wpisie podłączyliśmy wyświetlacz OLED typu SSD1306 do Raspberry Pi. Twórca ESP Easy – Richard ten Klooster (https://github.com/ESP8266nu/ESPEasy) – rozwija projekt pozwalając na uzupełnianie bezprzewodowego czujnika o nowe elementy. Dziś w bardzo prosty sposób uzupełnimy nasz czujnik o wyświetlacz oraz miernik natężenia światła. Nasza stacja „kontroli” pogody dostanie zdalny wyświetlacz.
Podobnie jak poprzednio, ale nawet nie używając tej wiedzy – podłączenie wyświetlacza OLED jest równie łatwe jak w Raspberry Pi. Po zalogowaniu się na adres ESPEasy – wybieramy które PINy będą służyły za szynę I2C. W przykładzie, są to domyślne: GPIO 4 & 5. Podłączamy nasz zasilacz do +3,3V, GND, oraz SDL i SCL do GPIO 4 & 5. Konfiguracja wygląda następująco:
Dla przypomnienia – tak nazywała się czujka oraz wartości jakie definiowaliśmy – musimy je podać ponownie, tak samo dla wyświetlacza, aby ESP pobrało właściwe dane:
Zauważmy, że jedną z pierwszych opcji jest adres na szynie I2C – aby zweryfikować wartość adresu, udajemy się do Tools->I2C Skan, który powinien nam dać wartość adresu – w przykładzie pojawia się już dodatkowo – korzystający z tej samej szyny, podłączony równolegle – czujnik natężenia światła BH1750:
Mamy więc poprawny adres (szesnastkowo): 0x3c!
Jeśli wszystko uzupełniliśmy dobrze, to po uruchomieniu ESPEasy, powinniśmy na ekranie otrzymać: „ESP Easy”.
Teraz należy skonfigurować sposób prezentacji na ekranie (normalny, odwrócony), oraz wybrać które linie wyświetlacza będą prezentowały dane, jednak najpierw – spróbujmy wyświetlić coś z zewnątrz
ESPEasy umożliwia nie tylko wyświetlanie danych z lokalnych czujników – ale pozwala także wyświetlić dowolny tekst poprzez bardzo prostą kontrolę (bez uwierzytelnienia), a wszystko co potrzebne do wyświetlenia przekazujemy za pomocą URL. Po pierwsze – możemy włączać i wyłączać nasz wyświetlacz. W przykładzie adresem IP naszego czujnika ESP Easy jest 10.20.30.40. Możemy wyłączyć ekran (bo zbyt mocno świeci w nocy)
http://10.20.30.40/control?cmd=oledcmd,off
Następnie go włączyć:
http://10.20.30.40/control?cmd=oledcmd,on
Możemy wyczyścić:
http://10.20.30.40/control?cmd=oledcmd,clear
Gdy jednak chcemy wyświetlić jakąś wartość albo tekst – używamy w linii komend – na przykład na naszym Raspberry Pi curl’a:
curl http://10.20.30.40/control?cmd=oledcmd,wiersz,kolumna,nasz_tekst
na przykład:
curl http://10.20.30.40/control?cmd=oledcmd,1,1,Moj%20login:%20$LOGNAME
Na koniec użyjemy tej funkcji aby wyświetlić wartość z domoticza na wyświetlaczu naszego czujnika (a więc – jakby w drugą stronę)