Jako, że już w jednym wątku zagaiłem o moim nowym projekcie, tak skoro wszedł w bardziej zaawansowaną fazę i stał się używalny postanowiłem założyć ten wątek.
Chodzi mianowicie o integrację Hapcana z systemem node-red. Node-red jest to system działający na środowisku uruchomieniowym Node.js, które z kolei jest oparte na silniku JavaScriptowym. W skrócie jest to taki JavaScript uruchamiany lokalnie na serwerze, nie w przeglądarce. Na podanych stronach można przeczytać jak to zainstalować. A działa generalnie na wszystkim, Windows czy Linux (Raspberry Pi).
Dodać muszę, że JavaScriptem zajmuję się raczej dorywczo. Ostatnio w pracy byłem zmuszony trochę porzeźbić w JS, więc odkopałem przy okazji dawną znajomość z Node-redem.
Node-red-contrib-hapcan - bo tak nazywa się paczka o której mowa, obecnie dostępna jest na githubie. Gdy projekt trochę dojrzeje przeniosę go na platformę npm - która będzie umożliwiać instalację Hapcana wprost z panelu zarządzania node-reda. Póki co, trzeba to robić ręcznie.
INSTALACJA
Zakładam, że środowisko node.js oraz node-red już są zainstalowane. Na początek trzeba odnaleźć folder, w którym są zainstalowane paczki node.js.
W przypadku Windowsa u mnie jest to:
c:\Users\Bartosz\AppData\Roaming\npm\node_modules\node-red\node_modules\
W tej lokalizacji należy umieścić folder pobrany z githuba, node-red-contrib-hapcan - jest to standardowe nazewnictwo zalecane dla paczek node-red.
Jeśli masz zainstalowanego gita, można wejść do powyższego folderu i zaciągnąć repo.
Code: Select all
git clone https://github.com/Onixarts/node-red-contrib-hapcan
Code: Select all
git pull
Aby Hapcan pojawił się w node-redzie należy go teraz zrestartować. Jeśli odpalacie go z konsoli, wystarcz zatrzymać Ctrl+C, a następnie uruchomić wpisując:
Code: Select all
node-red
Code: Select all
http://127.0.0.1:1880
KONFIGURACJA
Standardowo noda przeciągamy na flow i dwukrotnie klikając wchodzimy w opcje. Weźmy na początek bloczek relay output - umożliwia on sterowanie modułem przekaźnika.
Każdy nod (bloczek) musi mieć ustawioną bramkę (Gateway). Jest nią moduł Ethernet, który należy wskazać w dodatkowych opcjach, na zdjęciu poniżej jest to ten przycisk wskazany strzałką. Użytkownikom Hapcana konfiguracja obca raczej nie będzie - wystarczy wskazać IP, port, moduł oraz grupę. Podobnie z pozostałymi bloczkami.
Po każdej zmianie należy wcisnąć przycisk DEPLOY, aby node-red przeładował przepływy. Jeśli Konfiguracja się powiodła, przy każdym bloczku będzie wyświetlony aktualny stan połączenia z modułem Ethernet.
Na rysunku powyżej skonfigurowałem domyślną akcję jako TOGGLE kanału 4 modułu (2,1) - jest to jedno ze świateł w pokoju. Domyślna akcja będzie wywoływana za każdym razem jeśli jakakolwiek wiadomość nadejdzie na wejście bloczka. Tutaj dodałem bloczek inject, który wysyła timestampa powodując wysłanie na magistralę Hapcana ramkę sterującą modułem wybranym w konfiguracji (2,1).
Jak widzicie, prócz nazwy na bloczku pojawia się też adres (2,1)[4] - 4 oznacza wybrany kanał.
Po wybraniu bloczka, po prawej stronie w zakładce info pojawi się opis bloczka, jego parametrów i możliwości, więc póki co nie będę ich tutaj opisywał.
Tak więc życzę miłej zabawy, błędy i sugestie zgłaszajcie na githubie - będzie mi łatwiej tym zarządzać, lub jeśli ktoś ma ochotę to podeślę zaproszenie na slacka, onixarts.slack.com (podeślijcie na priva email, na który mam wysłać zaproszenie).
Smacznego
