Ciekawą opcją w automatyce domowej Supla jest obsługa wyświetlacza. Można w ten sposób monitorować Temperaturę, wilgotność, ciśnienie, odległość, głębokość i przepływ energii elektrycznej.
Co ciekawe, na wyświetlaczu można monitorować wartości czujników z innych urządzeń za pomocą tzw. linków bezpośrednich. Odległość między wyświetlaczem a czujnikami nie ma tu znaczenia, ponieważ komunikacja odbywa się przez sieć internet.
Ale do rzeczy, będziemy potrzebowali dwóch urządzeń. Jednego z wyświetlaczem i drugiego z czujnikiem. Wgranie oprogramowania Supla do ESP8266 opisywałem w tym artykule i nie będę go tu powielał. Opis jak podłączyć czujnik temperatury i wilgotności znajduje się tutaj.
Zatem wg powyższych artykułów mamy już przygotowane urządzenie z czujnikiem. Kolej teraz, na to z wyświetlaczem.
Aby zrealizować projekt, potrzebujemy trzech komponentów:
- Moduł Wemos D1 mini
- Wyświetlacz LCD HD44780
- Konwerter I2C do LCD HD44780 1602
Wgrywamy oprogramowanie Supla do modułu Wemos D1 mini wg tego artykułu, ale z tą różnica ża na stonie GUI-Generic Builder zaznaczamy dwie opcje:
- Wyświetlacz LCD HD44780 w sekcji I2C
2. Linki bezpośrednie odczyt wartości kanału w sekcji inne:
Po wgraniu oprogramowania łączymy ze sobą elementy. Wyświetlacz z konwerterem można kupić jako gotowy komplet lub połączyć w ten sposób:
Ja, na potrzeby tego wpisu połączyłem połączyłem obydwa elementy za pomocą kabelków:
Kolej teraz na podłączenie konwertera I2C Wemos D1 mini. Piny, które wykorzystam to:
Schemat połączenia:
KONWERTER --> WEMOS D1 MINI
GND --> G
VCC --> 5V
SDA --> D2 (GPIO4)
SCL --> D1 (GPIO5)
Jeżeli mamy już wszystko podłączone, to logujemy się na stronę konfiguracji Supla i wchodzimy w Ustawienia urządzenia / I2C
konfigurujemy Ustawienie GPIO dla I2C:
Uwaga, jeżeli nie pojawia się informacja I2C device found at address 0x27
, to restartujemy urządzenie i wychodzimy jeszcze raz w Ustawienia urządzenia / I2C
. Adres 0x27
może się różnić, do dalszych ustawień przepisujemy, ten który sie pojawił.
Przy HD44780
klikamy w Wyłącz
wybieramy z listy adres, który się pojawił w komunikacie I2C device found
…
Następnie klikamy zapisz:
Żeby przejść do konfiguracji kolejnego ustawienia musimy uzyskać link bezpośredni do odczytu naszej temperatury, w tym celu logujemy się na nasze konto Supla i wybieramy połączone urządzenie z termometrem (nie te z wyświetlaczem).
Na stronie urządzenia przechodzimy no zakładki Linki bezpośrednie
i klikamy przycisk Utwórz nowy link bezpośredni
:
Następnie z zakładki Odczyt
kopiujemy link:
Jeżeli link ma postać:
https://svr39.supla.org/direct/1987/sfsfsdfhfdN/read
To interesuje nas tylko ta końcówka:
1987/sfsfsdfhfdN/read
Zapisujemy ją. Przechodzimy do strony konfiguracji urządzenia na zakładkę Inne
i w sekcji Linki bezpośrednie
wybieramy 1
oraz klikamy Zapisz:
Odkryją nam się dodatkowe pola. Jako Rodzaj 1
wybrałem Temperatura + Wilgotność
ponieważ mój testowy czujnik to DHT11. Dla pola Czujnik 1
wkleiłem opisany wcześniej fragment linku bezpośredniego. Klikamy zapisz i restartujemy urządzenie.
Po tej operacji, na wyświetlaczu powinna się pojawić temperatura i wilgotność. Można teraz wejść w Ustawienia urządzenia
na zakładkę I2C
i podpisać linie wyświetlacza:
Po zapisaniu zmian można się cieszyć widokiem:
Koniec 🙂
Jeżeli pomogłem to ,a będę miał więcej energii na pisanie kolejnych ciekawych wpisów.
Supla obsługuje również Wyświetlacze OLED SSD1306 i SH1106 nie wymagają one dodatkowego konwertera I2C. Poniżej przykładowa realizacja z takim wyświetlaczem oraz NodeMCU V3:
Jeżeli do tego momentu na wyświetlaczu nie pojawiają się żadne informacje, to spróbuj przeprowadzić regulację kontrastu za pomocą potencjometru na konwerterze I2C: