MQTT — различия между версиями
EvgBot (обсуждение | вклад) м (→Особенности протокола) |
EvgBot (обсуждение | вклад) м (→Ссылки) |
||
| Строка 33: | Строка 33: | ||
* [https://mqtt.org/ официальный сайт MQTT] | * [https://mqtt.org/ официальный сайт MQTT] | ||
* [https://mosquitto.org/ Eclipse Mosquitto™ — An open source MQTT broker] | * [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/post/463669/ ''m1rko'', Протокол MQTT: концептуальное погружение // Хабр 14 августа 2019] | * [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 для передачи данных. | ||
Версия 11:15, 2 июля 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 // Википедия