MENU
    Обмен данными с машинами с помощью коннектора Edge MC's Connector Host & Node-RED
    • 04 Nov 2023
    • 3 Минуты для чтения
    • Авторы

    Обмен данными с машинами с помощью коннектора 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** в редакторе приложений и перейдите в режим разработки!
    Plain text

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