51学通信论坛2017新版
标题:
MQTT协议概述
[打印本页]
作者:
admin
时间:
2017-9-16 17:42
标题:
MQTT协议概述
导语
物联网是当前移动互联网发展的方向之一,大量的M2M应用开始涌现,也有非常多的物联网协议诞生。今天我们聊聊可以说是目前最为广泛使用的物联网应用层协议之一,
MQTT
(
Message Queue Telemetry Transport
)协议。
[attach]385[/attach]
MQTT协议的由来
MQTT协议最早的一个版本是由IBM公司的Andy Stanford-Clark博士以及Arcom公司的Arlen Nipper在1999年共同提出。2013年IBM公司发布了MQTT v3.1版本,目前使用最多的版本是3.1.1。
MQTT是一种轻量级的基于发布和订阅的消息传输协议。
类似消息传输协议还包括AMQP、STOMP、CoAP、XMPP和WAMP。MQTT协议基于TCP和IP协议。
MQTT专为存储能力和带宽受限的设备设计,因此特别适合于物联网的终端嵌入式设备中。MQTT-SN是MQTT主协议的一个变体,专门用于一些非TCP/IP的嵌入式设备中,比如Zigbee等。
[attach]386[/attach]
MQTT-SN专为没有TCP/IP协议的嵌入式设备设计
订阅与发布
MQTT协议中有这么几个角色:订阅者(Subscriber)、发布者(Publisher)以及代理服务器(Broker)。
订阅者
通过主题(Topic)指定要订阅的消息;
发布者
也通过主题来发布消息;
代理服务器
负责把该主题的消息推送到订阅者。
从以上描述可以看出MQTT是一个多对多的消息传输协议。可以用来实现即时通信,也可以来实现M2M通信及物联网应用。
[attach]387[/attach]
MQTT应用的实现
Mosquitto是一款实现了 MQTT v3.1 协议的开源消息代理软件,如果要自己搭建MQTT代理服务器,可以使用这个软件。除了Mosquitto以外,HiveMQ, Apache ActiveMQ, RabbitMQ, mosca等
消息总线或消息队列软件,都可以用来实现MQTT服务器。
之前的文章《物联网云平台综述》也介绍过,
目前国内主流的物联网云平台都支持MQTT协议。
因此将MQTT协议作为物联网应用开发的首选协议,是个不错的选择。
声明:本文转载自网络。版权归原作者所有,如有侵权请联系删除。
欢迎光临 51学通信论坛2017新版 (http://bbs.51xuetongxin.com/)
Powered by Discuz! X3