Работа с Node-RED🔗
В системе AWADA большинство стандартных инженерных объектов имеют определенную бизнес-логику, по которой они работают. Это означает, что при создании проекта вам не нужно отдельно думать о том, как запрограммировать светильники DALI: это уже сделано на уровне программы.
Если в систему нужно добавить нестандартный инженерный объект, то для него потребуется прописать собственную логику. С помощью Node-RED вы можете задать логику работы инженерного объекта и привязать его к SPREAD API, чтобы объектом можно было управлять через систему AWADA.
Открыть Node-RED🔗
Node-RED установлена на контроллер RAPIDA и доступна через веб-интерфейс. Чтобы открыть программу:
- Перейдите в веб-браузере по ссылке x.x.x.x/red, где
x.x.x.x
— IP-адрес контроллера. - Чтобы редактировать бизнес-логики, войдите в систему: в правом верхнем углу нажмите → Войти.
Устройство программы🔗
В Node-RED используется потоковое программирование — это способ описания поведения программы в виде узлов. Каждый узел имеет определенную цель — к нему поступают некоторые данные, он что-то делает с этими данными, а затем передает их на следующий узел или узлы. Сеть отвечает за поток данных между узлами.
По умолчанию в Node-RED есть базовая палитра узлов, которая находится в левой части экрана. Чтобы добавить специфические узлы, например, узлы протокола KNX:
- В правом верхнем углу нажмите → Управление палитрой.
- Откройте вкладку Установить.
- Введите в поиске ключевое слово (например, KNX). Добавьте искомые узлы кнопкой Установить.
Подробней изучить возможности и работу с Node-RED можно на справочном портале Node-RED.
Пример создания бизнес-логики🔗
- Откройте Node-RED вашего контроллера.
- Импортируйте готовый пример. В правом верхнем углу нажмите → Импорт. Загрузите файл или скопируйте его содержимое в поле ввода. В веб-интерфейсе должна отобразиться следующая программа:
-
Рассмотрим добавленные узлы:
Control.SetPoint
— узел типаmqtt in
, предназначен для указания топика в SPREAD API, через который будут отправляться команды.
Важно
При создании первой программы укажите данные для подключения к брокеру MQTT, чтобы инженерный объект был доступен в API. Для этого:
- Дважды нажмите на узел, связанный с подключением к MQTT.
- Нажмите напротив поля Сервер.
- На вкладке Соединение:
- укажите адрес сервера (
localhost
или IP-адрес контроллера) и порт1883
; - отметьте флагом пункт Connect automatically;
- укажите версию протокола MQTT V3.1.1.
- укажите адрес сервера (
- На вкладке Безопасность укажите логин и пароль для подключения к брокеру.
- Нажмите Обновить, чтобы сохранить настройку.
Эти параметры нужно ввести один раз: при создании последующих MQTT-узлов они будут переиспользованы.
f
— узел типаfunction
, позволяет выполнять JavaScript для обработки проходящих данных, в данном примере преобразовывает входящие данные в понятный для KNX-устройства формат.2/2/9
— узел типаknxUltimate
отправляет команду на выполнение устройству.сетпоинт
— узел типаinject
, вбрасывает сообщение в поток вручную или через равные промежутки времени. Нужен, чтобы опрашивать устройство и показывать актуальное состояние.2/2/10
— узел типаknxUltimate
, получает входящие данные от KNX-устройства.f
— узел типаfunction
, позволяет выполнять JavaScript для обработки проходящих данных, в данном примере преобразовывает входящие данные в формате KNX в понятный формат для AWADA.State.SetPoint
—mqtt-out
узел с настраиваемым MQTT-подключением, предназначен для публикации данных в топик в SPREAD API.
-
Чтобы задать параметры узла, нажмите на него два раза, и после изменений нажмите Готово.
- Чтобы сохранить программу, в правом верхнем углу нажмите Развернуть.