Node-RED Unleashed: Transformacja rozwoju przemysłowego IoT i współpracy branżowej z Hitachi

Node-RED to narzędzie programistyczne typu open source, oparte na przepływach, zaprojektowane do łatwego programowania aplikacji Internetu rzeczy (IoT) i jest częścią OpenJS Foundation. Zapewnia edytor oparty na przeglądarce, w którym użytkownicy mogą łączyć urządzenia, interfejsy API i usługi online, przeciągając i upuszczając węzły do przepływu. To wizualne podejście do programowania sprawia, że użytkownicy na wszystkich poziomach umiejętności mogą tworzyć złożone aplikacje, łącząc różne elementy bez pisania obszernego kodu.

Node-RED pracuje ostatnio nad kilkoma świetnymi ulepszeniami, w tym nad pierwszą wersją beta aplikacji Node-RED 4.0. Aktualizacje obejmują automatyczne uzupełnianie danych wejściowych flow/global/env, opcje formatowania znaczników czasu oraz lepszy, szybszy i bardziej zgodny węzeł CSV. Więcej informacji w pełnej wersji w przyszłym miesiącu!

Niedawno Fundacja OpenJS rozmawiała z Kazuhito Yokoi (横井 一仁), Dział Nauczania i Rozwoju, Hitachi Academy, aby dowiedzieć się więcej o Node-RED i dlaczego staje się on tak popularny w przemysłowych aplikacjach IoT.

Oparte na przeglądarce narzędzie do programowania niskokodowego brzmi świetnie, ale jak często użytkownicy i tak muszą pisać kod?

To zależy od umiejętności użytkowników i systemów. Jeśli użytkownicy tacy jak inżynierowie fabryczni nie mają umiejętności informatycznych, mogą tworzyć przepływy bez kodowania. Dwa najczęstsze przypadki to wizualizacja danych i wysyłanie danych do środowiska chmury. W tych przypadkach użytkownicy mogą tworzyć swoje systemy, łącząc węzły Node-RED.

Jeśli użytkownicy mają umiejętności informatyczne, mogą łatwiej dostosować przepływ Node-RED. Muszą znać SQL, gdy chcą przechowywać dane z czujników. Jeśli chcą zewnętrznych modułów npm, powinni zrozumieć, jak wywołać funkcję poprzez kodowanie JavaScript, ale w obu przypadkach kod programowania węzła Node-RED jest zwykle na ekranie komputera.

Hitachi korzysta z generatywnej sztucznej inteligencji opartej na Hitachi LLM, aby wspierać wykorzystanie rozwoju niskokodowego. Czy osobiście używa Pan ChatGPT z Node-RED? Czy uważa Pan, że zwiększy to wydajność tworzenia niskokodowych przepływów Node-RED?

Tak, używam ChatGPT z Node-RED. Ostatnio użyłem ChatGPT do wygenerowania kodu do obliczenia danych lokalizacji. Obliczanie kierunku i odległości od dwóch punktów, w tym szerokości i długości geograficznej, jest trudne, ponieważ wymaga funkcji trygonometrycznych. ChatGPT potrafi jednak automatycznie wygenerować kod źródłowy z tekstu zachęty. W szczególności węzeł function-gpt, opracowany przez FlowFuse, może wygenerować kod JavaScript w formacie specyficznym dla Node-RED w ciągu kilku sekund. Użytkownicy po prostu wpisują tekst zachęty na ekranie Node-RED.

Jest dla mnie jasne, że korzystanie z ChatGPT z Node-RED pozwala inżynierom IT skrócić czas kodowania i rozszerza możliwości inżynierów fabrycznych, ponieważ mogą oni próbować samodzielnie pisać kod.

Oprócz zastosowań fabrycznych, w Japonii istnieje przekonujący przypadek użycia, który podkreśla wszechstronność Node-RED, szczególnie dla osób bez umiejętności informatycznych. W Tokio, firma Tokyo Mystery Circus, budynek rozrywkowy, wykorzystuje Node-RED do sterowania wyświetlaczami i zarządzania złożonymi interakcjami. Deweloper stojący za tym projektem nie miał tradycyjnego wykształcenia informatycznego, ale potrzebował sposobu na obsługę zaawansowanych zadań, takich jak kontrolowanie różnych wyświetlaczy, które wyświetlają pismo jako część rozgrywki. Dzięki wykorzystaniu Node-RED wraz z ChatGPT do tworzenia złożonych skryptów obsługi, deweloper był w stanie to osiągnąć.

Wykorzystanie tych technologii w tak wyjątkowym środowisku ilustruje, jak dostępne i potężne mogą być narzędzia takie jak Node-RED i ChatGPT dla nietradycyjnych programistów. Przykład ten, przedstawiony w Tokio i rozszerzony na miasta takie jak Osaka i Nagoya, pokazuje praktyczne zastosowanie tych technologii w szerokim zakresie środowisk wykraczających poza tradycyjne dziedziny informatyki i inżynierii.

Aby uzyskać więcej szczegółów, poniższy film (w języku japońskim) zapewnia wgląd w to, jak Tokyo Mystery Circus wykorzystuje Node-RED w swoich operacjach.

Dlaczego Node-RED jest popularny do tworzenia przemysłowych aplikacji IoT?

Node-RED został opracowany na początku 2013 roku jako projekt poboczny przez Nicka O’Leary’ego i Dave’a Conway-Jonesa z grupy IBM Emerging Technology Services i jest szczególnie dobrze znany z obsługi protokołów IoT, takich jak MQTT i HTTP. Ponieważ Node-RED ma wiele funkcji w MQTT, jest gotowy do użycia w przemysłowym IoT.

Począwszy od MQTT, inne protokoły, takie jak OPC UA (wieloplatformowy, open-source, standard IEC62541 do wymiany danych z czujników do aplikacji w chmurze) i Modbus (protokół komunikacji danych klient/serwer w warstwie aplikacji) mogą być używane w węzłach innych firm opracowanych przez społeczność.

Ponieważ Node-RED może łączyć wiele typów urządzeń, jest bardzo popularny w dziedzinie przemysłowego IoT. Ponadto wiele urządzeń przemysłowych obsługuje Node-RED. Użytkownicy mogą kupić te urządzenia i szybko rozpocząć korzystanie z Node-RED.

Dlaczego firmy takie jak Microsoft, Hitachi, Siemens, AWS i inne przyjęły Node-RED?

Jeśli chodzi o Hitachi, Node-RED stał się kluczowym narzędziem komunikacyjnym wypełniającym lukę między IT a inżynierami fabrycznymi, skutecznie eliminując bariery istniejące zarówno w technologii, jak i interakcjach międzyludzkich. W ramach jednej firmy działy IT i OT (Operational Technology) często działają jak dwa odrębne podmioty, co utrudnia komunikację pomimo kluczowego znaczenia współpracy.

Aby temu zaradzić, firma Hitachi zdecydowała się przyjąć Node-RED jako główne narzędzie komunikacji w programowaniu. Intuicyjny interfejs Node-RED pozwala na wyświetlenie całego przepływu na ekranie, ułatwiając dyskusje i współpracę.

Podejście to zostało ostatnio zastosowane w praktyce, gdy jako jedyny inżynier IT odwiedziłem fabrykę Hitachi. Początkowo, wpisując kod oprogramowania na własną rękę, inżynierowie fabryki nie mogli pojąć zawiłości pracy. Jednak po opracowaniu przepływu Node-RED stał się on centralnym punktem zainteresowania, umożliwiając innym inżynierom zebranie się wokół i aktywne zaangażowanie w projekt.

Ta zmiana w kierunku bardziej integracyjnej i zrozumiałej metody współpracy podkreśla wartość Node-RED w demistyfikacji IT dla niespecjalistów.

Wierzę, że Siemens działa w podobnym paradygmacie, wykorzystując Node-RED do usprawnienia komunikacji między działami IT i inżynierii. Co więcej, duże firmy, takie jak Microsoft i AWS, również dostrzegają potencjał Node-RED. Integrując go ze swoimi środowiskami IT, chcą skuteczniej promować swoje usługi w chmurze. Tak szerokie zastosowanie Node-RED w różnych sektorach, od gigantów przemysłowych po dostawców usług w chmurze, podkreśla jego wszechstronność i skuteczność jako narzędzia wspierającego zrozumienie i współpracę w różnych środowiskach technologicznych.

Jak ważny jest Node-RED w stosie MING (MQTT, InfluxDB, Node-RED, Grafana)?

Node-RED jest niezbędnym narzędziem w stosie MING, ponieważ jest centralnym komponentem, który ułatwia połączenie z innym oprogramowaniem. Stos MING został zaprojektowany w celu ułatwienia gromadzenia, przechowywania, przetwarzania i wizualizacji danych i łączy kluczowe komponenty open-source systemu IoT.

Jego znaczenia nie można przecenić, ponieważ łączy różne komponenty oprogramowania i stanowi najprostszy sposób przechowywania danych i zarządzania nimi. Ta funkcjonalność podkreśla jego kluczową rolę w integracji i wydajności stosu, podkreślając jego niezbędność w osiąganiu usprawnionego przetwarzania danych i rozwoju aplikacji.

Node-RED wprowadził zaawansowane funkcje, takie jak Git Integration, Flow Debugger i Flow Linter. Co dalej w celu poprawy doświadczenia programisty z Node-RED?

Obecnie głównym celem rozwoju Node-RED jest ulepszenie narzędzi do współpracy – praca nad współbieżną edycją, aby ułatwić współpracę wielu użytkownikom.

Kolejnym krokiem dla społeczności jest stworzenie narzędzia do testowania przepływu. Testowanie przepływu jest potrzebne do zapewnienia stabilności. Społeczność poprosiła o możliwość testowania przepływów dla przepływów Node-RED.

W odpowiedzi zespół Node-RED, przy znaczącym wkładzie Nicka O’Leary’ego (CTO i założyciela FlowFuse oraz lidera projektu Node-RED), opracowuje narzędzie do testowania przepływu, głównie jako wtyczkę. Dokument projektowy dla tej pierwszej implementacji o nazwie node-red-flow-tester jest dostępny, umożliwiając użytkownikom publikowanie błędów i przekazywanie opinii, co było bardzo przydatne.

Narzędzie ma na celu wykorzystanie frameworków testowych REST API do testowania, chociaż należy zauważyć, że niektóre komponenty nie mogą być szczegółowo testowane. Jeśli narzędzie to zostanie udostępnione, uprości proces aktualizacji Node-RED i jego wersji JavaScript, zapewniając kompatybilność z modułami zależności.
Jednocześnie skupiłem się na dokumentacji i organizowaniu praktycznych wydarzeń związanych z zaawansowanymi funkcjami, takimi jak Integracja Git. Funkcje te są niezbędne, ponieważ bez nich użytkownicy mogą napotkać wyzwania w swoich projektach rozwojowych. Na Medium, pod nazwą użytkownika kazuhitoyokoi, opublikowałem 6 artykułów, które zagłębiają się w te zaawansowane funkcje.

Jeden z artykułów skupia się w szczególności na Integracja Git i jest również dostępna w języku japońskim, co wskazuje na wysiłki zmierzające do zaspokojenia szerszego grona odbiorców. Ponadto, Byłem aktywny na Qiita, popularnej japońskiej platformie wymiany wiedzy technicznej, gdzie zorganizowałem pierwsze praktyczne wydarzenie. The pełne wideo z pierwszego wydarzenia jest dostępne tutaj. (Po japońsku)

Drugie wydarzenie odbyło się 18 marca 2024 r. i trzecie wydarzenie zaplanowano na 26 kwietnia 2024 r., pokazując rosnące zainteresowanie społeczności tymi tematami i praktyczne zastosowanie Node-RED w projektach rozwojowych. To wieloaspektowe podejście, łączące rozwój narzędzi, dokumentację i zaangażowanie społeczności, ma na celu ulepszenie ekosystemu Node-RED, czyniąc go bardziej dostępnym i przyjaznym dla programistów na całym świecie.

Wkład w projekt Node-RED społeczność obejmuje kod źródłowy, internacjonalizację edytora przepływu, raporty o błędach, sugestie funkcji, udział w spotkaniach programistów i wiele innych. Jaki jest najlepszy sposób na rozpoczęcie współpracy z Node-RED?

Jeśli nie są Państwo rodzimymi użytkownikami języka angielskiego, polecam przetłumaczenie edytora przepływu Node-RED jako świetny sposób na rozpoczęcie współpracy.

Obecnie użytkownicy mogą wnieść swój wkład w projekt Node-RED, tworząc plik JSON zawierający komunikaty w języku lokalnym. Jeśli użytkownik znajdzie błąd, proszę spróbować sprawdzić kod. Kod źródłowy Node-RED jest bardzo łatwy do zrozumienia. Po wypróbowaniu poprawki użytkownik może zgłosić żądanie ściągnięcia.

Wnioski

Wywiad pokazuje, że Node-RED jest niezbędnym narzędziem do poprawy współpracy między różnymi specjalistami bez barier technicznych w rozwoju przemysłowych aplikacji IoT. Proszę odkryć potencjał Node-RED dla swoich projektów i wnieść swój wkład w projekt Node-RED. Przyszłość Node-RED jest w naszych rękach!

Zasoby