MQTT

MQTT (англ. Message Queue Telemetry Transport) — спрощений мережевий протокол, що працює на TCP/IP. Використовується для обміну повідомленнями між пристроями за принципом видавець-підписник.

Історія створення

Перша версія протоколу була розроблена доктором Енді Станфорд-Кларком (IBM) та Арлен Ніппер (Arcom) 1999 року і опублікована під роялті-фрі ліцензією. Специфікація MQTT 3.1.1 була стандартизована консорціумом OASIS 2014 року.[1]

Подальшим розвитком MQTT стала розробка версії цього протоколу для сенсорних мереж MQTT-SN[2] на основі UDP або Bluetooth.

В 2019 OASIS офіційно реалізував стандарт MQTT 5.0[3].

Можливості

  • Простий у використанні. Протокол є програмним блоком без зайвої функціональності, що може бути легко вбудований в будь-яку складну систему;
  • Зручний для більшості рішень з датчиками. Дає можливість пристроям виходити на зв'язок і публікувати повідомлення, які не були заздалегідь відомі або визначені;
  • Легкий у адмініструванні;
  • Низьке навантаження на канал зв'язку;
  • Робота в умовах постійної втрати зв'язку або інших проблем на лінії;
  • Немає обмежень на формат переданого контенту.

Методи MQTT

MQTT визначає методи (так звані «дієслова»), щоб вказати бажану дію, яка повинна виконуватися на ідентифікованому ресурсі. Чим є цей ресурс, будь то вже наявні дані або дані, що генеруються динамічно, залежить від реалізації сервера. Часто ресурс відповідає файлу або результату виконання якогось файлу, розміщеного на сервері.

Connect. З'єднати: Чекає встановлення з'єднання з сервером.

Disconnect. Роз'єднати: Чекає доки клієнт MQTT закінчить будь-яку роботу, що має зробити, і доки роз'єднається TCP/IP сесія.

Subscribe. Підписатися: Чекає на завершення методу Subscribe чи UnSubscribe.

UnSubscribe. Відписатися: просить сервер відписати клієнта від одної або кількох тем.

Publish. Публікувати: негайно повертається в потік додатку[Що?] після того, як передасть запит клієнту MQTT.

Quality of Service

При відправленні повідомлення можна обирати три рівні якості доставки[4]:

  • 0 — повідомлення може бути доставлено щонайбільше раз (або не доставлено).
  • 1 — повідомлення буде доставлено щонайменше раз (а може й більше).
  • 2 — повідомлення буде доставлено рівно один раз

Застосування

У комбінації з протоколом DDS (Data Distribution Service) MQTT може бути використаний для Інтернету речей (IoT)[5].

Перспективним напрямом реалізації брокерського механізму MQTT є забезпечення централізованого мультимережного менеджменту у бортових мережах транспортних засобів[6], а також мережі солдат[6].

Див. також

Примітки

  1. docs.oasis-open.org
  2. Специфікація MQTT-SN ver. 1.2
  3. What is MQTT? Definition and Details. www.paessler.com (англ.). Процитовано 9 червня 2020.
  4. https://www.hivemq.com/blog/mqtt-essentials-part-6-mqtt-quality-of-service-levels
  5. David Barnett. Comparison of MQTT and DDS as M2M Protocols for the Internet of Things. Published on May 29, 2013. 
  6. Слюсар В. І. Концепція архітектури транспортних засобів як мережі мереж.//Збірник матеріалів ХІІ науково-практичної конференції «Пріоритетні напрямки розвитку телекомунікаційних систем та мереж спеціального призначення. Застосування підрозділів, комплексів, засобів зв'язку та автоматизації в операції Об'єднаних сил» (14 — 15 листопада 2019 р.). — Київ. — С. 218—219

Література

  • Bryan Boyd et al. Building Real-time Mobile Solutions with MQTT and IBM MessageSight. IBM Redbooks, 2014
  • Jeff Mesnil. Mobile and Web Messaging. O'Reilly Media, Inc., 2014 ISBN 978-1-4919-4480-6 — II. MQTT

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.