设备接入 IoTDA设备接入 IoTDA

更新时间:2021/09/06 GMT+08:00
分享

平台命令下发

功能介绍

用于平台向设备下发设备控制命令。平台下发命令后,需要设备及时将命令的执行结果返回给平台,如果设备没回响应,平台会认为命令执行超时。命令下发和消息下发的区别,请查看消息通信说明

低配置且资源受限或者对网络流量有要求的设备,不适合直接构造JSON数据与物联网平台通信时,可将原始二进制数据透传到物联网平台。通过开发编解码插件实现二进制数据到平台定义JSON格式的转换。

Topic

下行: $oc/devices/{device_id}/sys/commands/request_id={request_id}

上行:$oc/devices/{device_id}/sys/commands/response/request_id={request_id}

  • {request_id}用于唯一标识这次请求。设备侧收到下行请求的topic带该参数时,上行响应的topic需要将该参数值返回给平台。
  • 设备侧订阅带{request_id}结尾的topic时,可以使用通配#,设备侧订阅平台命令下发的topic为:$oc/devices/{device_id}/sys/commands/#

下行请求参数说明

字段名

必选/可选

类型

参数描述

object_device_id

可选

String

命令对应的目标设备ID,命令下发对应的最终目标设备,没有携带则表示目标设备即topic中指定的设备。

service_id

可选

String

设备的服务ID,在设备关联的产品模型中定义

command_name

可选

String

设备命令名称,在设备关联的产品模型中定义。

paras

可选

Object

设备命令的执行参数,具体字段在设备关联的产品模型中定义。

上行响应参数说明

命令应答的json格式,具体字段在设备关联的产品模型中定义。

字段名

必选/可选

类型

参数描述

result_code

可选

Integer

标识命令的执行结果,0表示成功,其他表示失败。不带默认认为成功。

response_name

可选

String

命令的响应名称,在设备关联的产品模型中定义。

paras

可选

Object

命令的响应参数,具体字段在设备关联的产品模型中定义。

下行请求示例

Topic: $oc/devices/{device_id}/sys/commands/request_id={request_id} 
数据格式:  
{
  "object_device_id": "{object_device_id}",
  "command_name": "ON_OFF",
  "service_id": "WaterMeter",
  "paras": {
    "value": "1"
  }
}

上行响应示例

Topic:$oc/devices/{device_id}/sys/commands/response/request_id={request_id}
数据格式:  
{
    "result_code": 0,
    "response_name": "COMMAND_RESPONSE",
    "paras": {
        "result": "success"
    }
}
分享:

    相关文档

    相关产品