MQTT модуль

Материал из MajorDoMo инфо

MQTT - (англ. message queuing telemetry transport) — упрощённый сетевой протокол, работающий поверх TCP/IP, ориентированный для обмена сообщениями между устройствами по принципу издатель-подписчик.

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

Для работы клиентов MQTT необходим сервер или еще его называют брокером (в предустановленном наборе и рекомендованный к использованию Mosquitto), данный сервер отвечает за пересылку сообщений от клиента к клиенту. Клиент MQTT может находится где угодно и для работы ему необходим только канал связи с сервером MQTT. Таким образом вы можете через интернет управлять устройствами поддерживающими MQTT протокол где угодно. Они в свою очередь сообщат вам о своем состоянии тем же образом. MajorDoMo может автоматизировать ваш гараж находясь у вас дома, для этого необходим только интернет канал и устройства с поддержкой MQTT.

Настройки mqtt
настройка топика mqtt


Несколько видео по настройке


Примеры кода

Отправка сообщения через модуль в топик

include_once(DIR_MODULES . 'mqtt/mqtt.class.php');
$mqtt = new mqtt();
$rezult = $mqtt->mqttPublish($topic, $value,  0, 0);