Mostek milight na module Wemos D1 mini
Do oświetlenia dekoracyjnego używam systemu Mi-Light, są pod niego podłączone głównie taśmy LED RGB. System ten jest tani, łatwo konfigurowalny
z Domoticzem oraz posiada spory wybór pilotów. Ma on jednak dwie małe wady: Pierwsza z nich to brak dwukierunkowej komunikacji z centralką, włączając
światło pilotem nie zmieni się nam stan w Domoticzu. Drugi najważniejszy problem to obsługa przez mostek Wi-Fi maksymalnie czterech stref, czyli
gdybyśmy chcieli rozbudować system o kolejne strefy i sterować nim przez Domoticza musimy dołożyć drugi mostek.
Na szczęście z pomocą przychodzą nam użytkownicy GitHuba, powstał tam projekt który emuluje mostek Wi-Fi oraz steruje praktycznie dowolną ilością
stref. Kolejny plus to taki, iż możemy go zainstalować na popularnej płytce Wemos opartej o układ ESP8266
Spis elementów:
• Wemos D1 mini
• Moduł bezprzewodowy NRF24L01 + PA + LNA
• Wemos DC Power Shield
• kondesator elektrolityczny 220µF
• Płytka PCB
- Podłączenie sprzętu. 1. Podłączamy moduł nRF do Wemosa jak na schemacie
- Instalacja i konfiguracja oprogramowania. 2. Instalacja oprogramowania milight hub do modułu Wemos
Bardzo ważnym elementem jest dodanie kondesatora do pinów GND i VCC w module nRF, bez tego elementu nie da się sparować żarówek, pomimo iż układ będzie działał i odbierał pakiety. Na różnych forach podają iż wystarczy kondensator o pojemności 10µF, niestety u mnie układ działał słabo, często miał problemy z komunikacją. Metodą prób i błędów określiłem iż najlepszy będzie kondensator o pojemności ok 220µF
UWAGA!!!
Układ NRF24L01 + PA + LNA nie posiada ekranowania, przy testach zauważyłem że zbiera sporo zakłóceń, co przekłada się na problemy z działaniem. Postanowiłem zrobić ekran z foli aluminiowej i taśmy. Okleiłem folię z dwóch stron, kładąc na jednej stronie miedziany drucik tak aby stykał się z folią, po czym owinąłem układ NRF a drucik przylutowałem do masy. (Zdjęcia w galerii)
Pobieramy plik bin ze strony projektu i wgrywamy do wemosa. Ja osobiście używam narzędzia dołączonego do ESPeasy. Wystarczy tylko wybrać port COM oraz odpowiedni plik bin, a resztę zrobi za nas aplikacja.
3. Konfiguracja Wi-Fi
Odnajdujemy sieć o nazwie ESPXXXXX i łączymy się do niej podając hasło milightHub. Po sparowaniu otworzy się w przeglądarce
okno konfiguracji do naszej sieci bezprzewodowej. W ustawieniach możemy od razu ustawić stały adres IP, i tym podobne. Nie będe opisywał tego w
szczegółach bo to jest prosta czynność.
4. Parowanie żarówek i sterowników
Po prawidłowym wykonaniu kroku trzeciego, i wpisaniu adresu IP powinna wyświetlić się strona www zawartością umożliwiającą parowanie nowych
urządzeń, jak na obrazku poniżej.
Aby ułatwić sobie sprawę przyjmijmy że, grupa to 4 urządzenia (kanały) w jakimś pomieszczeniu do których przypisany jest jeden pilot.
Ile grup tyle pomieszczeń, i tyle pilotów do obsługi.
Aby prawidłowo sparować sprzęt należy postępować w odpowiedniej kolejności.
Remote Type - Wybieramy rodzaj sterownika lub typ żarówki jaki posiadamy
Group - Wybieramy numer kanału w grupie, np. oświetlenie sufitu pod numerem 1 (kanały odpowiadają numerom na pilocie)
Device ID - Wpisujemy numer ID pilota którego używamy w tej grupie (pomieszczeniu)
Device Name - Nadajemy nazwę każdemu kanałowi, np. dla kanału pierwszego: Mały pokój sufit.
Pair - Podpinamy żarówkę lub sterownik do prądu, i w ciągu pięciu sekund naciskamy zielony przycisk Pair. Sprzęt powinien
zamrugać kilka razy białym światłem
5. Konfiguracja połączenia z Domoticzem
Komuniukacja z Domoticzem może odbywać się na dwa sposoby. Tradycyjnie jak to miało miejsce przy fabrycznym mostku za pomocą portu UDP, ale
nie będzie działać komunikacja zwrotna. Drugą metodą jest komunikacja za pomocą serwera MQTT, dzięki tej metodzie będziemy odbierać pakiety z pilota które będą
aktualizowane w Domoticzu, to właśnie tą metodę opiszę najdokładniej.
Logujemy się do mostka Milight, klikamy Settings i przechodzimy do zakładki MQTT. Ustawiamy parametry jak poniżej.
MQTT server - Adres serwer MQTT
MQTT topic pattern - milight/:device_id/:device_type/:group_id
MQTT update topic pattern - milight/updates/:hex_device_id/:device_type/:group_id
MQTT state topic pattern - milight/states/:hex_device_id/:device_type/:group_id
MQTT user name - nazwa użytkownika mqtt
MQTT password - hasło do serwera mqtt
6. Dodawanie wtyczki do Domoticza
Należy pobrać wtyczke z GitHub oraz skopiować ją do folderu domoticz > plugins > milighthub, następnie trzeba
nadać jej prawa oraz zrestartować Domoticza
https://github.com/galinette2000/espmilighthub-domoticz
sudo chmod 755 domoticz/plugins/milighthub/plugin.py
sudo service domoticz.sh restart
Następnie przechodzimy w Domoticzu do zakładki Sprzęt i dodajemy nowe urządzenie. Wybieramy z listy
ESP 8266 Milight Hub i zapisujemy.
7. Konfiguracja wtyczki
Wtyczke konfigurujemy jak na obrazku poniżej. Trzeba wpisać dane brokera MQTT oraz ścieżki do tematów które
są takie same jak wpisywaliśmy w punkcie piątym, w ustawieniach Milight Hub.
8. Dodawanie przycisków w Domoticzu
Aby dodać przełączniki do Domoticza musimy upewnić się czy mamy włączoną opcję Akceptuj nowe urządzenia, następnie
naciskamy przycisk kanału na pilocie lub w panelu Milight Huba. Po chwili przelącznik doda się do urządzeń.
Dzięki tej metodzie, pilota możemy użyć nie tylko do włączania urządzeń z pod znaku marki Milight, a także i do
sterowania każdym dowolnym sprzętem podłączonym do domoticza za pomocą skryptu LUA, poniżej przykład:
-- [[ Sterowanie elementami oświetlenia za pomocą pliota Miligt ]]
commandArray = {}
-- [[ Sterowanie oświetleniem mebli ]]
if
(devicechanged['Pilot mały pokój: Oświetlenie mebli'] == 'On') then
commandArray['Oświetlenie szyb mały pokój']='On'
elseif
(devicechanged['Pilot mały pokój: Oświetlenie mebli'] == 'Off') then
commandArray['Oświetlenie szyb mały pokój']='Off'
end
return commandArray