mqtt协议详解_物联网主流协议之MQTT(消息队列遥测传输)详解

大家都知道互联网(internet),又称国际网络,属于传统领域。指的是是网络与网络之间所串连成的庞大网络。现在网购、资料查询,看视频,打游戏都是基于互联网。那么物联网呢?物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络。“物联网” 即“万物相连的互联网”,就是把各种各样的设备、传感器连起来。

025dbb72dff853f051c2fd9cee6f2dca.png

物联网是一个基于 互联网 、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互

MQTT 全称为 Message Queuing Telemetry Transport(消息队列遥测传输)是一种基于发布/订阅范式的二进制“轻量级”消息协议,由 IBM公司 发布。针对于网络受限和嵌入式设备而设计的一种数据传输协议。

MQTT协议工作原理

88d6bade30e52e185498c33c25d8fc93.png

MQTT协议QOS等级:

QOS等级在PUBLISH控制报文中体现

eb7de00e8629dfc374803cb6d876b292.png

1~2Bit体现Qos等级

326af7511fb2dd578bad482f190a8615.png
  • QoS 0:“消息次数≤1”,这种等级不保证消息到达,往往使用于持续分发的丢失一两次不会出现问题的情况。历史环境质量值。
  • QoS 1:“消息次数≥1”,这种等级的消息保证消息到达,往往使用于各种设备参数修改和控制,比如控制开启空调,收到多次无所谓,只要数据到到了就可以了。
  • QoS 2:“消息次数=1”,这种等级消息确保消息只到达一次,这个等级在一个收费缴费中,不能多不能少。

MQTT报文类型

2fb251e39a97cf1f0339ec102a688bbe.png
  • 0:保留位
  • 1 CONNECT :客户端与服务端的网络连接建立后, 客户端发送给服务端的请求连接报文
  • 2 CONNACK :服务端收到客户端请求连接报文后的回复。
  • 3 PUBLISH:客户端向服务端发布一个消息(双向)QOS0
  • 4 PUBACK :服务端收到客户端发布消息后的回复(双向) QOS1
  • 5 PUBREC :服务端收到客户端发布消息后的回复(双向)。QOS2-2
  • 6 PUBREL :客户端在收到服务端PUBREC报文后,发送释放请求QOS2-3
  • 7 PUBCOMP:服务端在收到释放请求后的确认响应(双向)QOS2-4
  • 8 SUBSCRIBE:客户端向服务端发送SUBSCRIBE报文用于创建一个或多个订阅。
  • 9 SUBACK:用于回复客户端订阅请求的报文。
  • 10 UNSUBSCRIBE :客户端发送UNSUBSCRIBE报文给服务端, 用于取消订阅主题。
  • 11 UNSUBACK :服务端回复UNSUBACK报文给客户端用于回复收到取消订阅主题。
  • 12 PINGREQ:客户端一定时间间隔内发送数据至服务端,表示自己还活着,与单片机中喂狗类似。
  • 13 PINGRESP :服务端收到客户端心跳包后回复客户端,服务器还活着,你放心。
  • 14 DISCONNECT:这个报文就是客服端告诉服务端,我要睡觉了,别打扰我,睡醒了在跟我讲。
  • 15:保留位

MQTT协议标准中文版

https://mcxiaoke.gitbooks.io/mqtt-cn/content/mqtt/02-ControlPacketFormat.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值