Domoticz cz. 3.1: ESPEasy/ESP8266 – zdalny i lokalny wyświetlacz oled, temperatura, wilgotność, światło – stacja pogodowa

Domoticz cz. 3.1: ESPEasy/ESP8266 – zdalny i lokalny wyświetlacz oled, temperatura, wilgotność, światło – stacja pogodowa

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.

Czego będziemy potrzebować?

Software & Hardware

  • ESPEasy na ESP8266 – najlepiej podobnie jak w poprzednim przykładzie na płytce prototypowej NodeMCU v2, taki sam jak w poprzednim przykładzie. Układ dzięki blokowi zasilania okazuje się bardzo stabilny – „Uptime: 44591 minutes”
  • Wyświetlacz OLED na kontrolerze SSD1306 lub zgodny – również taki sam jak w przykładzie z podłączeniem do Raspberry Pi.
  • Czujnik temperatury i wilgotności, który podłączyliśmy poprzednio – DHT22
  • OPCJA: Czujnik natężenia światła BH 1750, który wraz z wyświetlaczem SSD1306 będzie równolegle (także w połączeniu) pracował na szynie I2C

Do dzieła

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:
esp-easy-oled-config
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:
ESPEasy-devces
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:
esp-easy-i2c-scan
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

Zdalny i lokalny wyświetlacz

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ę)

Previous Post Next Post