Модуль 1. Основы обмена · Урок 1 из 7

Урок 1. MQTT с нуля: клиент, брокер, публикация и подписка

Разберём MQTT без сервера и программирования, на примере домашнего датчика.

Как выполняется автоматизация
Датчик: событие
Контроллер: условия
Исполнитель: действие

Информационный поток показан условно. Питание устройств и силовое подключение оформляются отдельно.

Чему вы научитесь

Отличать MQTT от Wi-Fi и Zigbee и рисовать путь сообщения от датчика до автоматизации.

Зачем нужен MQTT

Представьте датчик температуры на кухне. Ему нужно сообщить показание нескольким программам, но совершенно не обязательно знать адрес каждой программы. В MQTT источник публикует сообщение в определённую тему, брокер принимает его и направляет клиентам, подписанным на подходящие темы.

Брокер — программный посредник, а не физический датчик. Клиентом может быть устройство, Zigbee2MQTT или Home Assistant через интеграцию. MQTT относится к прикладному обмену; передаваться он может поверх IP-сети. Он не создаёт Wi-Fi и не превращается в радиопротокол Zigbee.

Что такое topic и payload

Topic (тема) — строка адресации сообщения, например home/kitchen/temperature. Payload — содержимое сообщения, например 22.4. Название темы выбирает владелец системы или интеграция. В нём можно последовательно обозначить дом, комнату и измеряемый параметр.

Брокер не обязан знать, что число 22.4 означает температуру или градусы Цельсия. Это соглашение производителей и прикладной логики. Поэтому правильные единицы, формат чисел и документы схемы сообщений важны не меньше правильного имени темы.

Один вопрос к каждой неполадке

Если датчик виден Zigbee2MQTT, но Home Assistant не видит обновления, можно разделить диагностику на источник сообщения, MQTT-брокер, подписку и обработку данных. Не следует начинать со сброса датчика только потому, что показание не обновилось на панели.

На этом курсе мы используем строго локальный тренажёр. Он не подключается к реальному MQTT-брокеру и не получает доступ к вашим устройствам.

Практическая работа

Нарисуйте четыре прямоугольника: датчик, мост Zigbee2MQTT, MQTT-брокер, Home Assistant. Подпишите, кто публикует, кто подписывается и какие данные передаются.

Придумайте две темы для температуры кухни и прихожей; запишите единицы измерения в таблице документации.

Самопроверка: сформулируйте результат своими словами, а затем пройдите вопросы ниже. Если устройство или программа не доступны, выполните задание на бумаге или в учебном тренажёре.

Проверьте себя

Контрольные вопросы

Ответьте на все вопросы. При ошибке изучите пояснение и попробуйте ещё раз. Все задания бесплатны.

1. Кто маршрутизирует публикации MQTT к подписчикам?
2. Что в MQTT называется payload?

Правильных ответов: 0 из 2

Урок завершён?

Повторите ключевые идеи и убедитесь, что выполнили практическое задание.