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

Нет описания правки
Строка 13: Строка 13:


== Примеры работы через очередь MQTT == <!--T:3-->
== Примеры работы через очередь MQTT == <!--T:3-->
=== Получение значения от датчика температуры и вывод его в веб-интерфейс===
===Получение значения от датчика температуры и вывод его в веб-интерфейс===
[[File:Web-devices-1-wire.png|400px|thumb|Показания датчика и его уникальный идентификатор на странице ''Devices'' веб-интерфейса]]
[[File:Web-devices-1-wire.png|400px|thumb|Показания датчика и его уникальный идентификатор на странице ''Devices'' веб-интерфейса]]
Предположим, что к [[Wiren Board]] подключён датчик температуры по шине [[1-Wire]]. Проследим, как данные с него через очередь сообщений попадают в веб-интерфейс:
Предположим, что к [[Wiren Board]] подключён датчик температуры по шине [[1-Wire]]. Проследим, как данные с него через очередь сообщений попадают в веб-интерфейс:
Строка 19: Строка 19:
#При получении значения драйвер размещает в очереди сообщение следующего вида: <pre>/devices/wb-w1/controls/28-0115a48fcfff 23.25</pre>Оно значит, что на устройстве 1-Wire с идентификатором ''28-0115a48fcfff'' получено значение 23.25°C.
#При получении значения драйвер размещает в очереди сообщение следующего вида: <pre>/devices/wb-w1/controls/28-0115a48fcfff 23.25</pre>Оно значит, что на устройстве 1-Wire с идентификатором ''28-0115a48fcfff'' получено значение 23.25°C.
#Веб-интерфейс, который получает все сообщения из очереди (он ''подписан'' на все сообщения), получает это сообщение и выводит значение датчика на страницу.
#Веб-интерфейс, который получает все сообщения из очереди (он ''подписан'' на все сообщения), получает это сообщение и выводит значение датчика на страницу.
 
===Нажатие кнопки в веб-интерфейсе и переключение реле на внешнем модуле===
Предположим, что к [[Wiren Board]] подключён датчик температуры по шине [[1-Wire]]. Проследим, как данные с него через очередь сообщений попадают в веб-интерфейс:
#Драйвер, отвечающий за данную аппаратную функцию (например, [https://github.com/contactless/wb-homa-drivers/tree/master/wb-homa-w1 wb-homa-w1]) опрашивает подключённые к контролеру датчики 1-Wire.
#При получении значения драйвер размещает в очереди сообщение следующего вида: <pre>/devices/wb-w1/controls/28-0115a48fcfff 23.25</pre>Оно значит, что на устройстве 1-Wire с идентификатором ''28-0115a48fcfff'' получено значение 23.25°C.
#Веб-интерфейс, который получает все сообщения из очереди (он ''подписан'' на все сообщения), получает это сообщение и выводит значение датчика на страницу.