在学习了海创电子的MQTT理论知识之后,做此笔记,供自己查看。
参考文章链接:
https://blog.csdn.net/daniaoxp/article/details/103068502?spm=1001.2014.3001.5501
1、阿里云物联网平台
网址:https://iot.console.aliyun.com/
2、服务质量等级(QOS)
3、订阅报文(Subscribe)
作用:
1、客户端 向 服务端订阅
2、Subscribe订阅报文指定了最大QOS等级(一般情况下设置为QOS:00)
3、订阅之后服务端可以发送Publish报文给客户端
3.1、SUB报文内容
固定报头:82 ??
可变报头:00 0A
有效载荷:主题
服务质量要求 00
物联网平台 → 设备 → 管理 → topic列表
找到红框内容,然后将其复制到网络调试助手转成16进制
2F 73 79 73 2F 61 31 42 63 33 63 74 41 51 56 45 2F 73 74 6D 33 32 52 43 54 36 5F 31 2F 74 68 69 6E 67 2F 73 65 72 76 69 63 65 2F 70 72 6F 70 65 72 74 79 2F 73 65 74
由网络助手得出共55个字节,转成16进制是:0x37
主题内容即是:
00 37 2F 73 79 73 2F 61 31 42 63 33 63 74 41 51 56 45 2F 73 74 6D 33 32 52 43 54 36 5F 31 2F 74 68 69 6E 67 2F 73 65 72 76 69 63 65 2F 70 72 6F 70 65 72 74 79 2F 73 65 74
有效载荷加上服务质量,即是:
00 37 2F 73 79 73 2F 61 31 42 63 33 63 74 41 51 56 45 2F 73 74 6D 33 32 52 43 54 36 5F 31 2F 74 68 69 6E 67 2F 73 65 72 76 69 63 65 2F 70 72 6F 70 65 72 74 79 2F 73 65 74 00
串联起来就是
82 ?? 00 0A 00 31 2F 73 79 73 2F 61 31 42 63 33 63 74 41 51 56 45 2F 73 74 6D 33 32 52 43 54 36 5F 31 2F 74 68 69 6E 67 2F 73 65 72 76 69 63 65 2F 70 72 6F 70 65 72 74 79 2F 73 65 74 00
计算出剩余长度为:0x3C
即订阅报文是
82 3C 00 0A 00 37 2F 73 79 73 2F 61 31 42 63 33 63 74 41 51 56 45 2F 73 74 6D 33 32 52 43 54 36 5F 31 2F 74 68 69 6E 67 2F 73 65 72 76 69 63 65 2F 70 72 6F 70 65 72 74 79 2F 73 65 74 00
4、订阅
订阅主题首先需要连接服务器
连接服务器的教程在第一章已经讲过
连接成功后然后发送订阅请求,得到90 03 00 0A 01即是连接成功
如果订阅报文错误,网络助手会退出连接!
5、订阅确定
固定报头:90 ??(剩余长度)
可变报头:
有效载荷:
可变报头需要跟订阅的可变报头一模一样
QOS等级为00和01,返回的成功值都为01