Node-RED - Czym jest i jak zainstalować na komputerach Moxa?

29.10.2019 How to / Komunikacja przemysłowa
Node-RED - Czym jest i jak zainstalować na komputerach Moxa?
Wizerunek autora
Producent: MOXA
  • Zakłady przemysłowe

Instalacja krok po kroku środowiska Node-RED na komputerach przemysłowych Moxa.

Czym jest Node-RED?

Node-RED

Node-RED jest środowiskiem do modelowania procesów, poprzez wizualne definiowane przepływu informacji. Jest to moduł pracujący w środowisku node.js (środowisko dla programistów napisane w języku JavaScript). Narzędzie zostało zaprojektowane, aby w prosty sposób rozwijać i modelować urządzenia IIoT. Node-RED może być zainstalowany na prostych komputerkach z procesorem ARM, a także na komputerach z systemem Windows lub Linux. Przepływ jest generowany i edytowany z poziomu przeglądarki internetowej.

Zdecydowaną zaletą Node-RED jest łatwość konfiguracji. Proste aplikacje nie wymagają od użytkownika specjalistycznej wiedzy programistycznej.

Na zdjęciu powyżej widać fragment jednego z przepływów (Flow), który w naszym przypadku umożliwia odczyt i zmianą wyjść cyfrowych, a także wizualizację na wykresie wartości pomiarów wejść analogowych.

Struktura

Zasada działania jest prosta. Wizualnie łączymy różne bloczki pełniące określone funkcje. Poprzez połączenia Node-RED przesyła wiadomości.

Bloczki (węzły - z ang. nodes) dostępne są do wyboru po lewej stronie okna, pełnią określone funkcje.

Wyróżnić można bloczki input, które emitują wiadomości. Wiadomość może być zainicjowana w różny sposób, np. poprzez odczyt komend Modbusowych, odczyt adresów Profinetowych, albo po prostu zainicjowana przez inny bloczek.
Działanie każdego bloczka opisane jest na zakładce info po prawej stronie, tak więc pomoc do każdego bloczka dostępna jest pod ręką. Dwuklik na bloczku powoduje otwarcie okna konfiguracji danego bloczka.

 

Przykładowe flow

Function blok, w którym można tworzyć swój własny kod

Output blok, który przychwytuje wiadomości. Wiadomości mogą być zapisywane do lokalnej bazy danych, wysyłane do chmury lub przesyłane jako sygnały do fizycznych urządzeń.
Możliwości wykorzystania bloczków jest naprawdę wiele.

Oczywiście, jeżeli wbudowane bloczki są niewystarczające do realizacji zadania, to jest możliwość tworzenia własnych bloczków wykonujących określone funkcje.
Wszystko jest ładnie opisane w dokumentacji do node-red, która znajduje się tutaj.

Instalacja Node-RED na komputerkach ARM

W ramach tego rozdziału przeprowadzimy pełny proces konfiguracji Node-RED na komputerze z procesorem ARM na szynę DIN - UC-3100. Seria komputerów UC- na szynę DIN przystosowana jest to tworzenia aplikacji IIoT. W zależności od modelu, posiadają porty szeregowe, porty CAN, interfejs WiFi lub LTE. Więcej informacji o komputerach UC w kontekście aplikacji IIoT można znaleźć na poniższej stronie:

http://moxa.elmark.com.pl/uproszczona-komunikacja-z-chmura/

Połączenie konsolą szeregową z komputerem

Komputery Moxa posiadają preinstalowaną dystrybucję Linuxa opartą o Debiana w wersji 9. Konfigurację urządzenia możemy prowadzić z poziomu konsoli szeregowej. Będziemy potrzebowali do tego kabel RS-232 (który jest w zestawie z komputerem UC), który podłączymy do Laptopa. Jeżeli nasz laptop nie posiada portu RS-232 możemy wykorzystać urządzenie UPort 1150 - jest to port szeregowy, który możemy podłączyć do USB.

Aby zestawić połączenie z komputerem UC-3121, port COM powinien mieć poniższe ustawienia.

W programie do emulowania portów szeregowych (np. PuTTY) należy skonfigurować ustawienia połączenia tak jak poniżej:

Domyślne dane logowania to: login - moxa, password - moxa.

Konfiguracja połączenia z Internetem

Aby pobrać pliki konfiguracyjne będziemy potrzebowali połączenia z Internetem.

Jeżeli komputer jest wyposażony w moduł Wi-Fi, możemy wykorzystać połączenie bezprzewodowe. Komputery Moxa mają wbudowane narzędzie wifi_mgm umożliwiające zarządzanie i konfigurację połączenia Wi-Fi.

Więcej szczegółów można znaleźć w dokumentacji producenta na stronie #4-9.

W naszym przypadku będziemy wykorzystywać połączenie LAN, dlatego musimy nadać interfejsom LAN odpowiednią adresację.

cd /etc/network/
sudo vi interfaces

W edytorze VI należy wcisnąć przycisk "Insert" aby wprowadzać w pliku. Tutaj konfigurujemy parametry sieciowe interfejsów LAN 1 i LAN 2 (w zależności od liczby dostępnych portów LAN). Zgodnie z poniższym wzorem

# interfaces(5) file used by ifup(8) and ifdown(8)
auto eth0 eth1 lo
iface lo inet loopback
# embedded ethernet LAN1
#iface eth0 inet dhcp
iface lo inet loopback
iface eth0 inet static
     address 192.168.3.213
     netmask 255.255.255.0
     gateway 192.168.3.1
     broadcast 192.168.3.255
     dns-nameservers 192.168.3.17

# embedded ethernet LAN2
iface eth1 inet static
     address 192.168.127.1
     netmask 255.255.255.0
     gateway 192.168.127.254
     broadcast 192.168.127.255

Następnie naciśnij <ESC> aby wyjść z trybu edycji, i wpisz polecenie wq aby zapisać ustawienia i wyjść z pliku.

Aby urządzenie przyjęło nowe ustawienia należy je zrestartować poleceniem:

sudo reboot

Przygotowanie systemu Moxa Industrial Linux

Komputer posiada dwa ustawienia czasu. Jednym z nich jest czas systemu, a drugim RTC (Zegar Czasu Rzeczywistego - Real Time Clock) przechowujący czas niezależnie od pracy systemu. Jest to element urządzenia. Użyj komendy date aby ustawić aktualny czas systemu, oraz komendy hwlock aby ustawić RTC. Aby Node-RED pracował prawidłowo, oba ustawienia powinny być dokładne.

Użyj komendy sudo date MMDDhhmmYYYY aby ustawić obecny czas systemu
MM = Month
DD = Date
hhmm = Hour and minute
yyyy = Year

Użyj poniższych komend, aby ustawić czas RTC zgodny z czasem systemu:

sudo hwclock –w
sudo hwclock

Ewentualnie, można również skonfigurować strefę czasową wykorzystując poniższą komendę:

dpkg-reconfigure tzdata

Następnie, należy zaktualizować niektóre paczki, aby upewnić się, że instalacja Node.js, Node Package Manager i Node-RED przebiegnie bez problemów. W tym celu należy wpisać poniższe komendy:

sudo apt-get update
sudo apt-get dist-upgrade -y
sudo apt-get install curl
sudo apt-get install curl build-essential –y
sudo reboot

curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs

Sprawdzamy, czy node.js został zainstalowany poprawnie.

nodejs –v

Ta komenda powinna wyświetlić zainstalowaną wersję node.js, np. v12.9.1

Instalacja Node-RED

Teraz, wystarczy wpisać poniższe polecenie, aby zainstalować Node-RED

sudo npm install -g --unsafe-perm node-red

Uruchomienie Node-RED

Aby uruchomić Node-RED należy użyć polecenia:

node-red

Dodatkowo, Node-RED może być uruchamiany automatycznie przy starcie systemu. Szczegóły tutaj.

Następnie podłącz swój komputer do portu LAN komputera Moxa UC-3100.

W moim przypadku, wpisując w przeglądarce adres 192.168.3.213:1880 pojawi się okno do tworzenia flow

Podsumowanie

Przebrnęliśmy przez krótki proces konfiguracji. Teraz wystarczy dostosować Node-RED do naszych potrzeb poprzez instalację potrzebnych bloczków. W tym celu należy przejść do zakładki Manage palette.

 

Pozostaje pytanie, w jaki sposób możemy wykorzystać Node-RED?

Jednym z pomysłów może być wykorzystanie Node-RED do wizualizacji sygnałów z protokołu MQTT. Więcej szczegółowych informacji można znaleźć w poniższym wpisie.

Zachęcam do śledzenia kolejnych wpisów, w którym omówimy inne przypadki wykorzystania Node-RED.

W przypadku pytań, można się z nami skontaktować drogą mailową: moxa@elmark.com.pl

Skontaktuj się ze specjalistą Elmark

Masz pytania? Potrzebujesz porady? Zadzwoń lub napisz do nas!