- Распечатать
Обмен данными с машинами с помощью коннектора Edge MC's Connector Host & Node-RED
Общение с машинами с помощью узла коннектора Edge MC и Node-RED
Узнайте, как использовать хост-коннектор Edge MC для связи с устройствами Node-RED
В следующей статье мы...
- Настройка узла коннектора Edge MC
- Построение функции коннектора для взаимодействия с устройством
- Создадим приложение для взаимодействия с устройством
Необходимые условия
- Убедитесь, что вы включили Node-RED на своем Edge MC. Инструкции по этому вопросу см. в этой статье.
Резюме
Используя хост коннекторов своего Edge MC, вы можете использовать приложение для запуска функций коннекторов, которые взаимодействуют с Node-RED, запущенным на устройстве Tulip. В конечном итоге это даст вам возможность писать на машины из приложения Tulip.
Настройка узла коннектора вашего Edge MC
Примечание: Если вы не знакомы с хостами коннекторов и функциями коннекторов в Tulip, ознакомьтесь с этой статьей.
Чтобы начать работу, сначала перейдите на страницу Коннекторы и нажмите кнопку Создать коннектор. Появится модальное окно, предлагающее заполнить следующую информацию:
- Имя: Выберите имя для узла коннектора.
- Описание: Выберите имя для узла коннектора.
- Тип коннектора: Выберите HTTP
Далее необходимо указать сведения о хосте коннектора. Нажмите на кнопку production & testing & development, чтобы открыть модальное окно Edit Connector Details, и введите следующую информацию:
- Running On: Выберите ваш хост коннектора EMC Примечание: Если вы не видите этого, перейдите на портал Edge MC и убедитесь, что хост коннектора включен.
- Host (хост): Введите localhost
- Порт: введите 1880 (это порт, на котором работает Node-RED).
- TLS: введите No
Добавлять заголовки или сертификаты не нужно. Теперь нужно нажать кнопку Test и убедиться, что соединение прошло. Наконец, нажмите кнопку Save (Сохранить).
Создание функции коннектора
Теперь, когда вы успешно настроили свой Connector Host, вы готовы приступить к созданию функций коннектора для связи с устройствами Tulip. В данном примере Node-RED будет выступать в роли HTTP-сервера.
Чтобы настроить функцию коннектора, необходимо сконфигурировать ее в Tulip, а также в редакторе Node-RED. В этом примере мы создадим простую функцию, которая принимает на вход firstName и lastName и возвращает ответ "Hello firstName lastName!", а также временную метку.
Создание функции коннектора в Tulip
Перейдите на хост коннектора для вашего Edge MC и выберите Create Function в правом верхнем углу.
В качестве типа запроса выберите GET и введите конечную точку: /helloWorld. Хотя это может показаться произвольным, на следующем этапе мы настроим эту конечную точку в редакторе Node-RED:
{height="" width=""}
Настройте входы функции так, чтобы они включали имя и фамилию:
{height="" width=""}
В поле Request Body выберите Content Type: JSON, и задайте следующие ключи для входов. На них мы будем ссылаться позже в редакторе Node-RED:
{height="" width=""}
Теперь добавьте следующие выходы в коннектор Функция, Сообщение и Время. Добавьте к выходам связанные с ними Body, чтобы на них можно было ссылаться в редакторе Node-RED:
{height="" width=""}
Далее убедитесь, что тип ответа установлен как JSON.
Теперь вы завершили настройку функции коннектора на стороне Tulip. Нажмите кнопку Save, чтобы сохранить функцию коннектора.
Построение потока в Node-RED
Теперь пришло время открыть редактор Node-RED с портала Edge MC и настроить новый поток.
Сначала перетащите в редактор узел http in из раздела "Сеть". Установите для узла следующую конфигурацию:
{height="" width=""}
Важно, чтобы метод запроса и URL-адрес запроса соответствовали функции коннектора, настроенной в Tulip.
Затем перетащите узел change со следующей конфигурацией:
{height="" width=""}
Задайте для msg.payload значение JSON и оставьте его в виде пустого объекта: {}
Теперь вставьте узел шаблона. Здесь можно взять свойства входящего сообщения (входы функций коннектора) и построить из них строку (например, "Hello World").
``Здравствуйте,
{{req.body.firstName}}
{{req.body.lastName}}!
Теперь пришло время добавить еще один **узел изменений**, который будет перехватывать временную метку и отправлять ее обратно как часть ответа. Настройте узел следующим образом:
![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Communicate%20with%20Machines%20using%20Edge%20MC%27s%20Connector%20Host%20%26%20Node-RED_313570022.png){height="" width=""}
На данном этапе наш поток принял входные данные, отправленные из Tulip, и теперь пришло время настроить ответ. Для этого перетащите **узел** **http response**. Настройте ответ так, чтобы он имел **код состояния** **200**, **OK**:
![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Communicate%20with%20Machines%20using%20Edge%20MC%27s%20Connector%20Host%20%26%20Node-RED_313570331.png){height="" width=""}
Теперь общий поток завершен и должен выглядеть примерно так, как показано ниже:
![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Communicate%20with%20Machines%20using%20Edge%20MC%27s%20Connector%20Host%20%26%20Node-RED_313570517.png){height="" width=""}
Обратите внимание, что зеленые узлы в приведенном выше потоке - это **отладочные** узлы, используемые для отображения полезной нагрузки в редакторе Node-RED.
Последним шагом будет **развертывание** потока из редактора Node-RED. Теперь вы сможете протестировать свою функцию коннектора в тестовой среде Tulip,
#### Запуск функции коннектора через приложение
Теперь, когда вы настроили хост коннектора и функцию коннектора, которая эффективно взаимодействует с устройством, используя Node-RED в качестве http-сервера, вы готовы интегрировать эту функциональность в свои приложения.
В этом примере есть два поля ввода для принятия переменных **firstName** и **lastName**, которые будут отправлены в нашем запросе:
![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Communicate%20with%20Machines%20using%20Edge%20MC%27s%20Connector%20Host%20%26%20Node-RED_313571948.png){height="" width=""}
В кнопке "Say Hello!" введите следующий триггер для вызова функции коннектора:
![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Communicate%20with%20Machines%20using%20Edge%20MC%27s%20Connector%20Host%20%26%20Node-RED_313570870.png){height="" width=""}
После ввода данных и нажатия кнопки "Say Hello!" вы фактически отправили http-запрос на устройство Tulip и получили ответ в формате JSON.
Чтобы протестировать приложение, нажмите на кнопку **Test** в редакторе приложений и перейдите в режим разработки!