前几节课介绍了Mqtt协议的服务器连接和发布消息,其实已经可以完成了硬件数据上传的功能了,这节我们来讲主题消息的订阅,这样就可以反向控制硬件了。
(1)订阅QoS=00的主题消息
下面我们订阅一个主题为"r"的消息,Qos==00;指令如下:
82 06 00 01 00 01 72 00
82为固定头部,具体含义参考前面的内容,就是指这时订阅消息的意思。
06 是后面消息的字节数
00 01 是用来消息识别的,随你填了,待会服务器返回时会把这个识别码返回的,通过识别码你也可以判断这个消息是否是自己的。
再后面00 01是主题名称的字节数,这里主题就一个字节,为字母“r”
最后的00是QoS值,这里为00就是消息只送一遍。
好了,先启动mqtt服务器,然后在浏览器打开mqtt管理界面里的Websocket页面,连接上服务器。最后再打开网络调试助手,连接上TCP服务器后再发送
10 19 00 06 4d 51 49 73 64 70 03 c2 01 2c 00 05 4d 61 6b 65 72 00 01 72 00 01 72
连接上mqtt服务器,然后就可以开始发送今天的内容了:
82 06 00 01 00 01 72 00
发送后服务器返回了90 03 00 01 00
90是固定头部,不解释了
03是后面消息的字节数
00 01就是我们发过去的消息识别码