Czujnik bezprzewodowy I2C – pomiar temperatury, ciśnienia, wilgotności, nasłonecznienia…
Pomiar temperatury, ciśnienia, wilgotności, nasłonecznienia… właściwie czego dusza zapragnie i komunikuje się poprzez I2C.
Jest to czujnik oparty na module ESP-12F (ESP8266). Na PCB zainstalowałem też:
- złącze I2C do podłączenia czujników, w moim przypadku jest to AHT, BMP czy BME w zależności od umiejscowienia urządzenia i potrzeb.
- złącze UART do komunikacji, programowania lub wykorzystania jako GPIO
- ładowarka USB wraz BMS oraz koszyczkiem na ogniwo LiION 18650
- monitorowanie napięcia akumulatora
Czujniki używam z oprogramowaniem ESPHOME w Home Assistant. Skrypt odczytuje wartości i wysyła do HA oraz przechodzi w deepsleep. Skrypt który odpowiada za sprawdzenie czy w HA jest włączony przełącznik OTA, wykorzystuje do tego 'binary_sensor:’ i tu musimy zapamiętać: entity_id: input_boolean.czujnik_aht_ota gdyż będzie nam potrzebne w HA do dodania Pomocnika. Jak widać skrypt jest sprawdzany przy każdym starcie ESP i gdy zobaczy aktywne OTA nie pozwala wejść w deepsleep. Dodatkowo mamy przycisk 'Restart’.
Co ważne przy pierwszej kompilacji i wgraniu programu do ESP ważne aby parametr ’deep_sleep:
run_duration:
10s’ ustawić na powiedzmy 600s dzięki temu prawidłowo dodamy integrację w HA.
Po kolei….
- Piszemy nasz program wraz z wpisami dotyczącymi OTA, pamiętamy o wydłużeniu czasu 'run_duration:’.
- Wgrywamy nasz program do ESP.
- Po uruchomieniu dodajemy Integrację w Home Assistant.
- Dodajemy 'Pomocnika’ w HA gdzie identyfikator encji będzie taki jak w naszym programie 'input_boolean.czujnik_aht_ota’.
- Uruchamiamy 'Pomocnika’ i czekamy aż nasze ESP będzie w trybie OTA
- Następnie modyfikujemy 'run_duration:’ na właściwy i wgrywamy program przez WiFi.
- Po wgraniu programu wyłączamy 'Pomocnika OTA’ i w integracji klikam przycisk Reset.
- I mamy działający ESP z deepsleep i OTA
Posiadam kilka PCB z nadwyżek do czujników. Gdyby ktoś potrzebował złożone lub samo PCB zapraszam do kontaktu.