Подписаться на наш Телеграм

Протокол MQTT: принципы работы, архитектура и применение


MQTT (Message Queuing Telemetry Transport) — это легкий publish-subscribe-протокол для передачи сообщений между устройствами в условиях ограниченной полосы пропускания и ненадежных сетей. Разработанный в 1999 году Энди Стэнфордом-Кларком (IBM) и Арленом Ниппером (Eurotech), MQTT стал стандартом де-факто для IoT благодаря своей простоте и эффективности. В 2014 году OASIS стандартизировал MQTT v3.1.1 (ISO/IEC 20922), а позже выпустил MQTT v5.0 с улучшенной функциональностью.

История возникновения MQTT


MQTT (Message Queuing Telemetry Transport) был создан в 1999 году инженерами Энди Стэнфордом-Кларком (IBM) и Арленом Ниппером (Eurotech) для решения задачи мониторинга нефтепроводов в удаленных районах. Проект требовал минимального расхода энергии (устройства работали на батареях годами) и устойчивости к нестабильным спутниковым каналам связи.
Изначально протокол назывался "SCADA Protocol", затем "MQ Integrator", и только позже получил имя MQTT (хотя аббревиатура неофициально расшифровывается как Message Queuing Telemetry Transport, в спецификациях OASIS это не закреплено).
В 2010 году MQTT начал набирать популярность в IoT-сфере благодаря открытости и адаптивности. В 2013 году IBM и Eurotech передали MQTT v3.1 в OASIS для стандартизации. В 2014 году вышла версия MQTT v3.1.1 (стандарт ISO/IEC 20922), а в 2019 году — MQTT v5.0 с расширенной функциональностью.

Архитектура MQTT


MQTT использует модель publish-subscribe, где клиенты не обмениваются данными напрямую, а взаимодействуют через брокер. Основные компоненты:
Publishers — устройства, отправляющие сообщения в топики.
Subscribers — устройства, получающие сообщения по подписке.
Broker — сервер, управляющий подключениями, подписками и маршрутизацией сообщений.

Каждое сообщение содержит топик (например, sensors/temperature), по которому брокер определяет, кому его доставить. Клиенты могут подписаться на топики с wildcards: + (одноуровневый) и # (многоуровневый).

Форматы пакетов и QoS


MQTT работает поверх TCP/IP и использует бинарные пакеты. Заголовок включает:
  • Тип пакета (CONNECT, PUBLISH, SUBSCRIBE и др., всего 14 типов).

  • Флаги (dup, QoS, retain).

  • Длина оставшихся данных (переменная).



  • Уровни QoS (Quality of Service):


    0️⃣ QoS 0 (At most once) — сообщение отправляется без подтверждения.
    1️⃣ QoS 1 (At least once) — брокер подтверждает получение, но возможны дубли.
    2️⃣ QoS 2 (Exactly once) — гарантирует однократную доставку через 4-этапный handshake.


    Безопасность и аутентификация


    MQTT поддерживает:
  • TLS/SSL для шифрования трафика (порт 8883).

  • Аутентификацию через логин/пароль в CONNECT-пакете.

  • Механизм клиентских сертификатов.


  • Уязвимости:


  • Отсутствие шифрования по умолчанию (порт 1883).

  • Возможность подмены сообщений при MITM-атаках.

  • Утечки данных через топики (например, $SYS/ в Mosquitto).


  • Применение MQTT в IoT и промышленности


    Легкий и эффективный протокол обмена сообщениями, идеально подходящий для IoT и промышленных систем благодаря своей низкой нагрузке на сеть, поддержке работы в режиме реального времени и возможности работы в условиях нестабильного интернета.

    1. Умные дома


    MQTT широко используется в системах домашней автоматизации. Протокол позволяет легко добавлять новые устройства (датчики, умные розетки, камеры) без изменения архитектуры системы.

    Примеры использования:


  • Управление освещением (включение/выключение, диммирование).

  • Мониторинг температуры, влажности, CO₂.

  • Управление климатом (термостаты, кондиционеры).

  • Системы безопасности (датчики движения, камеры, сигнализации).


  • 2. Промышленные системы (SCADA, IIoT)


    В промышленности MQTT применяется в SCADA (диспетчерское управление) и IIoT (Industrial IoT). Поддержка QoS (Quality of Service) гарантирует доставку критически важных сообщений, а также возможность подключения тысяч датчиков и устройств к одному брокеру.

    Примеры использования:


  • Мониторинг состояния оборудования (вибрация, температура, износ).

  • Управление производственными линиями (PLC, роботы, конвейеры).

  • Сбор данных с датчиков (давление, расход, уровень жидкости).

  • Прогнозирующее обслуживание (Predictive Maintenance) – анализ данных для предотвращения поломок.


  • 3. Телеметрия автомобилей (Tesla и другие)


    MQTT используется в автомобильной телеметрии для передачи данных между бортовыми системами и облачными сервисами. Низкий объем передаваемых данных экономит трафик и снижает задержки.

    Примеры использования:


  • Tesla – передача данных о состоянии батареи, пробеге, местоположении.

  • Коммерческий транспорт – мониторинг расхода топлива, стиля вождения, маршрутов.

  • Автономные автомобили – обмен данными между машинами (V2V) и инфраструктурой (V2I).



  • MQTT — простыми словами


    MQTT — это как "СМС для умных устройств". Он помогает гаджетам (датчикам, лампочкам, телефонам) обмениваться короткими сообщениями даже при плохом интернете.

    Например:


    Задача: Датчик на окне сообщает, что окно открыто.

    1. Датчик (publisher) шлет брокеру:

      • Топик: myhome/window/kitchen

      • Сообщение: open



    2. Ваш смартфон (subscriber) получает это сообщение и пишет: "Закрой окно на кухне!"



    Заключение


    MQTT — оптимальный выбор для IoT благодаря низкому оверхеду, гибкости и поддержке QoS. Развитие стандарта (v5.0) расширяет его применение в промышленности и облачных системах. Благодаря своей простоте и эффективности, MQTT остается одним из ключевых протоколов для современных IoT-решений.


    Бесплатная консультация

    Мы бесплатно подберём оптимальное решение для Вашего объекта и разработаем концептуальный проект с оценкой бюджета!
    Для уточнения условий предоставления услуги, пожалуйста, обратитесь по телефону или по email: office@intelvision.ru или оставьте контакт и мы свяжемся с вами.

    Вы также можете записаться на бесплатную онлайн* видео-консультацию с специалистом компании INTELVISION в удобное для вас время.
    *Мы используем бесплатные для вас и удобные инструменты видеоконференций такие как Zoom и Google Meet не требующие установки дополнительного программного обеспечения и работающие прямо из браузера.

    Проектирование

    Компания INTELVISION выполняет разработку проектной и рабочей документации по инженерными и слаботочным системам, системам автоматизации и безопасности.
    Мы также работаем в среде Audodesk Revit и выполняем проекты с использованием BIM информационного моделирования.

    BIM - это американская аббревиатура расшифровывается как Building Information Modeling, то есть создание информационных моделей зданий. Готовый проект выполняется в трехмерном пространстве и состоит не просто из несущих линий и текстур, как при классическом 3D-моделировании, а и из множества искусственных элементов, которые в реальной жизни имеют физические свойства.

    Реализация

    INTELVISION - сертифицированный партнёр ведущих мировых компаний по системам автоматизации, безопасности и ИТ: ABB, Honeywell, Beckhoff, Jung, Fermax, SSS Siedle, Suprema, Phoenix Contact, Wago, Siemens, Crestron, OMS и др.

    Мы внедряем решения на всех этапах: от поставки оборудования до пусконаладки и технического обслуживания.

    За 20 лет на рынке компания INTELVISION выполнила более 100 комплексных проектов и зарекомендовала себя как надёжного технологичного партнёра. Компания обладает опытом, технической базой и штатом квалифицированных инженеров и программистов для реализации задач любого масштаба.

    Returns

    Под ключ