Kolejny z projektów którego powstanie zapoczątkowało życie, tym razem po postu choroba syna. Termometr IR który mieliśmy w domu pojechał w Bieszczady i coś trzeba było ogarnąć. Z racji faktu, że części mam w domu całkiem sporo to nie był to problem. Na szybko skleciłem całość z modułu GY-906 wraz z czujnikiem IR MLX90614 oraz ESP8266 i odczytem w Domoticz. Jednak moja żona, że jej niewygodnie i chce do tego wyświetlacz bo inaczej to wywali. No cóż tu nie ma co wojować tylko trzeba przerabiać i tak dzięki temu możecie czytać ten wpis.
W całości dzięki temu uzyskaliśmy termometr IR z wyświetlaczem LCD OLED SSD1306 128X64 0,96 cala, oraz wysyłką danych jak i ich zapisem w Domoticz. ESP8266 pracuje pod kontrolą ESP Easy Mega, całość komunikacje się po I2C co ogranicza do minimum ilość przewodów.
Potrzebne komponenty:
- ESP8266 lub odpowiednik Nodemcu
- wyświetlacz LCD OLED SSD1306
- moduł czujnika IR GY-906 (MLX90614)
Jedną z pierwszych czynności jaką musimy wykonać to przygotowania Domoticza do odbierania odczytów z czujnika GY-906 (MLX90614).
Zacznijmy więc, wchodzimy w Ustawienia -> Sprzęt
Jako nazwę wpisujemy na przykład nazwę np dodatkowe, następnie wybieramy z listy Typ: „Dummy (Does nothing, use for virtual switches only)” i klikamy Dodaj.
Po czym musimy utworzyć wirtualny sensor, nie zapomnijmy o wybraniu parametrów które chcemy wykonywać w tym przypadku jest to temperatura. Zalecam dodać tu x 2 ze względu, że możemy zapisywać temperaturę celu oraz otoczenia.
Następnie przechodzimy do zakładki Ustawienia -> Urządzania. Zapisujemy sobie nr Idx potrzebny będzie przy konfiguracji ESPEasy.
Następnie przechodzimy do samego ESP8266 proces wgrywania opisałem tu więc nie będę ko powielał.
Połączenie modułu SSD1306, IR GY-906 z ESP
PIN ESP | LCD SSD1306, IR GY-906 |
3.3-5V | VIN |
GND | GND |
GIPO-2 | SCL |
GIPO-0 | SDA |
Zwróć uwagę, iż ja zmieniłem domyślne GIPO odpowiedzialne za SDA / SCL, poniżej domyślne ustawiania ESP8266
PIN ESP | LCD SSD1306, IR GY-906 |
3.3-5V | VIN |
GND | GND |
GIPO-5 | SCL |
GIPO-4 | SDA |
Po wykonaniu tej czynności pozostało nam jedno dodanie urządzenie, w tym celu przechodzimy do zakładki Devices.
Po wprowadzeniu klikamy Submit i to wszystko już działa. Zalecam dodanie też 2 zmiennej którą można dodać, czyli temperaturę otoczenia którą możemy również odczytać.
Jeżeli wykonaliśmy wszystkie powyższe czynności, przydało by się powrócić do Domoticza aby zobaczyć czy wszystko działa. Jeżeli wszystko zostało zrobione prawidłowo uzyskamy odczyty jak niżej.
Jeżeli wszystko jest ok przejdźmy do konfiguracji komunikacji z LCD. W cel dodania do ESP naszego OLEDA SSD1306 W tym celu jak poprzednio, przechodzimy do zakładki Devices.
I tu na chwilę się zatrzymajmy w zakładkach:
– „Rotation” ustaw swoją orientację LCD,
– „Display Size” ustaw żądaną rozdzielczość LCD domyślnie 128×64,
– „Font Width” zmieniamy z „Noraml” na „Oprimized” dzięki temu czcionka w danej linii dostosuje się do szerokości wyświetlacza.
Następnie czas na zdefiniowanie tego co ma nasz wyświetlacz nam prezentować. Mamy tu do dyspozycji, aż 8 linii więc żale tego nie wykorzystać. Zwykły tekst zostanie wyświetlony na wyświetlaczu dokładnie tak, jak został wprowadzony w konfiguracji. Natomiast jeżeli chcesz pokazać wartość, umieść jej nazwę, oddzielone hashtagiem. Więc jeśli masz uruchomiony czujnik Obiect o nazwie zadania „Temperature”, aby uzyskać wartość temperatury, użyj tego:
formuła wygląda następując [Obiect#Temperature]
I na koniec klikamy Submit i to wszystko już powinno działać prawidłowo. Poniżej wstępnie złożone, obecnie z racji wolnego, działa na tak zwanego pająka, jak mi sklepy otworzą pojadę po jakąś obudowę, aby było poręczniejsze.