Jak: Używanie Serial z Node-RED
  • 04 Nov 2023
  • 3 Minuty do przeczytania
  • Współtwórcy

Jak: Używanie Serial z Node-RED


Article Summary

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.

    • EdgeIO obsługuje urządzenia szeregowe, które używają:

      • RS-232

      • RS-485 (półdupleks)

      • Komunikacja szeregowa przez USB

        • EdgeMC obsługuje urządzenia szeregowe, które używają
      • Serial over USB

      • TTY UART z TX/RX

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:

Node RED Serial Setup Port Config

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":

Node RED Serial Set Up Edit Port Modal

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.

Node RED Serial Setup Add New Port

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.

Node RED Serial Setup Settings

  • 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 co n sekund.

Node RED Serial Setup Input

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

Node RED Serial Setup Output

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

Node RED Serial Setup Connected Status

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.

Node RED Serial Setup Flow1

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

Node RED Serial Setup Flow2


Czy ten artykuł był pomocny?