Sterowanie przekaźnikiem Sonoff Basic z Node-RED

Przedstawię jak w łatwy i szybki sposób można zrobić sterowanie przekaźnikiem Sonoff Basic w Node-RED. Zakładam, że przekaźnik jest zmodyfikowany udoskonalonym firmwarem oraz jest zainstalowane Node-RED.

Ponadto potrzebujemy jeszcze broker MQTT. Możliwe są dwa rozwiązania: własny broker lub jeden z dostępnych bezpłatnie np. iot.eclipse.org. Lista publicznie dostępnych jest na stronie. Jeżeli nie przejmujecie się tym, że ktoś może podejrzeć jakie komunikaty przesyłacie to instalację brokera można pominąć i przejść do konfiguracji przekaźnika.

Instalacja brokera MQTT

Instalacja brokera(pośrednika) jest stosunkowo prosta i sprowadza się do wprowadzenia kilku komend w terminal:

$ wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
$ sudo apt-key add mosquitto-repo.gpg.key
$ cd /etc/apt/sources.list.d/

W przypadku Debiana Wheezy:

$ sudo wget http://repo.mosquitto.org/debian/mosquitto-wheezy.list

a Debiana Jessie:


$ sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list

Instalujemy mosquitto – opensource’owy broker MQTT


$ sudo apt-get update

$ sudo apt-get install mosquitto

 

Konfiguracja komunikatów MQTT w Sonoff

W tym celu trzeba wejść w interfejs webowy przekaźnika (Configuration-> Configure MQTT) przez przeglądarkę i uzupełnić pola: HOST i opcjonalnie USER i PASSWORD. Jeżeli zamierzamy korzystać z publicznego brokera MQTT to należy upewnić się czy wymaga on autoryzacji (większość nie).

Konfiguracja MQTT w przekaźniku Sonoff Basic

Konfiguracja MQTT w przekaźniku Sonoff Basic

Instalacja interfejsu Web dla Node-RED

Wypadało by mieć możliwość sterowania z urządzenia mobilnego co nie ? W tym celu zainstalujemy prosty, ale ładny dashboard. W konsoli wprowadzamy komendę:

npm i node-red-dashboard

Sterowanie przekaźnikiem

Podejrzewam, że po instalacji zapoznaliście się z edytorem i wiecie jakie ma mniej więcej funkcje 😉

Utwórzmy prosty schemat blokowy: na wejściu mqtt, na wyjściu mqtt, a pomiędzy nimi wigdet przełącznika. Jak pokazane na zrzucie ekranu.

Sterowanie przekaźnikiem

Sterowanie przekaźnikiem

Bloki z MQTT trzeba skonfigurować. Mianowicie na wejściu ustawiamy broker MQTT (adres IP) oraz topic (‚stat/sonoff/POWER‚), a na wyjściu topic (‚cmnd/sonoff/power‚). Lista topiców przekaźnika jest na stronie firmware.

Widget przełącznika konfigurujemy jak pokazane:

Wigdet przełącznika

Wigdet przełącznika

Dodatkowo możemy dodać ‚debug’, aby widzieć w zakładce ‚Debug’ po prawej jakie komunikaty przychodzą.

Dajemy Deploy i wchodzimy na stronkę IP:1880/ui

Dashboard

Dashboard

Kolorystykę interfejsu można modyfikować w panelu po prawej, w zakładce ‚Dashboard’. Interfejs jest responsywny, działa na urządzeniach mobilnych.

Podaję kod całego schematu blokowego, który możemy wkleić w (trzy kreski w prawym górnym rogu)/Import/Clibboard 🙂 Oczywiście adres brokera trzeba zmienić.


[{"id":"16aff21d.c5c19e","type":"tab","label":"Flow 1"},{"id":"44f9f265.72c0cc","type":"mqtt in","z":"16aff21d.c5c19e","name":"","topic":"stat/sonoff/POWER","qos":"2","broker":"2b76bb16.fddb14","x":145,"y":156,"wires":[["159fbbc6.287f94","39eee788.b3dc58"]]},{"id":"bb1b8542.a73c98","type":"mqtt out","z":"16aff21d.c5c19e","name":"","topic":"cmnd/sonoff/power","qos":"","retain":"","broker":"2b76bb16.fddb14","x":615,"y":335,"wires":[]},{"id":"159fbbc6.287f94","type":"ui_switch","z":"16aff21d.c5c19e","name":"","label":"Przełącznik","group":"3284560d.4511da","order":0,"width":0,"height":0,"passthru":true,"topic":"cmnd/sonoff/power","style":"","onvalue":"1","onvalueType":"num","onicon":"","oncolor":"","offvalue":"0","offvalueType":"num","officon":"","offcolor":"","x":359,"y":221,"wires":[["bb1b8542.a73c98"]]},{"id":"39eee788.b3dc58","type":"debug","z":"16aff21d.c5c19e","name":"","active":true,"console":"false","complete":"false","x":364,"y":96,"wires":[]},{"id":"2b76bb16.fddb14","type":"mqtt-broker","z":"","broker":"192.168.88.245","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"willTopic":"","willQos":"0","willPayload":"","birthTopic":"","birthQos":"0","birthPayload":""},{"id":"3284560d.4511da","type":"ui_group","z":"","name":"Sonoff","tab":"c9b9b2be.55f18","disp":true,"width":"6"},{"id":"c9b9b2be.55f18","type":"ui_tab","z":"","name":"Home","icon":"dashboard"}]

Posted in node-red and tagged , , , .

Artur Wronowski

Właściciel firmy digi-led. Od młodych lat jego pasją jest elektronika, informatyka i programowanie(Python).