MQTT — различия между версиями
EvgBot (обсуждение | вклад) м (→Ссылки) |
Woronin (обсуждение | вклад) |
||
| Строка 43: | Строка 43: | ||
[[Категория:Сетевые протоколы]] | [[Категория:Сетевые протоколы]] | ||
[[Категория:Аббревиатуры]] | [[Категория:Аббревиатуры]] | ||
| + | [[Категория:Программное обеспечение]] | ||
| + | [[Категория:Автоматизация]] | ||
| + | [[Категория:Жилище]] | ||
| + | [[Категория:Умный дом]] | ||
| + | [[en:Home Assistant]] | ||
[[en:MQTT]] | [[en:MQTT]] | ||
Версия 18:44, 27 июля 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 // Википедия