适用物联网环境通信协议:MQTT(消息队列遥测传输)协议

Posted 广东互动学堂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了适用物联网环境通信协议:MQTT(消息队列遥测传输)协议相关的知识,希望对你有一定的参考价值。

我们都知道,目前我们最常用的协议就是http协议,因为目前的很多都是采用http进行通信的。特别是网站浏览,全都是基于http(https)通信的。

但是我们知道物联网设备不同于计算机,物联网设备往往是嵌入式设备,嵌入式设备往往是资源有限的设备,对于带宽或者能耗都有一定的要求。所以臃肿的http协议,对于物联网来说,不是很适合。那么什么协议适合物联网应用呢?下面小生带你了解一下MQTT协议吧!

适用物联网环境通信协议:MQTT(消息队列遥测传输)协议

MQTT协议

MQTT协议是由IBM开发的一个协议,基于ISO标准的在TCP/IP协议之上的应用层协议,基于发布订阅的“轻量级”消息协议,专门为了M2M通信的协议!

那么我们需要了解MQTT协议那些关键点呢?

1、MQTT结构图

,mqtt不是直接节点与节点之间进行联系,而是通过代理进行联系,订阅者向代理订阅某一信息,当发布者上传改类型的信息给代理的时候,那么代理就会推送给订阅者

适用物联网环境通信协议:MQTT(消息队列遥测传输)协议

2、服务质量等级

(1)QoS 0:最多分发一次,不管确不确认收到。

(2)QoS 1:至少分发一次,可能会重复发送。

(3)QoS 2:只分发一次,并且确认消息到达。

适用物联网环境通信协议:MQTT(消息队列遥测传输)协议

3、MQTT消息类型

(1)CONNECT:连接服务端

(2)CONNACK:确认连接请求

(3)PUBLISH:发布消息

(4)PUBACK:发布确认

(5)PUBREC:发布收到(QoS2中的第一步)

(6)PUBREL:发布释放(QoS2中的第二步)

(7)PUBCOMP:发布完成(QoS2中的第三步)

(8)SUBSCRIBE:订阅主题

(9)SUBACK:订阅确认

(10)UNSUBSCRIBE:取消订阅

(11)UNSUBACK:取消订阅确认

(12)PINGREQ:心跳请求

(13)PINGRESP:心跳响应

(14)DISCONNECT:断开连接

如下图所示:

MQTT 控制报文的类型

来源丨猿小生

以上是关于适用物联网环境通信协议:MQTT(消息队列遥测传输)协议的主要内容,如果未能解决你的问题,请参考以下文章

MQTT:Massage Queue Telemetry Transport消息队列遥测传输

MQTT:Massage Queue Telemetry Transport消息队列遥测传输

Mqtt介绍一

海鑫智圣:物联网漫谈之MQTT协议

物联网6.物联网常用的通信协议 - MQTT协议

MQTT----物联网常用的消息队列协议