最后更新:2022-02-19 22:15:56 手机定位技术交流文章
OneNet MQTT服务器IP地址和端口号183.230.40.39:6002
设备名称:测试
客户端受控端(设备ID) :894672089 app
密码 (鉴权信息):dndfssj
单片机控制端(设备ID) :894767958
密码 (鉴权信息):dpjfssj
二者都为客户端
用户名 (产品ID) :489402

MQTT协议手册
百度网盘链接
CONNECT
登录服务器 —— 信息转成十六进制

客户端登录服务器 (客户端受控端举例)
10 26 00 04 4D 51 54 54 04 C2 00 78 00 09 38 39 34 36 37 32 30 38 39 00 06 34 38 39 34 30 32 00 07 64 6E 64 66 73 73 6A
客户端受控端 回复
20 02 01 00

E0 00
![[点击并拖拽以移动]](http://static.wangsu123.cn/article/image/20220219/58fe25f95ce8e4a756f32c7e10bee3fb.png)
C0 00

例如单片机控制端订阅 app_topic:app_topic 转十六进制 61 70 70 5F 74 6F 70 69 63
82 0E 00 0A 00 09 61 70 70 5F 74 6F 70 69 63 00
82 0E 00 0B 00 09 61 70 70 5F 74 6F 70 69 63 01 (不是同一报文 订阅质量等级1)

A2 0D 00 0C 00 09 61 70 70 5F 74 6F 70 69 63

客户端受控端 (设备ID) :894672089
密码 (鉴权信息):dndfssj
客户端受控端 发送连接服务器
10 26 00 04 4D 51 54 54 04 C2 00 78 00 09 38 39 34 36 37 32 30 38 39 00 06 34 38 39 34 30 32 00 07 64 6E 64 66 73 73 6A
单片机控制端 (设备ID) :894767958
密码 (鉴权信息):dpjfssj
单片机控制端 发送连接服务器
10 26 00 04 4D 51 54 54 04 C2 00 78 00 09 38 39 34 37 36 37 39 35 38 00 06 34 38 39 34 30 32 00 07 64 70 6A 66 73 73 6A
受控端订阅控制端 控制端订阅受控端 ———— 相互订阅
客户端受控端订阅 kfb_topic
82 0E 00 0A 00 09 6B 66 62 5F 74 6F 70 69 63 00
单片机控制端订阅 app_topic
82 0E 00 0A 00 09 61 70 70 5F 74 6F 70 69 63 00


推送数据 123
服务等级 QoS0 无报文标识符
服务等级 QoS0服务器速度快开销小
30 0E 00 09 6B 66 62 5F 74 6F 70 69 63 31 32 33
如图所示:
二者相互订阅(只演示订阅等级为0)
单片机推送数据给客户端
客户端也可推送数据给单片机
如不订阅,则收不到任何数据
推送数据 123
服务等级 QoS1 有报文标识符
32 10 00 09 6B 66 62 5F 74 6F 70 69 63 00 01 31 32 33
二者相互订阅(只演示订阅等级为0)
单片机发送 32 10 00 09 6B 66 62 5F 74 6F 70 69 63 00 01 31 32 33(QoS1 等级)
单片机接收 客户端发来的推送确认 40 02 00 01 —— 回复
表示单片机 推送数据成功
如单片机没有接收到 40 02 00 01则需要重发
把 PUBLISH —— 发布消息 的 DUP置位 3A10 00 09 6B 66 62 5F 74 6F 70 69 63 00 01 31 32 33
PUBLISH —— 发布消息
服务等级 QoS2 有报文标识符
34 10 00 09 6B 66 62 5F 74 6F 70 69 63 00 01 31 32 33
单片机发送数据 34 10 00 09 6B 66 62 5F 74 6F 70 69 63 00 01 31 32 33(QoS2 等级)
单片机接收 客户端发来的推送确认 50 02 00 01 —— 第一次推送确认
单片机发送 60 02 00 01 —— 确认 再问
客户端接收数据 34 10 00 09 6B 66 62 5F 74 6F 70 69 63 00 01 31 32 33
单片机接收 客户端发来的推送再确认 70 02 00 01 —— 第二次推送确认
客户端发送 70 02 00 01 —— 确定完成
任何一步没有签收 将重发
结束
二次询问
单片机发送 60 02 00 01 —— 签收 再问
客户端发送 70 02 00 01 —— 确定签收完成
表示彻底完成一次数据传输

结束
本文由 在线网速测试 整理编辑,转载请注明出处。