OneNET DMP开放平台MQTT协议产品数据获取(Qt程序)
1. 平台说明
Onenet DMP开放平台是新推出的物联网平台(图1),区别于原来的多协议接入平台(图2)

图1 Onenet DMP开放平台

图2 Onenet 多协议接入平台
2. 问题说明
不久前在OneNET DMP开放平台创建产品和设备,接入协议:MQTT,数据协议:OneJson。希望通过Qt程序获取上传的设备数据
3. 解决办法
3.1 API的选择
由于使用的数据协议是OneJson,因此,采用“设备属性最新数据查询接口”,接口地址:https://iot-api.heclouds.com/thingmodel/query-device-property
由于新建产品时采用数据协议是OneJson,“查询设备数据点”这个API是不能查询到下位机上传到平台的数据的。 需要用API查询其他数据的,到文档中心(https://open.iot.10086.cn/doc/aiot/fuse/detail/1421)查阅

图3 API文档中心
3.2 计算token
计算token之前先准备3条数据,包括用户ID、用户accessKey和时间戳,照着下图的指示获取。时间戳可以用这个在线工具计算https://tool.lu/timestamp/,时间必须设置到晚于当前时间,比如设置到10年之后。

图4 用户数据获取
利用OneNET-token计算工具(点此即可下载也可到官方文档Token生成工具下载,把包括用户ID、用户accessKey和时间戳分别填到下图所示的地方,其他设置参考下图,填写完毕后点击“Generate”,红框里的就是所需的token

3.3 QT程序
我的工程名称取的是Dialog,所以默认类的名称就是Dialog。
(1)untitled1.pro内容
只是增加一条语句,QT += network

(2)Dialog.h文件的内容
注意框选的内容

(2)Dialog.cpp文件的内容
注意框选的内容

(3)main.cpp文件的内容
默认的,未改动
4. 运行结果

更多推荐
所有评论(0)