Перейти к содержанию

Работа с Node-RED🔗

В системе AWADA большинство стандартных инженерных объектов имеют определенную бизнес-логику, по которой они работают. Это означает, что при создании проекта вам не нужно отдельно думать о том, как запрограммировать светильники DALI: это уже сделано на уровне программы.

Если в систему нужно добавить нестандартный инженерный объект, то для него потребуется прописать собственную логику. С помощью Node-RED вы можете задать логику работы инженерного объекта и привязать его к SPREAD API, чтобы объектом можно было управлять через систему AWADA.

Открыть Node-RED🔗

Node-RED установлена на контроллер RAPIDA и доступна через веб-интерфейс. Чтобы открыть программу:

  1. Перейдите в веб-браузере по ссылке x.x.x.x/red, где x.x.x.x — IP-адрес контроллера.
  2. Чтобы редактировать бизнес-логики, войдите в систему: в правом верхнем углу нажмите login → Войти.

Устройство программы🔗

В Node-RED используется потоковое программирование — это способ описания поведения программы в виде узлов. Каждый узел имеет определенную цель — к нему поступают некоторые данные, он что-то делает с этими данными, а затем передает их на следующий узел или узлы. Сеть отвечает за поток данных между узлами.

По умолчанию в Node-RED есть базовая палитра узлов, которая находится в левой части экрана. Чтобы добавить специфические узлы, например, узлы протокола KNX:

  1. В правом верхнем углу нажмите → Управление палитрой.
  2. Откройте вкладку Установить.
  3. Введите в поиске ключевое слово (например, KNX). Добавьте искомые узлы кнопкой Установить.

Подробней изучить возможности и работу с Node-RED можно на справочном портале Node-RED.

Пример создания бизнес-логики🔗

  1. Откройте Node-RED вашего контроллера.
  2. Импортируйте готовый пример. В правом верхнем углу нажмите → Импорт. Загрузите файл или скопируйте его содержимое в поле ввода. В веб-интерфейсе должна отобразиться следующая программа: program
  3. Рассмотрим добавленные узлы:

    • Control.SetPoint — узел типа mqtt in, предназначен для указания топика в SPREAD API, через который будут отправляться команды.

    Важно

    При создании первой программы укажите данные для подключения к брокеру MQTT, чтобы инженерный объект был доступен в API. Для этого:

    1. Дважды нажмите на узел, связанный с подключением к MQTT.
    2. Нажмите напротив поля Сервер.
    3. На вкладке Соединение:
      • укажите адрес сервера (localhost или IP-адрес контроллера) и порт 1883;
      • отметьте флагом пункт Connect automatically;
      • укажите версию протокола MQTT V3.1.1.
    4. На вкладке Безопасность укажите логин и пароль для подключения к брокеру.
    5. Нажмите Обновить, чтобы сохранить настройку.

    Эти параметры нужно ввести один раз: при создании последующих MQTT-узлов они будут переиспользованы.

    • f — узел типа function, позволяет выполнять JavaScript для обработки проходящих данных, в данном примере преобразовывает входящие данные в понятный для KNX-устройства формат.
    • 2/2/9 — узел типа knxUltimate отправляет команду на выполнение устройству.
    • сетпоинт — узел типа inject, вбрасывает сообщение в поток вручную или через равные промежутки времени. Нужен, чтобы опрашивать устройство и показывать актуальное состояние.
    • 2/2/10 — узел типа knxUltimate, получает входящие данные от KNX-устройства.
    • f — узел типа function, позволяет выполнять JavaScript для обработки проходящих данных, в данном примере преобразовывает входящие данные в формате KNX в понятный формат для AWADA.
    • State.SetPointmqtt-out узел с настраиваемым MQTT-подключением, предназначен для публикации данных в топик в SPREAD API.
  4. Чтобы задать параметры узла, нажмите на него два раза, и после изменений нажмите Готово.

  5. Чтобы сохранить программу, в правом верхнем углу нажмите Развернуть.