Maico + Sonoff + DHT22



Smart Home to świetne hobby. Co może być lepszego, niż pielęgnowanie lenistwa? Temat SH w zeszłym roku przybliżałem na Zimowisku TLUG.

W mieszkaniu muszę się mierzyć z oszczędnościami poczynionymi przez projektanta i dewelopera. Maksymalizując stosunek powierzchni technicznej (niesprzedawalnej) do metrów kwadratowych mieszkania, zminimalizowali powierzchnię kominów wentylacyjnych. Przez to wentylacja musi być wspomagana mechanicznie. Inna oszczędność: zamiast zbiorczego wyciągu na dachu – indywidualne wiatraki w mieszkaniach.

Wentylatory są dwubiegowe. Pierwszy bieg musi być cały czas włączony, żeby spełnić warunki techniczne wentylacji. Drugi można włączyć np. po kąpieli, żeby wyciągnać wilgość. I nie wyhodować grzyba na ścianie. A czy wyższy bieg nie mógłby się sam załączać? Mógłby, ale przyoszczędzono i wybrano wkład wentylatora bez czujnika wilgotności. Można oczywiście wymienić (koszt ok. tysiąca zł), ale fajniej jest wziąć lutownicę w łapę i zrobić samemu.

Sprzęcior

Za niecałe 5 dolców sztuka nabyłem od skośnookiego producenta wifi-włączniki Sonoff Basic. Składają się z popularnego układu ESP8266, przekaźnika i układu zasilającego całość. Oryginalnie przychodzą z jakąś appką i komunikują się ze statkiem macierzystym w Chinach, ale sam producent pokazuje na swoich stronach gdzie przylutować kabelki i jak zmienić oprogramowanie.

Popularność ww. chipa zaowocowała wysypem różnych hobbystycznych firmware. Po pomoc w zmianie softu zwróciłem się do Przemka i otrzymałem do zabawy sztukę z wgranym ESPEasy.

Alternatywny soft daje obsługę różnych dodatkowych urządzeń podłączonych pod dostępne GPIO. Tak, włącznik prądu ma dostępne programowalne piny wejścia/wyjścia. Witamy w przyszłości.

Podłączyłem więc 1-wireowy czujnik wilgotności DHT22 i skonfigurowałem wysyłanie jego odczytów.

Sofcior

Przy okazji researchu bardzo spodobał mi się protokół MQTT i jego implementacji w postaci serwera Mosquitto. Protokół działa na zasadzie szyny danych. Różne urządzenia wrzucają do niej dane pod ustalonymi adresami, a kto jest zainteresowany może dowolne dane (z dokładnością do ACL) czytać i przetwarzać. I całkiem dobrze integruje się z OpenHAB, którym automatyzuję mieszkanie.

Swoją drogą dawno nie widziałem takiego działającego „od ręki” oprogramowania. Nawet zmostkowanie drugiego serwera (do testów w czasie wolnym w biurze) poszło jak z płatka.

Fuzja

Wiatrak dwa biegi ma zrealizowane przez dwa uzwojenia, na które podajemy napięcie. Pierwsze jest z założenia cały czas pod prądem – to daje 230V, które wykorzystałem do zasilania Sonoffa. Włącznik drugiego biegu podłącza fazę pod drugie uzwojenie. Równoległe do tradycyjnego podłączyłem wifi-włącznik – dzięki włącznik nie traci funkcjonalności i wciąż można ręcznie wymusić wyższy bieg.

Regułka w OpenHAB jest dłuższa niż minimalna. For fun steruję jasnością diodki na Sonoffie – gdy wilgotność jest w obszarze histerezy, diodka świeci się coraz mocniej przy zbliżaniu się do granicy załączenia:

var int h_low = 55
var int h_high = 65

rule "Włącz wiatrak przy dużej wilgotności"
when
    Item h_lazienka received update
then

    if (h_lazienka.state > h_high) {
            /* wlaczyc wiatrak i diodke  */
            sSONOFF03.sendCommand(ON)
            dSONOFF03LED.sendCommand(0)

    else if (h_lazienka.state < h_low) {
            sSONOFF03.sendCommand(OFF)
            dSONOFF03LED.sendCommand(1023)

    else {
            /* pomiedzy 55 a 65 */
            val h_lazienka_int = (h_lazienka.state as DecimalType).intValue
            val led_pwm = (h_high - h_lazienka_int) * ( 1023 / (h_high - h_low) )
            if (led_pwm < 0) { led_pwm = 0 }

            dSONOFF03LED.sendCommand(led_pwm)
    }
end

Wszystkie etapy przykręcania kabelków zostały udokumentowane fotograficznie. W starym interfejsie OpenHABa przybyło mi:

https://lh3.googleusercontent.com/nd8iZuUiX3GfQT7Jo1n3Xi8_Grj4qkHZuIwRPptF3wUElU4CDLNZvIr4aaGCdc5ISijXsi-mynUpDMvJ9ixm9JuOrE0Y9tqIqTlADUthXym4WziSG_kM-g9HMQt0IJdI7O1VUYUb2_-I_na-mZmSXa7GkYMj5uuCFNJCeAyf7EbDQx_LZADY57K9FHSho-Bv3PcR2p6ZEug8dZ01yY6tnKFl8Xinf3mWGvqFuKftWsHRdLNQEB0f7Q__JNyi-CQYpDsP_dUnecQ_Q-J7bt7eMyPpP_5elIBhcGW9lWZxSQYZ452Jhx2TLy9Q1cxIwji4UJ6dKzn03W-S2Z8bIWh3XYjLMZUPt_hBRuv9nrWUoKZLnYIuTNP7KXR2pSSlyrUfAHxXfZPuGWDxZTw3mgWhuxz6cOX47jUFIPrpe4dF_IK8sDipcvcHUb6CyizbWLilZ9F_dBO9z1iz6wRAO86C5PI--FsSJbvMqLbDOXJYpUhL7sjB3VXz49uXMaxUIa2EVTvgZ3eLyMKTT_2fjXAslxUByqhGZlzy5q2iEdApoAXlfJ_O3wKuqU_mrVuhtobHigMwnbN4F-BXujabPTPOv9N_p8zzW9qFUJI0lyFD8yoKyO8uaiJHZUKHt3uXHtuigCdVzN_ZzR5eKNVm3W2MtISwF9YzJt20vIY=w322-h219-no

Czym flashować, jak żyć?

Który firmware wybrać? Na początku skłaniałem się ku Tasmota. Opisywany jest jako „dedykowany” do Sonoffów. Przemek skierował moją uwagę na ESPEasy, który jest ogólniejszy, za to ma więcej możliwości konfiguracji (np. sterowanie PWM) i oferuje sensowniejszą hierarchę MQTT.

Obydwa oprogramowania pozwalają na aktualizację Over-the-Air. Po pierwszym wgraniu, kolejne aktualizacje przeprowadzamy po WiFi. Dzięki temu piny RX/TX UARTa można przekonfigurować uzyskując dwa kolejne GPIO.

Tasmota ma obsługę Last Will and Testament w MQTT, co ułatwia sprawdzenie czy moduł jest on-line. Bo przecież do VLANa z włącznikami ma dostęp tylko broker MQTT, nieprawdaż?

Ostatecznie stanęło na ESPEasy. Jednego z pozostałych Sonoffów mam z Tasmotą, może rozwinie się w jakiś sensowny sposób.

Gorąco polecam celebrację lenistwa poprzez usmartawianie swojego domu.

Comments


Comments powered by Disqus