MQTT — различия между версиями
Woronin (обсуждение | вклад) |
EvgBot (обсуждение | вклад) м |
||
| Строка 1: | Строка 1: | ||
| − | '''MQTT''' ({{lang-en|'''m'''essage '''q'''ueuing '''t'''elemetry '''t'''ransport}}) | + | '''MQTT''' ({{lang-en|'''m'''essage '''q'''ueuing '''t'''elemetry '''t'''ransport}}) — упрощённый [[протокол передачи данных|сетевой протокол]], работающий поверх [[TCP/IP]], ориентированный на обмен сообщениями между устройствами по принципу издатель-подписчик. |
== История == | == История == | ||
| Строка 7: | Строка 7: | ||
== Особенности протокола == | == Особенности протокола == | ||
| − | Протокол ориентируется на простоту в использовании, невысокую нагрузку на каналы связи, работу в условиях постоянной потери связи, лёгкую встраиваемость в любую систему. Основное | + | Протокол ориентируется на простоту в использовании, невысокую нагрузку на каналы связи, работу в условиях постоянной потери связи, лёгкую встраиваемость в любую систему. Основное предназначение — работа с [[Телеметрия|телеметрией]] от различных [[датчик]]ов и устройств. |
| − | MQTT-сеть включает в себя MQTT-брокера (сервер), который служит посредником во взаимодействии MQTT- | + | MQTT-сеть включает в себя MQTT-брокера (сервер), который служит посредником во взаимодействии MQTT-агентов — издателей и подписчиков. Издатели публикуют информацию, предназначенную для подписчиков, при этом протокол не вводит ограничений на формат передаваемых данных.. |
| − | MQTT реализует модель | + | MQTT реализует модель «издатель — подписчик», используя минимальное количество методов. Они служат для указания действий, которые нужно выполнять. Эти действия сводятся к взаимодействию с брокером и к работе с темами и сообщениями. Агенты подключаются к брокеру, а затем либо публикуют темы и сообщения в них, либо подписываются на темы и получают сообщения, в этих темах опубликованные. Завершив работу, агент отключается от брокера. Мметоды MQTT: |
| − | * | + | * Connect — установить соединение с брокером. |
| − | * | + | * Disconnect — разорвать соединение с брокером. |
| − | * | + | * Publish — опубликовать тему на брокере. |
| − | * | + | * Subscribe — подписаться на тему на брокере. |
| − | * | + | * Unsubscribe — отписаться от темы на брокере. |
== См. также == | == См. также == | ||
| Строка 28: | Строка 28: | ||
== Литература == | == Литература == | ||
* ''Bryan Boyd et al.'' Building Real-time Mobile Solutions with MQTT and IBM MessageSight. IBM Redbooks, 2014 | * ''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- | + | * ''Jeff Mesnil.'' Mobile and Web Messaging. O’Reilly Media, Inc., 2014 ISBN 978-1-4919-4480-6 — II. MQTT |
== Ссылки == | == Ссылки == | ||
* [https://mqtt.org/ официальный сайт MQTT] | * [https://mqtt.org/ официальный сайт MQTT] | ||
| − | * [https://mosquitto.org/ Eclipse | + | * [https://mosquitto.org/ Eclipse Mosquitto™ — An open source MQTT broker] |
* [https://habr.com/ru/company/intel/blog/304228/ ''CooperMaster'', MQTT и Modbus: cравнение протоколов, используемых в шлюзах для IoT // Хабр, 27 июня 2016] | * [https://habr.com/ru/company/intel/blog/304228/ ''CooperMaster'', MQTT и Modbus: cравнение протоколов, используемых в шлюзах для IoT // Хабр, 27 июня 2016] | ||
| − | * [https://habr.com/ru/post/463669/ ''m1rko'', Протокол MQTT: концептуальное погружение | + | * [https://habr.com/ru/post/463669/ ''m1rko'', Протокол MQTT: концептуальное погружение // Хабр 14 августа 2019] |
* [https://habr.com/ru/post/547018/ ''kolabaister'', Мониторинг показателей linux сервера в Home Assistant через mqtt // Хабр, 15 марта 2021] пример настройки и использования протокола MQTT для передачи данных. | * [https://habr.com/ru/post/547018/ ''kolabaister'', Мониторинг показателей linux сервера в Home Assistant через mqtt // Хабр, 15 марта 2021] пример настройки и использования протокола MQTT для передачи данных. | ||
| − | * [https://github.com/knolleary/pubsubclient | + | * [https://github.com/knolleary/pubsubclient Pubsubclient — Arduino Client for MQTT. Library provides a client for doing simple publish/subscribe messaging with a server that supports MQTT.] |
* [[:ru:MQTT|MQTT // Википедия]] | * [[:ru:MQTT|MQTT // Википедия]] | ||
| Строка 47: | Строка 47: | ||
[[Категория:Жилище]] | [[Категория:Жилище]] | ||
[[Категория:Умный дом]] | [[Категория:Умный дом]] | ||
| − | [[ | + | [[Категория:Home Assistant]] |
[[en:MQTT]] | [[en:MQTT]] | ||
Текущая версия на 14:29, 28 июля 2022
MQTT (англ. message queuing telemetry transport) — упрощённый сетевой протокол, работающий поверх TCP/IP, ориентированный на обмен сообщениями между устройствами по принципу издатель-подписчик.
История
Первая версия разработана Энди Стэнфорд-Кларком (IBM) и Арленом Ниппером (Arcom) в 1999 году и опубликована под лицензией со свободой от роялти. Спецификация MQTT 3.1.1 была стандартизирована консорциумом OASIS в 2014 году[1].
Годом ранее была разработана спецификация для сенсорных сетей MQTT-SN ver.1.2.[2]
Особенности протокола
Протокол ориентируется на простоту в использовании, невысокую нагрузку на каналы связи, работу в условиях постоянной потери связи, лёгкую встраиваемость в любую систему. Основное предназначение — работа с телеметрией от различных датчиков и устройств.
MQTT-сеть включает в себя MQTT-брокера (сервер), который служит посредником во взаимодействии MQTT-агентов — издателей и подписчиков. Издатели публикуют информацию, предназначенную для подписчиков, при этом протокол не вводит ограничений на формат передаваемых данных..
MQTT реализует модель «издатель — подписчик», используя минимальное количество методов. Они служат для указания действий, которые нужно выполнять. Эти действия сводятся к взаимодействию с брокером и к работе с темами и сообщениями. Агенты подключаются к брокеру, а затем либо публикуют темы и сообщения в них, либо подписываются на темы и получают сообщения, в этих темах опубликованные. Завершив работу, агент отключается от брокера. Мметоды MQTT:
- Connect — установить соединение с брокером.
- Disconnect — разорвать соединение с брокером.
- Publish — опубликовать тему на брокере.
- Subscribe — подписаться на тему на брокере.
- Unsubscribe — отписаться от темы на брокере.
См. также
Примечания
- ↑ docs.oasis-open.org
- ↑ Спецификация MQTT-SN ver. 1.2 [1]
Литература
- 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
Ссылки
- официальный сайт MQTT
- Eclipse Mosquitto™ — An open source MQTT broker
- CooperMaster, MQTT и Modbus: cравнение протоколов, используемых в шлюзах для IoT // Хабр, 27 июня 2016
- m1rko, Протокол MQTT: концептуальное погружение // Хабр 14 августа 2019
- kolabaister, Мониторинг показателей linux сервера в Home Assistant через mqtt // Хабр, 15 марта 2021 пример настройки и использования протокола MQTT для передачи данных.
- Pubsubclient — Arduino Client for MQTT. Library provides a client for doing simple publish/subscribe messaging with a server that supports MQTT.
- MQTT // Википедия