- Wydrukować
Jak: Używanie Serial z Node-RED
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
n
znaków, jeśli wyjście ma stałą długość, lub można ustawić limit czasu, aby uzyskać wyjście con
sekund.
- 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