- Описание функциональных характеристик системы
- Поддержание жизненного цикла
- Установка PromUC
- Настройка сервисов
- Обновление PromUC
- Резервное копирование и восстановление базы данных Promuc FrameWork
- Рекомендации по безопасности
- Руководство по эксплуатации и администрированию
- Module GIS
- Конфигурирование правил и сценариев
- Module Framework
- Module Interface
- Технологии проекта
- Эксплуатация КТС
- Единый сервис аутентификации
- Информация о релизах
Обмен данными¶
Rule Engine передает данные между блоками через сообщения JSON:
Полная структура сообщения внутри системы:¶
id - номер узла, выводящего сообщение
in:
DATA{} - объект для хранения полученных данных
METADATA:
chain - имя цепочки выполнения
date - дата
from - название узла последнего редактирования сообщения
id - уникальный номер узла, редактировавшего сообщение
time - Unix time в момент вызова
name - имя цепочки
type - тип узла выводящего сообщения
Пример структуры сообщения:
Json
{
"id":1,
"in":
{"DATA":{some_values},
"METADATA":
{"chain":"my_chain",
"date":"01.01.2029",
"from":"BACnet RP",
"id":0,
"time":1724832914414}
},
"name":"my_chain",
"type":"debug"
}
Пример получения данных и их отладочного просмотра¶
В данном простом примере будет рассмотрен процесс передачи данных в Rule Engine при помощи REST API POST запроса и просмотр полученных данных в узле отладки.
Откройте страницу Rule Engine.
Нажмите Создать цепочку:
Перетащите узел HTTP Input в рабочую область. Откройте его настройки. Поле Address будет содержать путь до сервера Rule Engine:
Перетащите узел Debug в рабочую область:
Соедините узел HTTP Input с узлом Debug перетаскиванием мыши с выхода узла HTTP Input на вход узла Debug:
Нажмите иконку Сохранить цепочку в правом верхнем углу:
Для проверки работы цепочки можно отправить данные командой curl:
curl -k -H “Content-Type: application/json” -X POST -d ‘{“data”:{“temp”:23,“door”:“open”}, “chain”:“123”}’ http://127.0.0.1:5555/api/pushdata
или при помощи утилиты Postman:
Проверить получение данных можно кликнув мышкой на кнопке узла Debug: