Appearance
简版-网关与子设备命令
平台可以给网关或子设备发送命令,如果网关下接入的子设备很多,就会要订阅大量的主题topic,为了减少网关主题的订阅数量,针对L0瘦设备网关定义一套新的简洁版的主题来实现命令下发和订阅。
控制命令topic定义
topic:tlink/${productKey}/${deviceName}/command/ctrl/exec
注意:这里的ctrl定义的控制命令唯一标识符。
数据流向:平台发布命令消息,网关设备监听消息
请求数据体格式
javascript
{
"reqid": "0020fdf71f0d491da12ba3cd38b205be",
"v": "1",
"t": 1630054074378,
"method": "tlink.${productKey}.${deviceName}.command.ctrl.exec",
"deviceId": "8725dfbe93a64c5db1653ca766c036ce_sn1234",
"data": {
"temperature": "30.5"
}
}
请求参数说明
参数名称 | 类型 | 是否必选 | 描述 |
---|---|---|---|
reqid | String | 是 | 消息ID号。全局唯一,用于系统消息追踪 |
v | String | 是 | 协议版本号,目前协议版本号唯一取值为1 |
t | Long | 是 | 消息发送时间戳 |
method | String | 否 | TCP连接时必传 |
deviceId | String | 是 | 设备ID,可能是网关设备自己的id,也可能是子设备的设备id,如果是子设备的id,就发送给子设备执行命令 |
data | Object | 是 | 命令输入参数。 如以上示例中,命令参数: { "temperature": "30.5" } 。 |
key | String | 是 | 命令名 |
value | other | 是 | 命令值 |
控制命令响应
topic说明:tlink/${productKey}/${deviceName}/command/ctrl/exec_reply
数据流向:网关设备发布消息,平台监听消息
响应数据体格式
javascript
{
"reqid": "0020fdf71f0d491da12ba3cd38b205be",
"deviceId": "8725dfbe93a64c5db1653ca766c036ce_sn1234",
"method": "tlink.${productKey}.${deviceName}.command.ctrl.exec_reply",
"code": 200,
"data": {}
}
响应参数说明
参数名称 | 类型 | 是否必选 | 描述 |
---|---|---|---|
reqid | String | 是 | 消息ID号。和请求的对应 |
deviceId | String | 否 | 设备ID,可能是网关设备自己的id,也可能是子设备的设备id |
method | String | 否 | TCP连接时必传 |
code | Integer | 是 | 结果状态码。成功为200,其他为失败 |
data | Object | 否 | 请求成功时,返回的数据。不需要返回则为空。 |