Отправка сообщений из Tulip в Node-RED
  • 08 Jan 2025
  • 3 Минуты для чтения
  • Авторы

Отправка сообщений из Tulip в Node-RED


Вводный текст

Для отправки сообщений из Tulip (например, из триггеров или автоматизаций в приложении) можно использовать коннектор. Это проще всего сделать, установив Connector Host на всех устройствах Tulip Edge.

С устройствами Tulip Edge

Для отправки сообщения из триггера Tulip в Node-RED, запущенный на устройстве Tulip Edge, используется следующий поток:

Communicate with Machines using Edge MC's Connector Host & Node-RED_314676359.png{height="" width=""}.

После завершения работы используйте вновь созданный коннектор в любом приложении Tulip App или Automation для отправки сообщений на Node-RED, например, команд устройства или входов потока.

В Tulip: Настройка коннектора и узла коннектора

Примечание: Если вы не знакомы с хостами коннекторов и функциями коннекторов в Tulip, ознакомьтесь с этой статьей.

  1. Создайте новый коннектор на странице "Коннекторы " в вашем экземпляре Tulip.
  2. В появившемся модальном окне заполните информацию, как указано ниже:

Имя: Выберите имя для вашего коннектора HostDescription: Выберите имя для вашего коннектора HostConnectorType: Выберите HTTP

  1. Нажмите "Сохранить".
  2. Чтобы указать детали хоста коннектора, нажмите на кнопку production & testing & development слева. В появившемся модале введите следующую информацию:

Running On: Выберите целевой хост коннектора Edge Device *Примечание: Если хост коннектора Edge Device не удается найти, перейдите на портал Edge Device и убедитесь, что "Хост коннектора" включен.*Host: Введите localhostПорт: Введите 1880 (это порт, на котором работает Node-RED)TLS: Введите НетНе нужно добавлять заголовки или сертификаты.

  1. Нажмите кнопку Test и убедитесь, что соединение прошло. Наконец, нажмите Сохранить.

Теперь этот коннектор может взаимодействовать с Node-RED на целевом пограничном устройстве.


В Node-RED: Настройка узла HTTP IN

Примечание: Этот раздел предполагает знакомство с Node-RED.

Для получения сообщения от узла коннектора на устройстве будет использоваться узел HTTP IN.

  1. Щелкните и перетащите, чтобы добавить узел HTTP IN из палитры в левой части редактора Node-RED в поток:

image.png{height="" width=""}.

Введите следующую информацию: Метод: POST URL: любой заданный пользователем путь, например /nodeRED или /myMachine/0013. Он будет повторно использоваться в Node-RED, поэтому должен быть легко узнаваем и запоминаем.В примере ниже URL настроен как /test: image.png{height="" width=""}.

  1. Нажмите "Готово", чтобы сохранить изменения.

HTTP-запросы будут завершаться неудачей, если серверу (в данном случае Tulip) не будет возвращен ответ. 1. Перетащите узел HTTP Response. 2. Соедините узел HTTP Request с узлом HTTP Response.3. Дважды щелкните узел HTTP Response и введите 200 в качестве кода состояния. Нажмите кнопку Готово.

image.png

HTTP Responses and Advanced Feedback

Modify the Status Code and/or use the +add button in the HTTP Response node to modify or add to the Connector's response. These data (most often, system or device outputs generated by the Flow) will appear in the Connector's Response. Configure Connector Outputs with the guide here!!is this the right wording??!!.

  1. Наконец, перетащите узел Debug из палитры. Настройте этот узел на вывод**"Полного объекта сообщения** с помощью выпадающего списка msg.:image.png

Теперь этот поток Node-RED будет получать сообщение от Tulip и отображать его в журнале отладки Node-RED.

Завершенный поток может выглядеть так, как показано ниже:image.png

Нажмите Deploy в правом верхнем углу, чтобы зафиксировать все изменения.

В Tulip: Настройка и тестирование функции коннектора

После завершения настройки Node-RED Flow вернитесь к коннектору в Tulip. 1. Создайте новую функцию коннектора. 2. Измените функцию коннектора с GET на POST. 3. Введите в URL путь, настроенный в Node-RED (в данном примере /test). 4. (необязательно) Чтобы добавить содержимое в коннектор (например, сообщение или команду), добавьте к нему вход. 5. (необязательно) Добавьте Input в тело запроса, сначала изменив тип содержимого на JSON, а затем добавив элемент в root.

На скриншоте ниже показан коннектор, настроенный на конечную точку /test, указанную выше, и включающий вход под названием testValue:image.png{height="" width=""}.

Нажмите кнопку "Выполнить", чтобы протестировать функцию коннектора. Появятся два индикатора успеха: 1. Функция коннектора получит ответ 200 OK, содержащий (если применимо): 1. Любые входы, сконфигурированные в Коннекторе 2. Любые дополнительные выходы, сконфигурированные в узле HTTP-ответов Node-RED2. В журнале отладки в Node-RED будет отображено сообщение коннектора. Примечание: В зависимости от текущей версии Node-RED, тело запроса коннектора можно найти либо в: a. msg.payload, либо b. msg.req.body.

Оба состояния успеха приведены ниже:

Успех коннектора:image.png{height="" width="700"}.

Node-RED Success:image.png


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