OneNET是由中国移动打造的PaaS物联网开放平台。平台能够帮助开发者轻松实现设备接入与设备连接,快速完成产品开发部署,为智能硬件、智能家居产品提供完善的物联网解决方案。
Onetnet包含支持MQTT协议的套件,这样我们就可以使用开发板采集信息,通过MQTT协议上报到onenet平台,用于实时的温湿度数据监控和展示。
Hi3861开发板采集温湿度数据,上报到onenet,实时展示家中的温湿度。
参考连老师:https://harmonyos.51cto.com/posts/1413
参考文档:https://open.iot.10086.cn/doc/mqtt/
Onenet平台MQTT套件配置
进入onenet平台控制台https://open.iot.10086.cn/console/,选择MQTT物联网套件;
添加产品,根据需要填写必要的信息;
添加新设备;
添加数据流(存储温湿度数据);
开发板编译准备
在之前的帖子中,完成过对温湿度采集和mqtt示例代码的测试,合并一下两部分的功能即可;
连接onenet平台,采用非加密的方式,IP:183.230.40.96;port:1883;
代码中字段对应OneNet平台关系如下;
下载token生成工具:https://open.iot.10086.cn/doc/mqtt/images/tools/token.exe,生成token字符串;
- res:products/{pid}/devices/{device-name},本例中,products/386190/devices/device1
- et:过期时间,unix时间戳(本例中,1637672400,2021年11月23日 21:00:00)
- key:设备key,本例中,key=ORDaU6+/r8bDWHkxllCAVmo+OadxqKCFmYfUzDa9oLs=
- token:点击Generate,生成version=2018-10-31&res=products%2F386190%2Fdevices%2Fdevice1&et=1637672400&method=md5&sign=ttSvfzW5h%2BmCTJFBTiZW8Q%3D%3D
解释:pid,产品ID;
device-name,设备名称;
目前onenet平台暂不支持用户自定义 topic,只能使用系统提供的topic;
- 设备数据点上传(Publish),topic 命名规则如下:
$sys/{pid}/{device-name}/dp/post/json,本例中,发布 topic 名称为:$sys/386190/device1/dp/post/json
payload示例如下,设备可以订阅系统 topic获取上传数据点结果消息,id代表返回值 :
- {
-
- "id": 123,
-
- "dp": {
-
- "temperatrue": [{
-
- "v": 30,
-
- }],
-
- "humidity": [{
-
- "v": 45,
-
- }]
-
- }
-
- }
7.修改代码中的字段,编译烧录开发板;
下一部分展示测试结果和OnetNet添加应用等内容,OneNet平台+开发板实时监控温湿度(二)。