Отправка данных из Node-RED в Tulip с помощью узлов Tulip
  • 20 Feb 2024
  • 3 Минуты для чтения
  • Авторы

Отправка данных из Node-RED в Tulip с помощью узлов Tulip


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

Обзор

Существует три основных способа отправки данных из Node-RED (например, данных устройства или внешней системы) в Tulip:

  1. через Tulip Machine API
  2. через API Tulip Tables
  3. через ответ коннектора *Примечание: сначала требуется коннектор, исходящий от Tulip.

Чтобы упростить обмен данными по методам 1 и 2, Tulip создал три узла первой стороны:

  1. tulip-tag: Отправка данных в API атрибутов машины с расширенной функциональностью - только для устройств Tulip Edge2. machine-attribute: Отправка данных в Machine Attributes API с любого устройства 3. tables: Отправка и получение данных в/из API таблиц с любого устройства.

Все три узла, перечисленные выше, предустановлены на устройствах Tulip Edge. Кроме того, узлы 2 и 3 опубликованы в библиотеке Node-RED для загрузки на любое устройство. Их можно найти here{target=_blank}.


Отправка данных на атрибут машины Tulip

Примечание: В этом разделе предполагается, что атрибут Tulip Machine Attribute уже создан. Для получения дополнительной информации обратитесь к этому руководству.

С пограничного устройства Tulip: узел tulip-tag

Узел tulip-tag совместим с устройствами Tulip Edge с версией программного обеспечения 51 или выше.

  1. Чтобы использовать узел tulip-tag, сначала перетащите его на панель редактора из палитры. Дважды щелкните узел, чтобы открыть панель конфигурации.
  2. Нажмите на карандаш, чтобы добавить новый список тегов:
    :::(Warning) (Внимание! Списки тегов) Для каждого пограничного устройства поддерживается только один активный список тегов. Be sure to disable any Flows running other Tag Lists before beginning.
    :::
    <put in the photo from the existing article here>
  3. Нажмите +add, чтобы добавить новый тег. Каждый тег состоит из трех частей: идентификатора, метки и типа.
  4. ID тега: уникальный кодовый идентификатор тега. После создания он не должен меняться. Допустимыми символами являются буквы, цифры (не могут начинаться с цифры) и символы подчеркивания. Примеры: part_count, myState1.
  5. Метка тега: человекочитаемая метка для тега. Чтобы переименовать метку, просто обновите метку, а не идентификатор. Пример: "Part Count".
  6. Тип: Тип данных - строка, целое число, плавающая запятая или булево. Должен совпадать с типом сопоставленного атрибута машины.

Пример конфигурации списка тегов приведен ниже:

image.png

  1. Когда все теги добавлены, нажмите кнопку Add, чтобы сохранить все изменения.
    Обратите внимание, что все теги будут отображаться как Unmapped - это вполне ожидаемо, поскольку у тегов еще нет связанного с Tulip Machine Attribute.
  2. После создания списка тегов существует два способа связать содержимое потока с элементами списка. Оба зависят от флажка Tag Config в узле tulip-tag:
  3. Если флажок Tag Config установлен (true), для каждого атрибута машины потребуется один узел тега. Подключите узел к узлу tulip-tag и выберите соответствующий атрибут машины с помощью раскрывающегося меню Select Tag узла тегов. Обратите внимание, что узел тегов будет принимать в качестве входных данных все, что находится в msg.payload.

Например, в приведенном ниже потоке используются два узла инжекции для ввода hello или world. Каждый из них имеет свой узел tulip-tag с соответствующим отображением поля Select Tag:
image.png{height="" width=""}
4. Если флажок Tag Config снят (false), для всех атрибутов машины требуется один узел тега. Узел принимает полный объект всех значений тега и автоматически сопоставляет их с соответствующим атрибутом машины. Обратите внимание, что входной объект должен точно соответствовать списку тегов, иначе узел выдаст ошибку.
Например, в приведенном ниже потоке используется один инжекторный узел. Узел передает показанный объект узлу тегов, который затем сопоставляет helloworld1 со списком тегов itemhello, а helloworld2 - со списком тегов item world:
image.png{height="" width=""}

Теперь данные успешно отправляются в Tulip. Метки могут быть найдены как источники данных машины - чтобы связать их с атрибутом машины, найдите каждую из них под пограничным устройством как источник данных машины.
На изображении ниже показаны три метки, присутствующие на пограничном устройстве:How to Send Data to Machines from Edge Devices using Node-RED and Tulip Tags_566767591.png


С любого устройства с Node-RED: machine-attr Node

  1. Чтобы использовать узел machine-attr, сначала перейдите к атрибуту Machine в Tulip.
  2. Нажмите, чтобы открыть возможные источники данных, и выберите "Tulip API". Скопируйте показанную информацию:image.png
  3. В Node-RED добавьте узел Tulip machine-attr. Если он не был настроен ранее, настройте новую аутентификацию Tulip (необходима ссылка - скопируйте отсюда: https://support.tulip.co/docs/using-node-red-with-the-tulip-api).
  4. Вставьте данные Machine Attribute из Tulip в поле Device Info.

Теперь узел Machine Attribute Node настроен. Любые данные (того же типа, что и атрибут машины), присутствующие в msg.payload после ввода в узел, будут отображаться в атрибуте машины в Tulip.


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