Відмінності між версіями «MQTT»

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
[перевірена версія][перевірена версія]
м (вікіфікація)
 
(Не показані 13 проміжних версій 2 користувачів)
Рядок 1: Рядок 1:
 
{{IPstack}}
 
{{IPstack}}
'''MQTT''' ({{lang-en|Message Queue Telemetry Transport}}) — спрощений [[Протокол передавання даних|мережевий протокол]], що працює на [[TCP/IP]]. Використовується для обміну повідомленнями між пристроями за принципом [[Спостерігач (шаблон проектування) |видавець-підписник]].
+
'''MQTT''' ({{lang-en|Message Queue Telemetry Transport}}) — спрощений [[Протокол передавання даних|мережевий протокол]], що працює на [[TCP/IP]]. Використовується для обміну повідомленнями між пристроями за принципом [[Спостерігач (шаблон проектування)|видавець-підписник]].
   
 
== Історія створення ==
 
== Історія створення ==
Перша версія протоколу була розроблена доктором Енді Станфорд-Кларком ([[IBM]]) та Арлен Ніппер ([[Arcom]]) 1999 року і опублікована під [[Royalty free|роялті-фрі ліцензією]]. Специфікація MQTT 3.1.1 була стандартизована консорціумом OASIS 2014 року.<ref>[http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html docs.oasis-open.org]</ref>
+
Перша версія протоколу була розроблена доктором Енді Станфорд-Кларком ([[IBM]]) та Арлен Ніппер ([[Arcom]]) 1999 року і опублікована під [[Royalty free|роялті-фрі ліцензією]]. Специфікація MQTT 3.1.1 була стандартизована консорціумом [[OASIS]] 2014 року.<ref>[http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html docs.oasis-open.org]</ref>
  +
  +
Подальшим розвитком MQTT стала розробка версії цього протоколу для сенсорних мереж MQTT-SN на основі [[UDP]] або [[Bluetooth]].
  +
  +
В 2019 [[OASIS]] офіційно реалізував стандарт MQTT 5.0<ref>{{Cite web|title=What is MQTT? Definition and Details|url=https://www.paessler.com/it-explained/mqtt|access-date=2020-06-09|website=www.paessler.com|language=en}}</ref>.
   
 
== Можливості ==
 
== Можливості ==
Рядок 22: Рядок 26:
 
'''Subscribe'''. Підписатися: Чекає на завершення методу Subscribe чи UnSubscribe.
 
'''Subscribe'''. Підписатися: Чекає на завершення методу Subscribe чи UnSubscribe.
   
'''UnSubscribe'''. Відписатися: просить сервер відписати клієнта від одного або кількох тем.
+
'''UnSubscribe'''. Відписатися: просить сервер відписати клієнта від одної або кількох тем.
   
 
'''Publish'''. Публікувати: негайно повертається в потік додатку після того, як передасть запит клієнту MQTT.
 
'''Publish'''. Публікувати: негайно повертається в потік додатку після того, як передасть запит клієнту MQTT.
Рядок 31: Рядок 35:
 
* 1&nbsp;— повідомлення буде доставлено щонайменше раз (а може й більше).
 
* 1&nbsp;— повідомлення буде доставлено щонайменше раз (а може й більше).
 
* 2&nbsp;— повідомлення буде доставлено рівно один раз
 
* 2&nbsp;— повідомлення буде доставлено рівно один раз
  +
  +
== Застосування ==
  +
У комбінації з протоколом DDS ([[Data Distribution Service]]) MQTT може бути використаний для Інтернету речей (IoT)<ref>David Barnett. Comparison of MQTT and DDS as M2M Protocols for the Internet of Things. Published on May 29, 2013.&nbsp;— [https://www.slideshare.net/RealTimeInnovations/comparison-of-mqtt-and-dds-as-m2m-protocols-for-the-internet-of-things]</ref>.
  +
  +
Перспективним напрямом реалізації брокерського механізму MQTT є забезпечення централізованого мультимережного менеджменту у бортових мережах транспортних засобів<ref name="MQTT">Слюсар В.&nbsp;І.&nbsp;Концепція архітектури транспортних засобів як мережі мереж.//Збірник матеріалів ХІІ науково-практичної конференції «Пріоритетні напрямки розвитку телекомунікаційних систем та мереж спеціального призначення. Застосування підрозділів, комплексів, засобів зв'язку та автоматизації в операції Об'єднаних сил» (14&nbsp;— 15 листопада 2019&nbsp;р.).&nbsp;— Київ.&nbsp;— С. 218—219 [https://slyusar.kiev.ua/Multinetwork_NGVA.pdf]</ref>, а також мережі солдат<ref name="MQTT" />.
   
 
== Див. також ==
 
== Див. також ==
 
* [[Time-Sensitive Networking]]
 
* [[Time-Sensitive Networking]]
  +
* [[Data Distribution Service]]
   
 
== Примітки ==
 
== Примітки ==

Поточна версія на 15:36, 30 січня 2021

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

Історія створення[ред. | ред. код]

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

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

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

Можливості[ред. | ред. код]

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

Методи MQTT[ред. | ред. код]

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

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

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

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

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

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

Quality of Service[ред. | ред. код]

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

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

Застосування[ред. | ред. код]

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

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

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

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

Література[ред. | ред. код]

  • 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

Посилання[ред. | ред. код]