天天看点

阿里云物联网学习笔记(3) 采用MQTT.fx客户端实现数据上传,后附视频链接第一步,定义物模型属性第二步,封装发送数据的topic第三步,封装上行数据内容第四步,导入MQTT.fx测试第五步,测试一次多个数据发送

在阿里云物联网平台,设备被称作物模型,物模型包含了属性、事件和服务,我们希望上传的数据可以划分到属性里,然后采用物模型通信即可实现相关数据上传。有关物模型通信相关的官方介绍在 https://help.aliyun.com/document_detail/127991.html

第一步,定义物模型属性

这个就是咱们希望上传什么数据,就去物模型里面自定义,官方给了很多模板,但是我还是喜欢在其基础上自定义一些的。上次在另一个文章我定义了的,大家可以参考那边的吧。今天咱们就直接用了,先用温度、湿度、信号强度三个数据实验。

https://developer.aliyun.com/article/769008?spm=a2c6h.13148508.0.0.53bc4f0euVDb6C

第二步,封装发送数据的topic

在产品详情里面有关于各个topic的简单说明,我们这里需要用到的只是第一个,设备属性上报。

阿里云物联网学习笔记(3) 采用MQTT.fx客户端实现数据上传,后附视频链接第一步,定义物模型属性第二步,封装发送数据的topic第三步,封装上行数据内容第四步,导入MQTT.fx测试第五步,测试一次多个数据发送

原始格式:/sys/a1Dx4cundNG/${deviceName}/thing/event/property/post,类似于上次封装connect报文一样,这里需要简单修改替换一下里面的${deviceName},最后得到

/sys/a1Dx4cundNG/Liu_test_2/thing/event/property/post

第三步,封装上行数据内容

阿里物联网平台是按照(Alink JSON)格式上传数据的,有关这个格式说明我研究了好久才弄明白,大家可以参考这个。

https://help.aliyun.com/document_detail/89301.html

我先简单封装了一个温度上传的报文,大家测试的时候先别改,免得出错。

{

"method":"thing.event.property.post",
"params":{
    "Temperature":27.84
}           

}

第四步,导入MQTT.fx测试

阿里云物联网学习笔记(3) 采用MQTT.fx客户端实现数据上传,后附视频链接第一步,定义物模型属性第二步,封装发送数据的topic第三步,封装上行数据内容第四步,导入MQTT.fx测试第五步,测试一次多个数据发送

首先按照上一篇笔记的方法登录,看到圆点变绿色,设备上线。然后在MQTT.fx客户端切换到publish界面,输入前两步获取到的topic和温度报文,点击publish就可以了。

同时在设备详情页面,打开“实时刷新”开关,可以看到温度数据变了,这就实现了一个数据上传了。

第五步,测试一次多个数据发送

在实际产品运行时,会有多个数据需要同时发送的,这个就是在报文里不断增加就可以了,刚刚我们实现了温度,接下来我们增加湿度和信号看看。

"method":"thing.event.property.post",
"params":{
    "Temperature":27.84,
    "Humidity":49.93,
    "Rssi":23
}           

看到规律了吧,就是在后面按照相同的格式增加就可以了,就是增加“名称:值”这样的组合就可以了,用逗号隔开。

阿里云物联网学习笔记(3) 采用MQTT.fx客户端实现数据上传,后附视频链接第一步,定义物模型属性第二步,封装发送数据的topic第三步,封装上行数据内容第四步,导入MQTT.fx测试第五步,测试一次多个数据发送

发送后,在页面可以看到这三个数据同时更新了,成功。

操作视频地址

https://v.youku.com/v_show/id_XNDc3NDk0ODY4OA==.html