文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MQTT协议-发布消息(服务器向客户端发送)

2023-09-22 07:52

关注

MQTT协议-发布消息(服务器向客户端发送)

发布消息报文组成:https://blog.csdn.net/weixin_46251230/article/details/129414158

在了解了发布信息的PUBLISH报文后,就可以分析出阿里云服务器向本地客户端发送的报文数据了

实验前需要在阿里云创建产品和设备,并创建简单的温度和湿度物模型:https://blog.csdn.net/weixin_46251230/article/details/128996719

1、用CONNECT报文连接阿里云

在这里插入图片描述

查看设备是否显示在线

在这里插入图片描述

2、订阅物模型主题

选择带有订阅权限的Topic类

在这里插入图片描述

将${deviceName}用自己的设备名称代替后,转为十六进制,计算出字节长度,在字节最后需要加上服务质量等级Qos,这里设置为00,不能忘记

在这里插入图片描述

加上固定报头和可变报头,组合成订阅主题报文

在这里插入图片描述

发送报文,收到阿里云应答,表示订阅成功

在这里插入图片描述

3、阿里云物模型发送数据

阿里云平台里选择在线调试,然后设置温度和湿度值,最后点击设置,服务器便下发数据到客户端

在这里插入图片描述

在网络调试助手可以看到阿里云发送的报文,将报文复制到文本文档进行分析

在这里插入图片描述

4、分析报文

报文的首字节是30,符合发布消息报文的固定报头字节,后面一个字节是AB,最高位为1,因此还有一个字节01来表示剩余长度,低位在前,高位在后,可以计算出长度为171,所以可以得到固定报头为30 AB 01

在这里插入图片描述

可变报头的首两个字节表示报头的长度,所以00 34是表示长度的,0x34转为十进制为52,因此就从34后开始数52个字节作为可变报头

将这52个字节转为ASCII可得到阿里云物模型订阅权限的Topic类:/sys/i6deo513xT1/Device01/thing/service/property/set

与上面发送的订阅主题报文的一致,说明分析正确

在这里插入图片描述

剩下的字节就全部是有效载荷,该部分首两个字节不是代表长度的,是真实数据,将其全部转为ASCII码便可得到JSON格式的数据,可看到温度值为20,湿度值为66,与一开始在阿里云平台上设置的一样,说明服务器向客户端发送的数据正确。

在这里插入图片描述

来源地址:https://blog.csdn.net/weixin_46251230/article/details/129422443

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯