MQTT: протокол передачи данных в интернете вещей

20 Сентября 2021

mqtt-1.jpgУкоренное развитие промышленности и информационных технологий привело к повышению количества устройств, контролирующих выполнение рабочих процессов, позволяющих получать данные об их эффективности. Чтобы решить проблему взаимодействия огромного количества аппаратного оборудования, была разработана концепция Интернета вещей – IoT. Технология предполагает объединение устройств, которые классифицируются по определенному признаку в одну сеть. Далее схожие сети укрупняются. И так до бесконечности, пока не получится одна масштабная структура с общим признаком.

Взаимодействие в ней осуществляется при помощи интерфейсов и протоколов передачи данных в сети. Но, Интернет вещей имеет свои особенности, которые могут учесть далеко не все протоколы. Как результат – снижается эффективность взаимодействия, возникают другие проблемы, требуется постоянный контроль. Чтобы минимизировать эти проблемы, обеспечить стабильность работы IoT был создан особый протокол – MQTT. И на сегодня это одно из наиболее востребованных решений в области Интернета вещей.

MQTT: для чего нужен протокол, в чем его особенности, преимущества и в каких областях он нашел наибольшее практическое применения?

MQTT: знакомимся с особенностями протокола

MQTT (Message Queue Telemetry Transport) – небольшой, открытый и маловесный протокол обмена данными. Он используется для передачи информации между удаленными локациями в случае ограниченной пропускной способности канала и небольшого размера кода. Эти особенности позволяют применять его в Промышленном интернете вещей (IIoT), при Машинно-Машинном взаимодействии (М2М). Для встраиваемых беспроводных устройств, которые не поддерживают TCP/IP-сети специально разработана отдельная версия протокола MQTT-SN (MQTT for Sensor Networks).

Начать описание протокола MQTT стоит с его основных моментов. Ему присуще:

  • Функционирование в условиях нестабильной работы линии передачи данных (в случае отпадания сети). Обеспечивается оперированием небольшими сообщениями – пересылаются компактно, что позволяет экономить буквально каждый бит. А это очень актуально для бинарных протоколов, которым и является MQTT.
  • Одновременная поддержка нескольких уровней качества обслуживания. MQTT работает на прикладном уровне, используя для организации соединения и передачи информации TCP/IP. По умолчанию применяется порт 1883. Если требуется дополнительно обеспечить защиту данных, используется SSL. В этом случае для подключения применяется порт 8883.
  • Быстрота и простота подключения нового аппаратного обеспечения. MQTT адаптирован к особенностям как оборудования, так и каналов связи.

В работе протокол практически не нагружает вычислительные мощности устройств, но при этом корректно доставляет сообщения в центральный блок даже при нестабильном интернет-сообщении.

В процессе взаимодействия принимает участие три категории пользователей:

  1. Издатели. Это те, кто отправляют сообщения. Они указывают topic – тему. Как пример – датчики, снимающие показания с термометров или других устройств, подключенных к Интернету вещей.
  2. Подписчики. Конечные получатели информации. Они могут работать с разными издателями, в зависимости от того, на какие топики они подписаны. Как пример – аналитическая облачная система.
  3. Брокер. Это основной узел MQTT, обеспечивающий стабильную передачу информации между клиентами: издателями и подписчиками. Он получает информацию от брокера, обрабатывает ее, передает подписчикам, контролирует доставку. Роль брокера зачастую возлагается на сервер или контролер.

Для взаимодействия с брокером предусмотрен набор стандартизированных сообщений:

  • Connect: установка доступа/соединения;
  • Disconnect: разрыв соединения;
  • Publish: публикация информации в topic;
  • Subscribe: подписка на topic;
  • Unsubscribe: отписка от topic.

Все эти действия выполняются с брокером.

Удаленный офис
и онлайн-продажи
За 1 день.
С бесплатным тестовым периодом.
Конфигуратор удаленных рабочих мест
Рабочие места для команды за 1 день

Основные преимущества

Протокол MQTT наделен рядом весомых преимуществ, среди которых стоит выделить:

  • нейтральность к содержимому сообщений: может передаваться любая информация;
  • подходит как для распределенных коммуникаций, так и для разъединенных приложений;
  • наличие опции Last Will and Testament (LWT), сообщающей о непредвиденном отключении издателя или брокера;
  • для базовых задач связи вполне подходит TCP/IP;
  • работа по стандартным шаблонам: «ровно один раз», «минимум один раз» и «максимум один раз»;
  • один и тот же пользователь может взять на себя роль и потребителя, и издателя, в том числе одновременно.

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

Область применения

IoTСегодня приложения из области Интернета вещей используются очень активно и широко. И MQTT стал наиболее известным, масштабируемым, простым и доступным способом для развертывания распределенных вычислений. Это позволило расширить функциональность IoT, привлечь большую пользовательскую базу. Это относится к разным типам Интернета вещей: потребительского, промышленного.

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

Наиболее часто на практике протокол MQTT используется в:

  1. Системах мониторинга оборудования. Большинство современных предприятий стали устанавливать на станках, кранах, трансформаторах и другом оборудовании дополнительные датчики. Они контролируют работу агрегатов в режиме реального времени: снимают показания и передают значения в центр обработки данных. Все это позволяет персоналу мгновенно реагировать на проблемы, минимизировать поломки оборудования и его простои.
  2. Системах мониторинга окружающей среды. Позволяет с удобством контролировать климатические показатели, сейсмическую активность региона, устойчивость к ней зданий и сооружений. В удаленных регионах размещаются маломощные датчики, которые с заданным интервалом снимают информацию и передают ее на обработку через MQTT брокер.
  3. Системы работы с важными данными. Речь идет о биллингах мобильный операторов и провайдеров. Позволяют передавать информацию о текущем состоянии клиентских счетов без риска ее потери. Информация передается «точно один раз», что исключает также и ее дублирование, снижает количество аномалий.

Подводим итоги

Подводя итог всему вышесказанному, стоит выделить следующие ключевые моменты протокола MQTT:

  1. Создан он для Интернета вещей. Издатели передают информацию подписчикам через брокера. MQTT клиенты – это издатели и подписчики.
  2. Протокол оказывает минимальную нагрузку на вычислительные мощности аппаратного обеспечения. Стабильно работает в условиях плохой связи.
  3. В настройках протокола предусмотрены опции, позволяющие выставлять приоритеты при доставке сообщений.

Более подробно с особенностями протокола MQTT, его областью применения, нюансами внедрения вас познакомят специалисты компании «Xelent». Связаться с ними можно по телефону или через онлайн-форму.

Популярные услуги
Получить консультацию специалиста
Персональный ассистент
Cloud.Xelent