Разработчикам / Обеспечение взаимодействия BOOCO с другими ИТ-системами
Сервер BOOCO позволяет управлять мультимедийным, AV и инженерным оборудованием. В версии 1.x сервера BOOCO для интеграции с другими системами использовался REST API. В версии 2.x используется протокол MQTT. Теперь для интеграции с панельными и серверными проектами iRidi не требуется загружать дополнительные скриптовые драйверы, а достаточно просто настроить связь про протоколу MQTT.
Количество клиентов, которые могут подключаться к серверу BOOCO по протоколу MQTT, ограничено только характеристиками виртуального или физического сервера, на котором установлен BOOCO.
Протокол MQTT обеспечивает обмен сообщениями по шаблону издатель — подписчик. Сервер BOOCO публикует топики, содержащие обратные связи подключенного к BOOCO оборудования, и подписывается на каналы — команды, которые можно отправлять на оборудование. Клиент подключается к серверу BOOCO под MQTT и подписывается на интересующие его топики. При подписке сервер-брокер сразу отправляет клиенту текущее значение обратной связи. Также клиент будет оповещен при изменении топиков. Для отправки команды клиент должен опубликовать топик с нужным значением.
iRidi берет на себя все внутренние механизмы, и интеграция iRidi с сервером BOOCO становится очень простой, не требует дополнительных внешних скриптов-драйверов и может быть выполнена с минимальным объемом программирования.
Структура топиков обратных связей: devices/<device 1>/feedbacks/<feedback 1>
<device 1>
— имя устройства на сервере BOOCO в разделе Оборудование<feedback 1>
— имя обратной связиСтруктура топиков команд: devices/<device 1>/channels/<channel 1>/<value>
или devices/<device 1>/channels/<channel 1>
<device 1>
— имя устройства на сервере BOOCO в разделе Оборудование<channel 1>
— имя командыvalue
— значение, которое отправляется на устройство командойДля устройства BOOCO-SENSOR с именем sensor1 можно использовать следующие топики для обратных связей:
devices/sensor1/feedbacks/input0
devices/sensor1/feedbacks/input1
devices/sensor1/feedbacks/input2
devices/sensor1/feedbacks/input3
devices/sensor1/feedbacks/input4
devices/sensor1/feedbacks/status