600007 г. Владимир, ул. 16 лет Октября, д. 68А, литер "Ф", этаж 2, помещение 12
+7 (4922) 53-10-31
info@skb-proton.ru

Что такое MQTT и когда он используется в приложениях motion?

Преобразователи частоты

Передача телеметрии с очередью сообщений — обычно упоминается как MQTT — это межмашинный протокол обмена сообщениями (M2M), который чрезвычайно хорошо подходит для устройств с низкой или ненадежной пропускной способностью сети. Хотя первоначально MQTT был разработан в конце 1990-х годов для нефтяной и газовой промышленности для решения проблем оборудования в удаленных местах, он стал технологией, способствующей развитию Интернета вещей (IoT) и промышленного Интернета вещей (IIoT).

Несмотря на название очередь сообщений передача телеметрии, метод связи MQTT, не предполагает постановки сообщений в очередь.

MQTT часто описывается как “облегченный” протокол, что означает, что он использует меньшую пропускную способность для отправки сообщений, чем другие протоколы. Такое низкое использование полосы пропускания достигается благодаря методу связи MQTT publish-subscribe, или “pub-sub”, работающему поверх TCP/IP, который минимизирует полезную нагрузку в сети. Вот как это работает:

Протокол MQTT определяет два типа систем: клиенты и брокеры (серверы). Клиент может быть издателем, подписчиком или и тем, и другим. Брокеры управляют трафиком между издателями и подписчиками.

Сообщения, отправляемые издателями, классифицируются по иерархиям или темам, которые напоминают файловую структуру. Когда — и только когда — появляется новая или обновленная информация, издатель отправляет сообщение брокеру, а брокер пересылает сообщение всем клиентам, которые подписаны на эту тему — метод связи, называемый “отчет по исключению”. Поскольку сообщения маршрутизируются через посредника и управляются им — также известный как связь «один ко многим» — MQTT использует значительно меньшую пропускную способность, чем другие протоколы, которые полагаются на модель связи «один к одному».

Клиент может подписаться на сообщения на любом уровне иерархии — например, в иерархии “axis3/gripper1/status” клиент может подписаться на основную тему “axis3” или на любую из подтем “статус” или “gripper1”. Если клиент подписывается, например, на тему “axis3”, он будет получать все сообщения, которые подпадают под тему “axis3” и все ее подтемы. Таким образом, если есть подтема “axis3/gripper2”, клиент получит эти сообщения, а также сообщения, которые подпадают под подтему “axis3/gripper1”.

MQTT также обеспечивает осведомленность о состоянии, поэтому подписчики всегда знают, находятся ли издатели в Сети. Если клиент (подписчик или издатель) отправляет брокеру сообщение об отключении, этот клиент может повторно подключиться к брокеру позже, используя тот же идентификатор. Это иногда называют “изящным завершением работы”.

Однако, если издатель отключается, не отправив брокеру сообщение об отключении, брокер отправит подписчикам этого издателя сообщение “последняя воля и завещание”, идентифицирующее отключенного издателя и уведомляющее подписчиков о том, что делать. Хотя сообщения обычно не сохраняются, MQTT позволяет брокеру (если указано в конфигурации издателя) сохранять последнее сообщение, отправленное издателем, чтобы новые или возвращающиеся подписчики могли убедиться, что их подписка активна и что они получают самую свежую информацию.

MQTT позволяет использовать имена пользователей и пароли для клиентов при установлении соединений с брокерами, но эти имена пользователей и пароли предоставляются открытым текстом. Потому что MQTT — это протокол прикладного уровня который работает поверх TCP / IP, распространенным решением для обеспечения шифрования данных и безопасности в IoT и IIoT-приложениях является использование TLS/SSL.

Протокол MQTT является стандартом для всех основных облачных платформ, включая Microsoft Azure, IBM Cloud и Amazon Web Services. Facebook даже использует MQTT для своих приложений Facebook Messenger и Instagram. Для промышленного применения MQTT особенно хорошо подходит для удаленного мониторинга, а его легкие свойства делают MQTT одним из наиболее широко используемых протоколов для IoT и IIoT-приложений.

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