Модуль 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. Подпишите, кто публикует, кто подписывается и какие данные передаются.
Придумайте две темы для температуры кухни и прихожей; запишите единицы измерения в таблице документации.
Самопроверка: сформулируйте результат своими словами, а затем пройдите вопросы ниже. Если устройство или программа не доступны, выполните задание на бумаге или в учебном тренажёре.
Проверьте себя
Контрольные вопросы
Ответьте на все вопросы. При ошибке изучите пояснение и попробуйте ещё раз. Все задания бесплатны.
Брокер принимает публикации и направляет их подходящим подписчикам.
Payload — данные, topic — имя темы сообщения.
Правильных ответов: 0 из 2
Урок завершён?
Повторите ключевые идеи и убедитесь, что выполнили практическое задание.
Чтобы закончить урок, правильно ответьте на контрольный вопрос.