IoT物联网-离线开发插件(联通用户专用):decode接口说明

时间:2025-01-26 10:34:04

decode接口说明

decode接口的入参binaryData为设备发过来的CoAP报文的payload部分。

设备的上行报文有两种情况需要插件处理(消息是模组回复的协议ACK,无需插件处理):

  • 设备上报数据(对应图中的消息

    字段名

    类型

    是否必填

    参数描述

    identifier

    String

    设备在应用协议里的标识, 物联网平台 通过decode接口解析码流时获取该参数,通过encode接口编码时将该参数放入码流。

    msgType

    String

    固定值"deviceReq",表示设备上报数据。

    hasMore

    Int

    表示设备是否还有后续数据上报,0表示没有,1表示有。

    后续数据是指,设备上报的某条数据可能分成多次上报,在本次上报数据后,物联网平台以hasMore字段判定后续是否还有消息。hasMore字段仅在PSM模式下生效,当上报数据的hasMore字段为1时,物联网平台暂时不下发缓存命令,直到收到hasMore字段为0的上报数据,才下发缓存命令。如上报数据不携带hasMore字段,则物联网平台按照hasMore字段为0处理。

    data

    ArrayNode

    设备上报数据的内容。

    表1 ArrayNode定义

    字段名

    类型

    是否必填

    参数描述

    serviceId

    String

    服务的id。

    serviceData

    ObjectNode

    一个服务的数据,具体字段在profile里定义。

    eventTime

    String

    设备采集数据时间(格式:yyyyMMddTHHmmssZ)。

    如:20161219T114920Z。

    示例

    {    "identifier": "123",    "msgType": "deviceReq",    "hasMore": 0,    "data": [{"serviceId": "NBWaterMeterCommon","serviceData": {    "meterId": "xxxx",    "dailyActivityTime": 120,    "flow": "565656",    "cellId": "5656",    "signalStrength": "99",    "batteryVoltage": "3.5"},"eventTime": "20160503T121540Z"    },    {"serviceId": "waterMeter","serviceData": {"internalTemperature": 256},"eventTime": "20160503T121540Z"    }]}
  • 设备对平台命令的应答(对应图中的消息

    字段名

    类型

    参数描述

    是否必填

    identifier

    String

    设备在应用协议里的标识,物联网平台通过decode接口解析码流时获取该参数,通过encode接口编码时将该参数放入码流。

    msgType

    String

    固定值"deviceRsp",表示设备的应答消息。

    mid

    Int

    2字节无符号的命令id。在设备需要返回命令执行结果(deviceRsp)时,用于将命令执行结果(deviceRsp)与对应的命令进行关联。

    物联网平台在通过encode接口下发命令时,把物联网平台分配的mid放入码流,和命令一起下发给设备;设备在上报命令执行结果(deviceRsp)时,再将此mid返回给物联网平台。否则物联网平台无法将下发命令和命令执行结果(deviceRsp)进行关联,也就无法根据命令执行结果(deviceRsp)更新命令下发的状态(成功或失败)。

    errcode

    Int

    请求处理的结果码,物联网平台根据该参数判断命令下发的状态。

    0表示成功,1表示失败。

    body

    ObjectNode

    命令的应答,具体字段由profile定义。

    :body体不是数组。

    示例

    {     "identifier": "123",     "msgType": "deviceRsp",     "mid": 2016,     "errcode": 0,     "body": {         "result": 0     } }
support.huaweicloud.com/devg-IoT/iot_02_4020.html