设备接入 IOTDA-离线开发插件:编解码插件的输入/输出格式样例
编解码插件的输入/输出格式样例
假定某款水表支持的服务定义如下:
服务类型 |
属性名称 |
属性说明 |
属性类型(数据类型) |
---|---|---|---|
Battery |
- |
- |
- |
- |
batteryLevel |
电量(0--100)% |
int |
Meter |
- |
- |
- |
- |
signalStrength |
信号强度 |
int |
- |
currentReading |
当前读数 |
int |
- |
dailyActivityTime |
日激活通讯时长 |
string |
那么数据上报时decode接口的输出:
{ "identifier": "12345678", "msgType": "deviceReq", "data": [ { "serviceId": "Meter", "serviceData": { "currentReading": "46.3", "signalStrength": 16, "dailyActivityTime": 5706 }, "eventTime": "20160503T121540Z" }, { "serviceId": "Battery", "serviceData": { "batteryLevel": 10 }, "eventTime": "20160503T121540Z" } ] }
收到数据上报后,平台对设备的应答响应,调用encode接口编码,输入为
{ "identifier": "123", "msgType": "cloudRsp", "request":[ 1, 2 ], "errcode": 0, "hasMore": 0 }
假定某款水表支持的命令定义如下:
基本功能名称 |
分类 |
名称 |
命令参数 |
数据类型 |
枚举值 |
---|---|---|---|---|---|
WaterMeter |
水表 |
- |
- |
- |
- |
- |
CMD |
SET_TEMPERATURE_READ_PERIOD |
- |
- |
- |
- |
- |
- |
value |
int |
- |
- |
RSP |
SET_TEMPERATURE_READ_PERIOD_RSP |
- |
- |
- |
- |
- |
- |
result |
int |
0表示成功,1表示输入非法,2表示执行失败 |
那么命令下发调用encode接口时,输入为
{ "identifier": "12345678", "msgType": "cloudReq", "serviceId": "WaterMeter", "cmd": "SET_TEMPERATURE_READ_PERIOD", "paras": { "value": 4 }, "hasMore": 0 }
收到设备的命令应答后,调用decode接口解码,解码的输出
{ "identifier": "123", "msgType": "deviceRsp", "errcode": 0, "body": { "result": 0 } }