translator, wb_editors
4539
правок
Brainroot (обсуждение | вклад) (Исправил заголовок) |
Matveevrj (обсуждение | вклад) |
||
Строка 25: | Строка 25: | ||
#Драйвер wb-mqtt-serial получает это уведомление по RS-485 и публикует по MQTT сообщение:<pre>/devices/wb-mrm2_130/controls/Relay 1 1</pre>Оно значит, что первое реле на устройстве WB-MRM2 с адресом ''130'' находится (уже переведено) в состоянии логической единицы — «включено». | #Драйвер wb-mqtt-serial получает это уведомление по RS-485 и публикует по MQTT сообщение:<pre>/devices/wb-mrm2_130/controls/Relay 1 1</pre>Оно значит, что первое реле на устройстве WB-MRM2 с адресом ''130'' находится (уже переведено) в состоянии логической единицы — «включено». | ||
== Принцип работы MQTT == [[File:DebianLinux.png | thumb | 600px | Через MQTT работают драйверы внутренних функций, внешних устройств, веб-интерфейс, система правил]] | == Принцип работы MQTT == | ||
[[File:DebianLinux.png | thumb | 600px | Через MQTT работают драйверы внутренних функций, внешних устройств, веб-интерфейс, система правил]] | |||
Система сообщений MQTT построена по следующему принципу: | Система сообщений MQTT построена по следующему принципу: | ||
*есть иерархическая система «топиков» (как на обычных форумах в интернете). | *есть иерархическая система «топиков» (как на обычных форумах в интернете). | ||
Строка 38: | Строка 39: | ||
Полный список MQTT-топиков можно увидеть на странице ''Settings'' веб-интерфейса в разделе ''MQTT Channels'' (появилось в последних версиях [[Обновление прошивки|прошивки]]). | Полный список MQTT-топиков можно увидеть на странице ''Settings'' веб-интерфейса в разделе ''MQTT Channels'' (появилось в последних версиях [[Обновление прошивки|прошивки]]). | ||
=== Клиенты MQTT === | === Клиенты MQTT === | ||
*драйверы внутренних аппаратных функций, | |||
*драйверы внешних подключённых устройств, | *драйверы внешних подключённых устройств, | ||
*веб-интерфейс, | *веб-интерфейс, | ||
Строка 44: | Строка 46: | ||
*(если есть) собственные программы пользователя. | *(если есть) собственные программы пользователя. | ||
=== Структура сообщения о состоянии устройства === | === Структура сообщения о состоянии устройства === | ||
Вот сообщение от драйвера температурного датчика 1-Wire из примера выше: | |||
<pre> | <pre> | ||
/devices/wb-w1/controls/28-0115a48fcfff 23.25 | /devices/wb-w1/controls/28-0115a48fcfff 23.25 | ||
Строка 60: | Строка 63: | ||
Если вы хотите самостоятельно написать драйвер устройства, и хотите, что оно отображалось на вкладке '''Devices''' и его можно было использовать в правилах, вам необходимо придерживаться такой же структуры топиков. | Если вы хотите самостоятельно написать драйвер устройства, и хотите, что оно отображалось на вкладке '''Devices''' и его можно было использовать в правилах, вам необходимо придерживаться такой же структуры топиков. | ||
=== Структура сообщения об ошибке опроса устройства === Каждый «канал» («контрол») имеет «подтопик» <code>/meta/error</code>, в котором содержится информация о наличии ошибок взаимодействия с устройством. Ошибки получения данных (чтения) обозначаются символом '''r''', ошибки записи — '''w'''. | === Структура сообщения об ошибке опроса устройства === | ||
Каждый «канал» («контрол») имеет «подтопик» <code>/meta/error</code>, в котором содержится информация о наличии ошибок взаимодействия с устройством. Ошибки получения данных (чтения) обозначаются символом '''r''', ошибки записи — '''w'''. | |||
Пример ошибки получения данных: | Пример ошибки получения данных: |