- Распечатать
Отправка сообщений из Tulip в Node-RED
Для отправки сообщений из Tulip (например, из триггеров или автоматизаций в приложении) можно использовать коннектор. Это проще всего сделать, установив Connector Host на всех устройствах Tulip Edge.
С устройствами Tulip Edge
Для отправки сообщения из триггера Tulip в Node-RED, запущенный на устройстве Tulip Edge, используется следующий поток:
{height="" width=""}.
После завершения работы используйте вновь созданный коннектор в любом приложении Tulip App или Automation для отправки сообщений на Node-RED, например, команд устройства или входов потока.
В Tulip: Настройка коннектора и узла коннектора
Примечание: Если вы не знакомы с хостами коннекторов и функциями коннекторов в Tulip, ознакомьтесь с этой статьей.
- Создайте новый коннектор на странице "Коннекторы " в вашем экземпляре Tulip.
- В появившемся модальном окне заполните информацию, как указано ниже:
Имя: Выберите имя для вашего коннектора HostDescription: Выберите имя для вашего коннектора HostConnectorType: Выберите HTTP
- Нажмите "Сохранить".
- Чтобы указать детали хоста коннектора, нажмите на кнопку production & testing & development слева. В появившемся модале введите следующую информацию:
Running On: Выберите целевой хост коннектора Edge Device *Примечание: Если хост коннектора Edge Device не удается найти, перейдите на портал Edge Device и убедитесь, что "Хост коннектора" включен.*Host: Введите localhostПорт: Введите 1880 (это порт, на котором работает Node-RED)TLS: Введите НетНе нужно добавлять заголовки или сертификаты.
- Нажмите кнопку Test и убедитесь, что соединение прошло. Наконец, нажмите Сохранить.
Теперь этот коннектор может взаимодействовать с Node-RED на целевом пограничном устройстве.
В Node-RED: Настройка узла HTTP IN
Примечание: Этот раздел предполагает знакомство с Node-RED.
Для получения сообщения от узла коннектора на устройстве будет использоваться узел HTTP IN.
- Щелкните и перетащите, чтобы добавить узел HTTP IN из палитры в левой части редактора Node-RED в поток:
{height="" width=""}.
Введите следующую информацию: Метод: POST URL: любой заданный пользователем путь, например /nodeRED
или /myMachine/0013
. Он будет повторно использоваться в Node-RED, поэтому должен быть легко узнаваем и запоминаем.В примере ниже URL настроен как /test
: {height="" width=""}.
- Нажмите "Готово", чтобы сохранить изменения.
HTTP-запросы будут завершаться неудачей, если серверу (в данном случае Tulip) не будет возвращен ответ. 1. Перетащите узел HTTP Response. 2. Соедините узел HTTP Request с узлом HTTP Response.3. Дважды щелкните узел HTTP Response и введите 200 в качестве кода состояния. Нажмите кнопку Готово.
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??!!.
- Наконец, перетащите узел Debug из палитры. Настройте этот узел на вывод**"Полного объекта сообщения** с помощью выпадающего списка msg.:
Теперь этот поток Node-RED будет получать сообщение от Tulip и отображать его в журнале отладки Node-RED.
Завершенный поток может выглядеть так, как показано ниже:
Нажмите Deploy в правом верхнем углу, чтобы зафиксировать все изменения.
В Tulip: Настройка и тестирование функции коннектора
После завершения настройки Node-RED Flow вернитесь к коннектору в Tulip. 1. Создайте новую функцию коннектора. 2. Измените функцию коннектора с GET на POST. 3. Введите в URL путь, настроенный в Node-RED (в данном примере /test
). 4. (необязательно) Чтобы добавить содержимое в коннектор (например, сообщение или команду), добавьте к нему вход. 5. (необязательно) Добавьте Input в тело запроса, сначала изменив тип содержимого на JSON, а затем добавив элемент в root
.
На скриншоте ниже показан коннектор, настроенный на конечную точку /test
, указанную выше, и включающий вход под названием testValue
:{height="" width=""}.
Нажмите кнопку "Выполнить", чтобы протестировать функцию коннектора. Появятся два индикатора успеха: 1. Функция коннектора получит ответ 200 OK
, содержащий (если применимо): 1. Любые входы, сконфигурированные в Коннекторе 2. Любые дополнительные выходы, сконфигурированные в узле HTTP-ответов Node-RED2. В журнале отладки в Node-RED будет отображено сообщение коннектора. Примечание: В зависимости от текущей версии Node-RED, тело запроса коннектора можно найти либо в: a. msg.payload
, либо b. msg.req.body.
Оба состояния успеха приведены ниже:
Успех коннектора:{height="" width="700"}.
Node-RED Success: