Перейти к содержанию

Навигация

MQTT: различия между версиями

(Исправил заголовок)
Строка 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 из примера выше:
=== Структура сообщения о состоянии устройства ===
Вот сообщение от драйвера температурного датчика 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'''.


Пример ошибки получения данных:
Пример ошибки получения данных:
translator, wb_editors
4180

правок