数据业务交互
提示:物模型数据业务的交互需要在创建产品时选择 物模型 协议。
根据智能香薰机实际项目需求拟定物模型功能,预添加物模型如下表所示。
功能ID | 功能类型 | 功能名称 | 数据格式 | 读写类型 | 单位 |
---|---|---|---|---|---|
1 | 属性 | 精油当前容量 | FLOAT | 只读 | ML |
2 | 属性 | 定时上报频率 | INT | 可读可写 | 秒 |
3 | 属性 | 开关状态 | BOOL | 只读 | true:开启; false:关闭; |
4 | 事件 | 精油不足告警 | BOOL | -- | true:告警; false:告警恢复; |
5 | 属性 | 香薰机运行模式 | ENUM | 读写 | 1:工作模式一; 2:工作模式二; 3:工作模式三; |
6 | 服务 | 设置工作模式 | ENUM | -- | 输出参数:ID 5 |
物模型数据业务交互
物模型是开发者中心 针对物理实体设备在开发者中心建立的数据模型,主要用于描述产品的功能,从而方便数据的解析。可以在设备成功接入开发者中心后,通过 AT+QIOTMODELTD 与 AT+QIOTMODELRD 指令来实现与开发者中心的数据交互。
提示:详情请参考数据交互相关命令。
一、物模型数据上行
开发建议:上报频率不宜过快,建议采用灵活上报的形式:
若是控制类的数据(如开关、工作模式),则可采用变化上报的方式。例如平台或者APP下发控制或者通过其他方式改状态值,设备再进行上报到平台端。
若是实时变化类的数据(如电流、温度值),则可采用定时上报。例如每隔5分钟设备定时上报一次到平台端。
1、响应应答数据
开发者中心读取操作
在开发者中心 设备信息 详情页的 设备调试 中,点击 批量读取 按钮可一键批量读取物模型属性数值。
设备侧响应操作
① 选择需要发送的请求包 ID。
② 点击 发送应答数据 按钮即可向平台响应物模型数据。
事件回调响应解析
- +QIOTEVT: 5,10211,7,1,2,3,5
5 :收到下行业务事件;
10211 :收到平台读取物模型属性事件Code;
7 :请求包 ID,该参数仅在模块接收物模型数据响应时有效;
1,2,3,5 :需要读取物模型属性的ID号,分别是1、2、3、5;
- +QIOTEVT: 5,10211,7,1,2,3,5
2、物模型属性数据主动发送
设备端主动发送 精油剩余容量 、频率开关 及 电源开关状态 的物模型属性数据到平台。
设备侧发送操作
①、 选择需要发送的物模型。
②、 点击 发送物模型数据 按钮即可向平台发送物模型数据。开发者中心效果
终端设备发送物模型数据完成后,在开发者中心点击 设备信息 详情页中的 设备调试 可查看与终端设备数据的 实时记录 与实时上传 JSON 格式的物模型数据。此时开发者中心已经接收到终端设备上报的精油当前容量:189.5 、定时上报频率:30、开关状态:false。如下图所示。
3、物模型告警事件发送
向平台发送 精油不足告警事件,事件ID为:4,输出参数ID为:1
二、物模型数据下行
开发者中心下发服务
打开物模型功能定义的 设备调试 > 服务调用,模拟远程下发控制命令场景,在设备调试中,选择 服务调用 > 设置工作模式 ,参数设置为:模式二 ,最后单击 发送指令 。
非缓存模式
在 非缓存模式 中,当终端设备接收到平台下发的数据,直接向 MCU 打印数据,例如,平台下发服务后。串口工具显示的结果如下所示。
交互数据解析
+QIOTEVT: 5,10210,13 :终端设备接收到物模型数据后,向 MCU 下发的事件通知。
5 :事件类型,表示着接收到下行数据;
10210 :事件Code,代表收到物模型下发数据;
13 :接收到下发数据的长度;{"6":{"5":2}} :接收到平台发送的物模型服务Json格式数据。
缓存模式
当模组接收到物模型数据时,模组会主动向 MCU 打印该事件: +QIOTEVT: 5,10210 ,该事件表示设备端接收到平台下发的物模型数据,如果想查看数据内容则需要 MCU 主动发送 AT+QIOTMODELRD=<req_length> 指令查看具体数据。
点击 读取物模型数据 按钮即可读取缓存的物模型数据。如下图所示。
交互数据解析
+QIOTEVT: 5,10210 :终端设备接收到物模型数据后,向 MCU 下发的事件通知。
5 :事件类型,表示着接收到下行数据;
10210 :事件Code,代表收到物模型下发数据;+QIOTMODELRD: 13,0,0 :读取物模型数据响应。
13 :返回的数据长度;
0 :当前数据包剩余数据长度;
0 :剩余数据包个数;{"6":{"5":2}} :接收到平台发送的物模型服务Json格式数据。