Wykorzystanie środowiska Node-RED w instalacji KNX
Opublikowano: 21 February 2024Graficzne narzędzie do programowania wizualnego dla tworzenia logiki przepływu danych i IoT.
Czym jest Node-RED?
Node-RED to graficzne narzędzie do programowania wizualnego, które umożliwia łatwe tworzenie logiki przepływu danych i sterowania urządzeniami IoT (Internetu rzeczy). Jest oparte na języku JavaScript i uruchamiane w środowisku Node.js. Główną zaletą Node-RED jest intuicyjny interfejs, który pozwala użytkownikom na tworzenie zaawansowanych przepływów danych bez konieczności pisania dużego kodu. Programowanie w Node-RED polega na budowaniu sieci powiązań między węzłami, które mogą reprezentować różnorodne zadania, takie jak odbieranie i wysyłanie danych, analiza, przekształcanie czy kontrola urządzeń IoT. Node-RED oferuje szeroką gamę wbudowanych węzłów oraz możliwość tworzenia niestandardowych.
Jedną z zalet Node-RED jest wsparcie dla różnych protokołów komunikacyjnych, takich jak MQTT, HTTP, WebSocket czy nawet protokoły specyficzne dla konkretnych urządzeń. Dzięki temu można łatwo integrować różnorodne systemy i urządzenia IoT w jednym spójnym środowisku. Ponadto Node-RED posiada aktywną społeczność, która regularnie udostępnia nowe węzły i rozszerzenia, co umożliwia łatwe rozszerzanie funkcjonalności platformy.
Prezentacja możliwości
Ilość zastosowań środowiska Node-RED jest bardzo duża. Przede wszystkim nadaje się do przetwarzania danych, więc świat IoT jest naturalnym miejscem, gdzie wykorzystuje się jego możliwości. Warto zajrzeć na stronę flows.nodered.org, gdzie pojawiają się biblioteki, które można wykorzystać w swoich programach. Pod kątem wykorzystania Node-RED w automatyce domowej przydatne będą biblioteki dotyczące KNX, Modbus, MQTT.
Do najważniejszych funkcjonalności Node-RED należy:
- Integracja IoT: Umożliwia łatwe tworzenie przepływów danych do zarządzania urządzeniami IoT, dzięki szerokiemu wsparciu dla różnych protokołów komunikacyjnych oraz możliwości tworzenia niestandardowych węzłów.
- Analiza i przetwarzanie danych: Pozwala na przetwarzanie, analizę i manipulację danymi w przepływach, używając wbudowanych węzłów do filtrowania danych, wykonywania obliczeń czy integracji z bazami danych czy zewnętrznymi API.
- Automatyzacja zadań: Jest idealnym narzędziem do automatyzacji zadań, umożliwiając tworzenie przepływów, które reagują na zdarzenia w systemie i wykonują odpowiednie akcje, co ułatwia zarządzanie procesami biznesowymi czy operacyjnymi.
- Integracja z platformami chmurowymi: Oferuje integrację z różnymi platformami chmurowymi, takimi jak AWS, Azure czy Google Cloud Platform, co umożliwia tworzenie przepływów danych, korzystających z usług chmurowych do przechowywania danych, obliczeń czy analizy.
Praktyczne zastosowanie środowiska Node-RED
Aby zademonstrować działanie Node-RED z urządzeniami KNX, stworzymy prosty program wykorzystujący możliwość integracji. Node-RED będzie działać na jednopłytkowym komputerze Raspberry Pi. Wymagane będą również zasilacz KNX, interfejs KNX/IP oraz przycisk KNX z diodami statusowymi.
Pierwszym krokiem jest uruchomienie środowiska Node-RED w przeglądarce. Standardowo dostęp odbywa się przez port 1880. Następnie należy zainstalować biblioteki: node-red-contrib-knx-ultimate oraz node-red-dashboard.
Podczas dodawania pierwszego adresu grupowego KNX konfigurujemy interfejs KNX/IP.
Wygodną funkcją jest możliwość zaimportowania projektu z ETS. W tym celu należy wkleić zawartość pliku csv w odpowiednim oknie.
Stworzony program będzie miał za zadanie włączanie diod statusowych na przycisku KNX. Musimy stworzyć węzły z adresami grupowymi odpowiadającymi włączaniu każdej diody.
Następnie utworzymy prosty interfejs. Z biblioteki node-red-dashboard użyjemy bloku switch.
Po skonfigurowaniu bloku łączymy wyjście bloku switch z blokiem zawierającym adres grupowy KNX. W ten sposób określamy sposób przepływu danych. W naszym przykładzie połączymy również wyjście bloku z adresem grupowym z wejściem przełącznika. Normalnie w tym miejscu należy podłączyć status wyjścia.
Teraz możemy sprawdzić efekt naszych prac. W przeglądarce wpisujemy adres środowiska Node-RED dodając w adresie "/ui".
Do naszego programu dodamy jeszcze jeden blok - kontroler scen. Konfiguracja tego bloku polega na podaniu adresu grupowego, który będzie wywoływał scenę - w naszym przypadku będzie to przycisk nr 1, który po naciśnięciu zawsze wysyła wartość TRUE. Możemy podać również adres grupowy, który będzie powodował zapisanie sceny.
Na dole okna tworzymy domyślną konfigurację sceny. Skonfigurujemy włączanie kolejno wszystkich diod statusowych z odstępem 1 sekundy.
Warto dodać jeszcze jedną funkcję, czyli centralne wyłączenie. Zrealizuje to drugi przycisk. Wyjście bloku przycisku łączymy z blokami diod statusowych.
Podsumowanie
Wykorzystanie środowiska Node-RED w instalacji KNX stanowi znakomitą opcję ze względu na jego intuicyjny interfejs i wsparcie dla różnych protokołów komunikacyjnych. Dzięki Node-RED możliwe jest łatwe tworzenie zaawansowanych przepływów danych do zarządzania urządzeniami KNX, co pozwala na skuteczną integrację i sterowanie systemem automatyki domowej.
Opracowanie:
Bartosz Załęczny
KNX Polska | Electrocontrol