MQTT协议-发布消息(客户端向服务器发送)
创始人
2024-05-31 11:38:42
0

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

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

在分析完服务器下发到客户端的报文后,就可以参考JSON格式的有效载荷,将温湿度的值改为自己想要设置的,再通过发布消息报文发送到服务器

1、组装发布消息报文

固定报头:30 ??

可变报头就是带有发布权限Topic类,可在阿里云里复制到文本文档,将设备名替换为自己的设备名称

在这里插入图片描述

然后通过网络调试助手转为十六进制格式,首两个字节表示长度

在这里插入图片描述

有效载荷是JSON格式,可以参照服务器下发的内容,修改其中的值,再发送回去

注意:method的值是"thing.event.property.post",id号是10位的,可随便写,修改温度标识符Temperature的值为25,湿度标识符Humidity的值为70

{"method":"thing.event.property.post","id":"1154179611","params":{"Temperature":25,"Humidity":70},"version":"1.0.0"}

将有效载荷转为十六进制,不用在开头加字节长度

在这里插入图片描述

组合固定报头+可变报头+有效载荷

在这里插入图片描述

计算的剩余长度为169个,因为大于128,所以用两个字节表示,169=128*a+b,可计算出a = 1,b = 41,a转为十六进制为01,b先转为二进制0010 1001,最高位需要变为1,所以为1010 1001,转为十六进制为A9,所以剩余长度就填A9 01

最终客户端向服务器发送的报文为

在这里插入图片描述

2、通过网络调试助手发送报文到服务器

先发送CONNECT报文连接阿里云

在这里插入图片描述

再发送上面组装好的发布信息报文,阿里云并没有回复,这是对的,因为组装时设置的Qos等级是0,没有响应部分,所以阿里云也没有应答

在这里插入图片描述

去阿里云平台的设备物模型数据查看数据是否上传成功,可看到温湿度的值都正确上传,而且更新时间是刚发送的报文时间
在这里插入图片描述

相关内容

热门资讯

深交所参与建设的香港综合基金平... 7月3日,由香港交易及结算所有限公司(以下简称港交所)牵头、深圳证券交易所(以下简称深交所)下属深圳...
【工业硅】盘面涨跌反复,市场情...  在经历了昨日期货行情大幅上行后,今日工业硅期货行情转弱运行,盘面价格稍有松动!7月3日,截止15:...
四预警齐发!我国多地高温 四川... 01高温黄色预警中央气象台7月3日18时继续发布高温黄色预警:预计7月4日白天,华北南部、黄淮、江淮...
吉宏股份(02603)截至6月... 吉宏股份(02603)发布公告,截至2025年6月30日,公司通过回购专用证券账户以集中竞价交易方式...
夏天白手臂的秘密武器是…… 转自:扬子晚报扬子晚报网7月3日讯(记者 薄云峰)这两天,江苏多地持续高温,户外阳光刺眼,紫外线特别...
甘肃天水一幼儿园部分幼儿血铅异... 记者3日从甘肃省天水市获悉,1日,天水市麦积区市场监督管理局等部门接群众反映后,查获一起某幼儿园违规...
安诺其(300067.SZ):... 格隆汇7月3日丨安诺其(300067.SZ)公布,控股股东、实际控制人纪立军先生的一致行动人张烈寅女...
长虹美菱拟斥1.5亿至3亿元回... 2025年7月4日,长虹美菱发布回购股份报告书,公司将使用自有资金和自筹资金,通过集中竞价交易方式回...
东方卫视直击:日本参议院选举拉... 日本国会参议院选举7月3日发布公告,为期17天的竞选活动就此拉开序幕。这是石破内阁成立以来的首次参议...