Подключение оборудования

В данном разделе документации мы расскажем об общей концепции работы с оборудованием в системе MajorDoMo.

Модель работы представлена на данной диаграмме:

scale 4/5
!theme plain
participant "Физическое\nустройство" as device
box "MajorDoMo" #LightBlue
participant "Модуль работы\nс определённым\nоборудованием" as module
participant "Виртуальный\nобъект" as object #LightGreen
participant "Внутренняя логика" as logic
participant "Интерфейс\nпользователя" as ui
end box
actor "Пользователь" as user

device<->module: Взаимодействие с устройством \n(протокол взаимодействия)
module<->object: Изменение свойства
module->object: Активация метода
object<->logic: Изменение свойства
object<->logic: Активация метода
object<->ui: Изменение свойства
object<->ui: Обновление интерфейса
object<->ui: Активация метода
ui<->user: Взаимодействие\nс пользователем

Физическое устройство – конкретное оборудование, выполняющее заложенную в него функцию (управляемый выключатель, датчик, умная лампочка и т.п.)

Модуль взаимодействия с оборудованием – программный код, являющийся частью платформы MajorDoMo, который “знает” протокол взаимодействия с оборудованием и умеет осуществлять двунаправленный обмен данными и управляющими командами между физическими устройствами и связанными с ними сущностями виртуальных объектов системы. Подобные модули обычно не являются частью ядра системы и устанавливаются дополнительно через маркет дополнений.

Виртуальный объект – внутренняя сущность хранение данных и методов, являющаяся связующим звеном между реальным оборудованием и другими частями системы. Подробнее данная сущность рассматривается в разделе Объектная модель. Дополнительно, для упрощения настройки и создания типовых объектов, в системе предусмотрена концепция Простые устройства.

Внутренняя логика – различные процедуры активации действий и реакции на события (таймеры, сценарии и т.п.)

Интерфейс пользователя – один из предоставляемых системой способов взаимодействия (веб-интерфейс, мобильное приложение, голосовой помощник и т.п.)