MQTT: лёгкие сообщения для интернета вещей
Коротко: MQTT — компактный протокол публикации/подписки (publish/subscribe), с помощью которого датчики и устройства обмениваются небольшими сообщениями через брокер, даже при слабом соединении.
Подробнее: Датчик температуры с маленьким микроконтроллером должен отправлять измеренные значения, а смартфон — показывать их. HTTP был бы слишком тяжёл для таких малых устройств и плохих соединений. У MQTT (Message Queuing Telemetry Transport) минимальный заголовок всего два байта, и он работает поверх TCP. Это стандарт в умном доме (Home Assistant, Zigbee2MQTT) и промышленности (IIoT).
Подробности
Принцип: брокер и темы (topics)
Все участники подключаются к брокеру (например, Mosquitto, EMQX). Сообщения публикуются в темах (topics) с иерархическими именами:
home/livingroom/temperature -> 21.5
home/kitchen/light/set -> ON
Подписчики подписываются на тему (или на много тем с помощью подстановочных знаков +/#) и автоматически получают соответствующие сообщения.
См. также: публикация/подписка, ESP32, умный дом, TLS