MQTT

Материал из Wiren Board
Версия от 22:13, 13 апреля 2015; Admin (обсуждение | вклад) (Новая страница: «'''MQTT''' - очередь сообщений, использующаяся в Wiren Board. Большая часть встроенных функций кон…»)

MQTT - очередь сообщений, использующаяся в Wiren Board. Большая часть встроенных функций контроллера (АЦП, реле, транзисторный выход, watchdog) и внешних совместимых устройств транслируются туда в виде сообщений и реагируют на управляющие сообщения оттуда.

Базовая информация по MQTT - http://en.wikipedia.org/wiki/MQTT. Демон - брокер сообщений Mosquitto.

Веб-интерфейс работает также через систему сообщений MQTT - нажатие кнопки в интерфейсе вызывает отправку сообщения сообщения в MQTT-брокер, изменение показания датчика, поступившее в систему сообщений, тут же транслируется в веб-интерфейс.

Краткая схема работы

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

Список поддержанных функций и устройств

Смотрите https://github.com/contactless/wb-homa-drivers

Использование данных внешними программами

Для многих языков программирования есть библиотеки MQTT.

Существует консольная утилита mosquitto_sub, используя которую можно подписаться на интересующие сообщения. Сообщения будут выводиться в stdout. Описание утилиты: http://mosquitto.org/man/mosquitto_sub-1.html, описание системы подписки: http://mosquitto.org/man/mqtt-7.html.