generated from google/docsy-example
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Работа с разделом Подключение оборудования
- Loading branch information
Showing
1 changed file
with
54 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,57 @@ | ||
--- | ||
title: Подключение оборудования | ||
weight: 1 | ||
--- | ||
--- | ||
|
||
В данном разделе документации мы расскажем об общей концепции работы с оборудованием в системе MajorDoMo. | ||
|
||
Модель работы представлена на данной диаграмме: | ||
|
||
```plantuml | ||
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, который "знает" | ||
протокол взаимодействия с оборудованием и умеет осуществлять двунаправленный обмен данными и управляющими командами между | ||
физическими устройствами и связанными с ними сущностями виртуальных объектов системы. Подобные модули обычно не являются | ||
частью ядра системы и устанавливаются дополнительно через [маркет дополнений]({{<ref "/docs/Integration/integration-market">}}). | ||
|
||
**Виртуальный объект** -- внутренняя сущность хранение данных и методов, являющаяся связующим звеном между реальным | ||
оборудованием и другими частями системы. Подробнее данная сущность рассматривается в разделе [Объектная модель]({{<ref "/docs/Configuration/config-objects">}}). | ||
Дополнительно, для упрощения настройки и создания типовых объектов, в системе предусмотрена концепция | ||
[Простые устройства]({{<ref "/docs/Configuration/config-simple-devices">}}). | ||
|
||
**Внутренняя логика** -- различные процедуры активации действий и реакции на события (таймеры, сценарии и т.п.) | ||
|
||
**Интерфейс пользователя** -- один из предоставляемых системой способов взаимодействия (веб-интерфейс, мобильное приложение, | ||
голосовой помощник и т.п.) | ||
|
||
{{% alert%}} | ||
Таким образом, для успешной интеграции оборудования необходимо следующее: | ||
- Модуль, поддерживающий работу с оборудованием | ||
- Связанное (через модуль) виртуальное представление оборудования в системе | ||
- (опционально) Настроенный интерфейс пользователя для взаимодействия с виртуальным объектом | ||
- (опционально) Настроенная логика реакции на изменение параметров или управления виртуальным объектом | ||
{{% /alert %}} |