阿里云物联网平台完成设备接入后能够实现硬件设备将采集到的信息上传到云平台,并且能接受云平台下发的指令。实现设备上云后需要完成应用端APP和设备的数据交互,在阿里云物联网平台中需要使用云产品流转来完成。Android端APP也将作为一个设备接入后进行数据交互。
一、准备工作
1. 设备接入平台
创建两个设备接入到对应产品中,本次测试中产品属性有“开关”和“温度”。
平台搭建设备接入参考:设备接入阿里云物联网平台-CSDN博客
2. 基本流程
2.1. 流转方式
本次采用数据流转中的数据转发到其他Topic方法实现。
数据转发到其他Topic:在阿里云物联网平台中设备不能订阅其他设备的Topic,也不能向其他设备的Topic发布消息。通过云产品流转可以将解析脚本处理完的一个设备Topic的消息内容,转发到另一个设备Topic,实现设备间通信(M2M通信)或者其他通信场景。
阿里云文档:配置云产品流转将数据转发到其他设备topic实现设备间通信_物联网平台(IoT)-阿里云帮助中心
2.2. 配置参数
在配置云产品流转的过程中需要配置:数据源、数据目的、解析器脚本。
- 数据源:转发数据的开源,在本次实验中为设备1(Dev_test)上报的属性。
- 数据目的:转发后数据到达的Topic,为设备2(Dev_app)需要订阅的Topic2,本次实验中采用的是物模型数据上报和下发,需要订阅的Topic:/sys/${productKey}/${deviceName}/thing/service/property/set。
- 解析器脚本:配置通过数据流转函数writeIotTopic(destinationId, topic, payload)将Topic1数据转发到Topic2。
二、上报属性转发(设备上报温度,APP进行显示)
1. 数据源
依次点击 数据源-->创建数据源-->填写信息-->确认 随后将自动跳转到添加Topic页面
2. 数据目的
3. 创建解析器
3.1. 关联数据源
3.2. 关联数据目的
3.3. 编辑脚本
将writeIotTopic()第二个参数改为目的设备需要订阅的topic,本次实验采用物模型属性上报Topic:/sys/${productKey}/${deviceName}/thing/service/property/set。
4. 模拟测试
本次实验采用MQTT.fx进行测试,其中数据源端Dev_test上报属性,数据目的端Dev_app订阅属性修改主题。
Dev_test上报属性Topic:
/sys/${productKey}/${deviceName}/thing/service/property/post
Dev_post订阅属性Topic:
/sys/${productKey}/${deviceName}/thing/service/property/set
5. 异常判断
流转情况再日志服务中查找上报属性设备的云产品流转情况,在日志内容中查看相关信息。