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