基于阿里云的MQTT协议入门八:PUBLISH 发布消息

7 篇文章 1 订阅
6 篇文章 0 订阅

PUBLISH控制报文是指从客户端向服务端或者服务端向客户端传输一个应用消息。
固定报头:
在这里插入图片描述
我们使用的是阿里云自带的调试,然后分析数据,并且用同样的方法给服务器进行数据上报
在这里插入图片描述
进入监控运维,然后点击在线调试
选择电源开关状态,然后点击设置
在这里插入图片描述
此时我们可以看到网络助手收到的数据
在这里插入图片描述
将数据复制过来,然后进行分析
30 9A 01 00 33 2F 73 79 73 2F 61 31 67 6D 6B 36 74 59 41 57 53 2F 54 65 73 74 30 30 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 7B 22 6D 65 74 68 6F 64 22 3A 22 74 68 69 6E 67 2E 73 65 72 76 69 63 65 2E 70 72 6F 70 65 72 74 79 2E 73 65 74 22 2C 22 69 64 22 3A 22 38 37 36 35 34 39 31 35 39 22 2C 22 70 61 72 61 6D 73 22 3A 7B 22 50 6F 77 65 72 53 77 69 74 63 68 22 3A 30 7D 2C 22 76 65 72 73 69 6F 6E 22 3A 22 31 2E 30 2E 30 22 7D
30 9A
在这里插入图片描述
首位置为,长度加1
长度为 9A 01
首位置0,数据+128=
0x1A+128 = 154
然后再往后面看,长度为 00 33
转换为10进制为51,那么我们就往后面数51个数据
2F 73 79 73 2F 61 31 67 6D 6B
36 74 59 41 57 53 2F 54 65 73
74 30 30 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
转换为string为/sys/a1gmk6tYAWS/Test001/thing/service/property/set
然后再看后面的数据
7B 22 6D 65 74 68 6F 64 22 3A 22 74 68 69 6E 67 2E 73 65 72 76 69 63 65 2E 70 72 6F 70 65 72 74 79 2E 73 65 74 22 2C 22 69 64 22 3A 22 31 38 35 34 36 35 39 39 30 33 22 2C 22 70 61 72 61 6D 73 22 3A 7B 22 50 6F 77 65 72 53 77 69 74 63 68 22 3A 30 7D 2C 22 76 65 72 73 69 6F 6E 22 3A 22 31 2E 30 2E 30 22 7D
转换为string
{“method”:“thing.service.property.set”,“id”:“1854659903”,“params”:{“PowerSwitch”:0},“version”:“1.0.0”}
这个数据为json格式的数据,然后我们回到阿里云平台
在这里插入图片描述
看到属性设置的内容就是刚刚服务器下发的内容
在这里插入图片描述
我们这边要上报属性,那么用到的就是
/sys/a1gmk6tYAWS/Test001/thing/event/property/post
在这里插入图片描述
然后再查看物模型,找到post属性
在这里插入图片描述
我们要发送的内容为
{“method”:“thing.event.property.post”,“id”:“1854659903”,“params”:{“PowerSwitch”:0},“version”:“1.0.0”}
合起来就为
30 99 01
00 32 2F 73 79 73 2F 61 31 67 6D 6B 36 74 59 41 57 53 2F 54 65 73 74 30 30 31 2F 74 68 69 6E 67 2F 65 76 65 6E 74 2F 70 72 6F 70 65 72 74 79 2F 70 6F 73 74
7B 22 6D 65 74 68 6F 64 22 3A 22 74 68 69 6E 67 2E 65 76 65 6E 74 2E 70 72 6F 70 65 72 74 79 2E 70 6F 73 74 22 2C 22 69 64 22 3A 22 30 30 30 30 30 30 30 30 30 31 22 2C 22 70 61 72 61 6D 73 22 3A 7B 22 50 6F 77 65 72 53 77 69 74 63 68 22 3A 30 7D 2C 22 76 65 72 73 69 6F 6E 22 3A 22 31 2E 30 2E 30 22 7D
再回到阿里云物联网平台,点击设备,物模型数据,开启实时刷新
在这里插入图片描述
然后连接服务器,将数据发送到服务器,这个时候已经可以看到电源开关的状态了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

### 回答1: 基于阿里云MQTT协议的4G远程抄表设计与实现,可以从以下几个方面进行阐述。 首先,远程抄表系统的设计需要考虑硬件设备和软件平台两个方面。硬件方面,可以选择支持GSM/4G网络通信的模块,通过串口与MCU或单片机进行连接,实现抄表数据的采集和传输。软件方面,可以利用阿里云提供的MQTT协议进行抄表数据的实时传输和远程监控。 其次,针对远程抄表数据传输的安全性和稳定性,可以采取一些措施。比如,将数据采集后进行加密传输,确保数据传输的安全性;同时,设置数据传输的质量保证机制,如设置重传机制和数据完整性校验,确保数据传输的稳定性。 另外,为了实现远程监控和管理,可以设计一个云平台,用于接收和存储抄表数据,并提供实时的数据展示和监控功能。云平台可以基于阿里云的服务,搭建一个具有良好的扩展性和稳定性的系统,实现多用户同时进行远程抄表监控和管理。 最后,对于远程抄表系统的实现,还需要考虑系统的可靠性和可维护性。例如,对于硬件设备的选取,除了支持4G通信的模块外,还需要选用具有高稳定性和可靠性的设备。对于软件平台的开发,可以采用模块化的设计思路,方便后续的维护和升级。 总之,基于阿里云MQTT协议的4G远程抄表系统设计与实现需要综合考虑硬件和软件两个方面,确保数据的安全性、稳定性和实时性,并在云平台上实现数据的监控和管理,提升系统的可靠性和可维护性。 ### 回答2: 基于阿里云MQTT协议的4G远程抄表设计与实现可以分为以下几个步骤: 首先,设计和选择合适的硬件设备。远程抄表系统需要有一套完整的硬件设备,包括4G模块、传感器、电池或电源管理模块等。选择适合的硬件设备是确保系统正常运行的重要一步。 其次,搭建阿里云MQTT服务器。阿里云提供了MQTT协议的支持,我们可以在阿里云控制台上创建一个MQTT实例,并获取连接信息,包括服务地址、端口号、用户名、密码等。 然后,编写嵌入式软件。根据硬件设备的要求,选择合适的嵌入式开发平台,如Arduino、树莓派等,编写相应的软件代码。代码中需要包括MQTT连接和数据传输的相关功能,如订阅与发布主题,数据的序列化与反序列化等。 接下来,设计数据传输格式。为了能够正常传输数据到阿里云MQTT服务器,需要设计并定义一种合适的数据传输格式,如JSON或XML等。该数据传输格式应该能够满足数据的同步传输和解析需求。 最后,实现远程抄表功能。通过硬件设备采集传感器获取的数据,并利用编写的嵌入式软件,将数据按照定义的数据传输格式发送到阿里云MQTT服务器。在阿里云服务器上,通过订阅相应的主题,可以接收并解析传来的数据,实现远程抄表功能。 整个基于阿里云MQTT协议的4G远程抄表设计与实现的过程包括硬件选择、服务器搭建、软件编写、数据传输格式设计和功能实现等步骤。通过该系统,可以实现远程抄表的功能,提高了抄表的效率和准确性。同时,基于阿里云MQTT协议,还可以保障数据的安全传输和存储。 ### 回答3: 基于阿里云MQTT协议的4G远程抄表设计与实现是一种智能化、高效率的电表抄表解决方案。首先,我们需要搭建一个基于阿里云MQTT服务器来实现远程通信的功能。然后,在电表上添加一个4G通信模块,用于实现电表数据的传输。接下来,我们需要编写软件程序来实现抄表功能。 在设计过程中,我们可以使用MQTT协议进行数据传输,将电表读数作为Payload发布MQTT服务器上的特定Topic。同时,我们可以使用阿里云的设备影子功能来存储和同步电表数据,实现数据的实时更新和远程监控。 在实现过程中,我们首先需要配置4G通信模块,使其能够连接到阿里云MQTT服务器。然后,我们需要编写程序来获取电表读数,并将其发布MQTT服务器上。可以通过定时任务或者触发条件来触发抄表操作,从而实现定期或者实时抄表。 另外,在实现过程中,我们还可以结合其他技术,如物联网网关、数据存储和分析等,来实现更多的功能。比如,可以在MQTT服务器上设置订阅,定期从服务器上获取电表读数数据,用于后续的数据分析、计费和报表生成等工作。 总的来说,基于阿里云MQTT协议的4G远程抄表设计与实现可以提高抄表效率,减少人工成本,实现远程监控和管理,为电力行业提供便利和智能化的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值