Jak: Używanie Serial z Node-RED
Przewodnik po łączeniu się z urządzeniem szeregowym, konfigurowaniu portu szeregowego w node-RED i wprowadzenie do przepływów biblioteki node-RED.
W tym artykule opisano, jak odczytywać i zapisywać dane szeregowe z urządzeń Tulip Edge za pomocą Node-RED. Obejmie on sposób łączenia się z różnymi portami szeregowymi na każdym typie urządzenia Edge oraz dwa przepływy biblioteki Tulip Node-RED, które wykorzystują komunikację szeregową.
Potrzebne będą:
-
Urządzenie Edge IO lub Edge MC zarejestrowane na koncie Tulip.
-
Urządzenie, które będzie komunikować się szeregowo z urządzeniem Edge.
1. Konfiguracja sprzętu: Podłączanie do urządzenia szeregowego
Najpierw upewnij się, że fizycznie podłączyłeś swoje szeregowe urządzenie peryferyjne do urządzenia Edge.
Opcjonalnie: Jeśli chcesz najpierw przetestować przepływ Node-RED, komunikując się z urządzeniem hosta (tj. laptopem, innym urządzeniem Tulip Edge itp.), Możesz to zrobić za pomocą RS-232 z modemem zerowym lub kablami USB-UART ze skrzyżowanymi liniami TX/RX ( nie podłączaj zasilania).
Przykładami programów, których można użyć na urządzeniu hosta do komunikacji z urządzeniem Edge są
- screen (MacOS): Narzędzie wiersza poleceń do komunikacji szeregowej.
- PuTTY (Windows/Linux): Darmowy emulator terminala, który może działać jako konsola szeregowa.
- Node-RED: Utwórz uzupełniający przepływ Node-RED w instancji Node-RED uruchomionej na urządzeniu hosta.
2. Konfiguracja Node-RED: Konfiguracja portu szeregowego
Będziemy używać węzłów w pakiecie node-red-contrib-serialport do komunikacji szeregowej w Node-RED. Jeśli korzystasz z urządzenia Tulip Edge OS44+, pakiet ten jest preinstalowany. W przeciwnym razie możesz dodać węzły do palety za pomocą edytora Node-RED, jak opisano tutaj.
Węzły szeregowe pojawią się w zakładce sieci:

Aby odczytać wejścia szeregowe, przeciągnij i upuść węzeł serial in. Aby zapisać wyjścia szeregowe, przeciągnij i upuść węzeł serial out. W każdym z węzłów, aby skonfigurować port szeregowy, kliknij przycisk edycji właściwości "Serial Port":

Następnie należy wypełnić następujące właściwości:
- Serial Port: ścieżka dev portu szeregowego (np. /dev/ttyS0). Zależy to od urządzenia Edge i fizycznego portu szeregowego, z którym się łączysz (patrz artykuły dotyczące Edge IO lub Edge MC). Dostępne ścieżki można wyświetlić, klikając przycisk wyszukiwania, jak pokazano poniżej.

Uwaga: Obecnie w Node-RED nie ma wsparcia dla podłączania urządzeń USB na gorąco. Oznacza to, że urządzenie USB musi być podłączone podczas uruchamiania urządzenia, aby Node-RED miał do niego dostęp.
- Ustawienia: Szybkość transmisji i inne ustawienia powinny być zgodne z szybkością transmisji urządzenia szeregowego, z którym się komunikujesz.

- Wejście: Wybierz, kiedy węzeł wyśle wiadomość. Opcje obejmują oczekiwanie na znak rozdzielający (taki jak podział wiersza, przecinek lub spacja), oczekiwanie na każde
nznaków, jeśli wyjście ma stałą długość, lub można ustawić limit czasu, aby uzyskać wyjście consekund.

- Wyjście: Dodaj znak do komunikatu wyjściowego (na przykład dodaj z powrotem podział wiersza).

Możesz zobaczyć, że jesteś podłączony do prawidłowego portu szeregowego, jeśli po wdrożeniu status węzła to "podłączony":

3. Przepływy biblioteki Node-RED: Komunikacja z Tulip
Tulip zapewnia kilka przepływów bibliotecznych do odczytu wejść szeregowych i zapisu wyjść szeregowych na urządzeniach Tulip Edge przy użyciu Node-RED. Aby uzyskać informacje na temat importowania przepływu biblioteki Tulip, zobacz Importowanie przepływów Tulip N ode-RED.
Aby zapisać wyjście szeregowe na urządzeniu Tulip Edge z aplikacji Tulip, można użyć przepływu serial_http_endpoint i skonfigurować konektor HTTP w instancji Tulip działającej na hoście konektora urządzenia Edge. Będziesz musiał dodać funkcję konektora do tego konektora, która wysyła żądania POST do punktu końcowego HTTP /serial i wywołać tę funkcję konektora z aplikacji. Dowiedz się więcej o zapisywaniu wartości do Node-RED za pomocą Connector Host w Komunikacja z maszynami za pomocą Edge MC's Connector Host i Node-RED.

Aby odczytać szeregowe dane wejściowe na urządzeniu Tulip Edge i wysłać je do Tulip, można użyć interfejsu API Tables (aby zapisać dane w tabeli) lub Machine API (aby zapisać dane w atrybucie maszyny). Przepływ biblioteczny serial_to_tulip_table jest przykładem tego, jak zapisywać rozdzielane wierszami wejścia szeregowe do tabeli tulip. Konieczne będzie skonfigurowanie węzła serial i dwóch węzłów Tulip tables z odpowiednimi ustawieniami dla danego przypadku użycia. Dowiedz się więcej o tym, jak korzystać z węzła Tulip Tables API w Korzystanie z Node-RED z Tulip API

