Как: Использование последовательного интерфейса в Node-RED
  • 04 Nov 2023
  • 3 Минуты для чтения
  • Авторы

Как: Использование последовательного интерфейса в Node-RED


Article Summary

Как: Использование последовательного порта в Node-RED

Руководство по подключению к последовательному устройству, настройке последовательного порта в node-RED и знакомство с потоками библиотеки node-RED

В этой статье описывается, как читать и записывать последовательные данные с устройств Tulip Edge с помощью Node-RED. Будет рассказано о том, как подключаться к различным последовательным портам на каждом типе Edge-устройств, а также о двух потоках библиотек Tulip Node-RED, использующих последовательный обмен данными.

Что вам потребуется:

  • Устройство Edge IO или Edge MC, зарегистрированное в вашем аккаунте Tulip.

  • Устройство, которое будет осуществлять последовательный обмен данными с вашим Edge-устройством.

    • Edge IO поддерживает последовательные устройства, использующие:

      • RS-232

      • RS-485 (полудуплекс)

      • Последовательный интерфейс через USB

        • Edge MC поддерживает последовательные устройства, использующие:
      • Последовательный порт USB

      • TTY UART с TX/RX

1. Настройка оборудования: Подключение к последовательному устройству

Прежде всего, убедитесь, что вы физически подключили ваше последовательное периферийное устройство к устройству Edge.

Дополнительно: Если вы хотите сначала протестировать работу Node-RED, установив связь с хост-устройством (например, с ноутбуком, другим устройством Tulip Edge и т.д.), вы можете сделать это с помощью RS-232 с нуль-модемом или кабелей USB-UART с перекрещивающимися линиями TX/RX ( не подключайте питание).

Примерами программ, которые можно использовать на хост-устройстве для связи с устройством Edge, являются:

  • screen (MacOS): Утилита командной строки для последовательного обмена данными.
  • PuTTY (Windows/Linux): Бесплатный эмулятор терминала, который может работать в качестве последовательной консоли.
  • Node-RED: Создайте дополнительный поток Node-RED в экземпляре Node-RED, запущенном на хост-устройстве.

2. Настройка Node-RED: Настройка последовательного порта

Мы будем использовать узлы из пакета node-red-contrib-serialport для последовательных коммуникаций в Node-RED. Если устройство Tulip Edge OS44+, то этот пакет уже предустановлен. В противном случае можно добавить узлы в палитру с помощью редактора Node-RED, как описано здесь.

Последовательные узлы появятся на вкладке " Сеть ":

Node RED Serial Setup Port Config

Для чтения последовательных входов перетащите узел serial in. Для записи последовательных выходов перетащите узел serial out. На любом из узлов для настройки последовательного порта нажмите кнопку редактирования свойства "Serial Port":

Node RED Serial Set Up Edit Port Modal

После этого вы заполните следующие свойства:

  • Serial Port: devpath последовательного порта (например: /dev/ttyS0). Это зависит от того, к какому устройству Edge и к какому физическому последовательному порту вы подключаетесь (см. статьи для Edge IO или Edge MC). Доступные пути можно просмотреть, нажав кнопку поиска, как показано ниже.

Node RED Serial Setup Add New Port

Примечание: В настоящее время в Node-RED отсутствует поддержка "горячего" подключения USB-устройств. Это означает, что USB-устройство должно быть подключено при загрузке устройства, чтобы Node-RED имел к нему доступ.

  • Настройки: Скорость передачи данных и другие настройки должны соответствовать скорости передачи данных последовательного устройства, с которым вы общаетесь.

Node RED Serial Setup Settings

  • Input (Ввод): Выберите, когда узел будет выводить сообщение. Возможны следующие варианты: ожидание разделительного символа (например, перевода строки, запятой или пробела), ожидание через каждые n символов, если вывод имеет фиксированную длину, или можно установить таймаут, чтобы получать вывод каждые n секунд.

Node RED Serial Setup Input

  • Output: Добавить символ в выходное сообщение (например, добавить обратно перевод строки).

Node RED Serial Setup Output

Вы можете убедиться в том, что подключены к правильному последовательному порту, если после развертывания статус узла будет "connected":

Node RED Serial Setup Connected Status

3. Потоки библиотеки Node-RED: Общение с Tulip

Tulip предоставляет несколько библиотечных потоков для чтения последовательных входов и записи последовательных выходов на устройствах Tulip Edge с помощью Node-RED. Информацию о том, как импортировать библиотечный поток Tulip, см. в разделе Импорт потоков Tulip Node-RED.

Чтобы записать последовательный вывод на устройство Tulip Edge из приложения Tulip, можно использовать поток serial_http_endpoint и настроить HTTP-коннектор на экземпляре Tulip, работающем на хосте коннектора устройства Edge. В этот коннектор необходимо добавить функцию коннектора, которая будет отправлять POST-запросы к конечной точке /serial HTTP, и вызывать эту функцию коннектора из приложения. Подробнее о записи значений в Node-RED с помощью хоста коннектора читайте в разделе " Общение с машинами с помощью хоста коннектора и Node-RED в Edge MC ".

Node RED Serial Setup Flow1

Для чтения последовательного ввода на устройстве Tulip Edge и отправки в Tulip можно использовать либо Tables API (для записи данных в таблицу), либо Machine API (для записи данных в атрибут машины). Библиотечный поток serial_to_tulip_table является примером записи последовательных входов с разделителями новой строки в таблицу tulip. Вам необходимо сконфигурировать узел serial и два узла Tulip tables с правильными настройками для вашего случая использования. Подробнее о том, как использовать узел API Tulip Tables, читайте в разделе Использование Node-RED с API Tulip.

Node RED Serial Setup Flow2


Была ли эта статья полезной?