Przygotowanie się do „Hello, World” za pomocą platformy niskiego kodu, Node-RED

Kobieta Technologia

Gdybym w 1980 roku powiedział Ci, że możesz programować bez pisania kodu, pomyślałbyś, że zwariowałem. Ale halo, teraz jest rok 2022. Rewolucja low-code/no-code jest prawdziwa i nadszedł czas, abyśmy wszyscy zaczęli z niej korzystać. Dziś chcę opowiedzieć o tym, jak platforma o niskim kodzie, Node-RED, rewolucjonizuje programowanie usług i urządzeń Internetu rzeczy.

Node-RED to platforma programistyczna typu low-code, o otwartym kodzie źródłowym, oparta na przeglądarce internetowej, która umożliwia tworzenie logicznych przepływów poprzez łączenie ze sobą różnych węzłów Node-RED (bloków funkcjonalnych).

Swoją przygodę z Node-RED rozpocząłem po natknięciu się na kilka świetnych projektów IoT i automatyki domowej wykorzystujących Node-RED działający na Raspberry Pi. Jednym z moich ulubionych był projekt dotyczący bezpieczeństwa w domu: Twórca skonfigurował w swoim domu kamerę, która wykrywa ludzi (intruzów) i wysyła alarm, gdy coś wyczuje. Aplikację do uczenia maszynowego zbudował przy użyciu TensorFlow.js i Node-RED. Nie było to tak skomplikowane, jak mogłoby się wydawać. Node-RED sprawia, że złożenie takiej aplikacji IoT jest bardzo proste.

To jedna z prawdziwych zalet platformy o niskim kodzie, takiej jak Node-RED: Możesz po prostu przeciągać i upuszczać bloki funkcji i łączyć je graficznie, aby tworzyć swoje aplikacje. Co równie ważne, siłą tej platformy jest jej zdolność do hostowania i kontrolowania niezliczonych protokołów dla różnych modułów sprzętowych i programowych oraz do splatania ich ze sobą w celu stworzenia czegoś większego. A wszystko to przy jednoczesnym ułatwieniu wizualizacji przepływu programowego na jednym ekranie.

Elementy składowe systemu Node-RED

W interfejsie graficznym Node-RED „węzeł” to dobrze zdefiniowana, samodzielna część funkcjonalności, która pozwala na ustawianie jej właściwości. Węzły otrzymują pewne dane, na których pracują; ich wyjściem jest komunikat w postaci obiektu JavaScript. Węzły łączy się ze sobą w celu utworzenia przepływu kodu. Mówiąc prościej, pozwala to narysować kod w formie przepływu.

Każdy węzeł jest niezależną funkcją, którą można łączyć z innymi węzłami w celu utworzenia aplikacji. Programy tworzy się, łącząc te węzły. Węzły obsługują większość mechaniki. Na przykład, aby przywołać API w swoim kodzie, nie trzeba znać bibliotek HTTP ani usług sieciowych. Wszystko, czego potrzebujesz, to funkcja węzła dla usługi HTTP i podłączenie jej do Twojego przepływu.

Najlepsze w Node-RED jest to, że abstrahuje on podstawowy kod, dając programiście wysokopoziomowy wgląd w to, co potrafi Node. Nie jest to jednak kompletna czarna skrzynka! Każdy może publikować własne węzły lub współpracować z autorami węzłów w celu dodania do nich pożądanych funkcji. Obecnie Node-RED ma w swojej bazie ponad 3000 węzłów, a baza ta stale rośnie. Istnieje również społeczność programistów, która pomoże Ci, gdy utkniesz w martwym punkcie.

W praktyce: Zbudujmy coś

Instalacja i konfiguracja Node-RED jest prosta. Ale jest to bogaty system i trzeba się go nauczyć.

Ten wpis na blogu wskaże Ci początkowe kroki instalacji, gdzie się udać, a następnie utworzyć swój pierwszy podstawowy przepływ Node-RED. Zaczynajmy!

Wymagania wstępne

Zainstalujemy Node-RED na lokalnym systemie. Przed instalacją upewnij się, że masz zainstalowany Node.js i npm (menedżer pakietów dla programów Node JavaScript) w swoim systemie. Możesz to sprawdzić, uruchamiając polecenie `node -v` w terminalu. Powinna ona wypisać wersję node, jeśli jest już zainstalowana w systemie. Jeśli nie, to można pobrać najnowszą wersję ze strony nodejs.org.

Instalacja

Instrukcje instalacji dla danego systemu operacyjnego/platformy można znaleźć na stronie Rozpoczęcie pracy z Node-RED. Node-RED może działać na lokalnym komputerze PC lub Mac, na urządzeniu takim jak Raspberry Pi, w kontenerze na kontrolowanym przez Ciebie serwerze lub w chmurze. Zakładam, że zainstalujesz go na lokalnym systemie, np. na komputerze PC.

Po zainstalowaniu programu należy go uruchomić, wpisując w terminalu `node-RED`. Node-RED domyślnie używa portu 1880. Po uruchomieniu programu otwórz kartę przeglądarki na tym samym komputerze i wejdź na stronę `http://localhost:1880`. Otworzy to graficzny interfejs użytkownika (GUI) Node-RED.

Arkusz informacyjny Node-RED

Oto mapa, która pozwoli szybko zidentyfikować narzędzia i komponenty, które zobaczysz w GUI.

Użyjmy niektórych z tych komponentów Node-RED, aby utworzyć prosty program „Witaj, świecie”. Możemy to zrobić szybko, używając tylko trzech węzłów. Nasza aplikacja wykona proste żądanie API GET i wyśle swoje dane wyjściowe do okna debugowania.

Krok 1: Dodaj węzeł Inject Node

Przeciągnij i upuść węzeł Inject Node do obszaru roboczego z palety po lewej stronie. Po upuszczeniu węzła w obszarze roboczym kliknij dwukrotnie, aby edytować jego właściwości. W oknie dialogowym właściwości możesz nadać temu węzłowi dowolną nazwę.

Węzeł wstrzykujący będzie wstrzykiwał komunikaty do przepływu. Wywoła on przepływ do uruchomienia, a w naszym przykładzie, do wytworzenia danych wyjściowych.

Krok 2: Dodaj węzeł żądania HTTP

Teraz dodaj węzeł żądania HTTP obok węzła Inject. Możesz użyć filtra wyszukiwania na górze palety, aby wyszukać węzeł żądania HTTP.

Węzła żądania HTTP będziemy używać do wysyłania żądań API. Po przeciągnięciu węzła do obszaru roboczego kliknij dwukrotnie węzeł żądanie HTTP, aby skonfigurować jego ustawienia. W sekcji URL w ustawieniach wklej ten adres ` https://www.boredapi.com/api/activity/` i kliknij przycisk Gotowe. Ten prosty i pozbawiony zabezpieczeń interfejs API losowo proponuje aktywność, gdy się nudzisz.

Krok 4: Dodaj węzeł debugowania

W naszym ćwiczeniu Hello, World użyjemy węzła Debug jako bloku funkcjonalnego drukowania. Przeciągnij i upuść węzeł Debug do swojego obszaru roboczego z palety. Możesz także kliknąć na węzeł Debug w palecie i zobaczyć informacje o jego właściwościach oraz opis działania w panelu paska bocznego Informacje.

Krok 5: Teraz połącz węzły razem

Połącz ze sobą węzły Inject, HTTP Request i Debug, przeciągając między portem wyjściowym jednego z nich a portem wejściowym drugiego. Najpierw połącz wyjście węzła Inject z wejściem węzła HTTP, a następnie połącz wyjście węzła HTTP z wejściem węzła Debug.

Krok 6: Wdrażanie

Kliknij przycisk Deploy w prawym górnym rogu, aby rozmieścić wszystkie węzły na serwerze. Kliknij zakładkę Debug po prawej stronie obszaru roboczego, a następnie kliknij przycisk Inject węzła Inject Node.

W oknie Debug zobaczysz ładunek wiadomości z odpowiedzią API.

Gratulacje! Udało Ci się utworzyć pierwszy przepływ Node-RED.

Co dalej?

Teraz nadszedł czas, aby poznać więcej węzłów z palety Node-RED. Dokumenty Node-RED zawierają wiele zasobów, które pomogą Ci w tworzeniu własnych przepływów.

Możesz wypróbować przepływ z Node-RED, który pobiera dane ze strony internetowej w regularnym odstępie czasu, przetwarza informacje i wyświetla je w konsoli debugowania.

Node-RED to potężny system do zbierania danych z czujników i sterowania fizycznymi

urządzenia. Węzły obsługi zdarzeń i bogata biblioteka palet węzłów do pobrania zapewniają niezrównane połączenie mocy i elastyczności. A dzięki systemowi graficznemu łatwo jest „myśleć w kodzie” i szybko tworzyć przydatne przepływy.

W moim następnym wpisie na blogu podzielę się nowym projektem wykorzystującym Node-RED i Meraki Dashboard API Node do pobierania danych z sieci. Bądźcie czujni! A jeśli już zacząłeś przygodę z Node-RED, daj mi znać w komentarzach, jaki był Twój pierwszy projekt i jak Ci idzie teraz.

W międzyczasie sprawdź stronę Meraki dla deweloperów, Building IoT Apps with Node-RED, która pokazuje, jak można używać produktów sieciowych Meraki i WebEx razem do śledzenia, wizualizacji i kontroli zasobów sieciowych.

Chętnie dowiemy się, co o tym myślisz. Zadaj pytanie lub zostaw komentarz poniżej.
Bądź na bieżąco z Cisco DevNet w serwisach społecznościowych!

LinkedIn | Twitter @CiscoDevNet | Facebook | Developer Video Channel

Share

:

Czytaj dalej: https://blogs.cisco.com/developer/helloworldlowcodenodered01

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.