设备命令下发_物联网平台_边缘计算网关

💡注意:

1、进行命令下发时,请保持设备正常 在线 在线 在线 ‼️‼️‼️‼️‼️‼️‼️‼️

2、命令下发分 单向 双向 两种,双向需要设备端进行 回复 操作

前置条件

设备已经正常上线,如需了解上线流程。

请参考 模拟设备连接(直连)模拟设备连接(网关+网关子设备)

单向命令下发

直连和网关命令下发

MQTT

调整物模型属性

💡注意:

在设备详情页面的物模型属性下发,需要设置对应的物模型属性为 读写 模式

设备需要订阅主题:v1/devices/me/rpc/request/+

如果物模型属性为 只读 模式,请修改物模型属性为 读写 模式。

命令下发

💡注意:

mqtt协议设备命令下发内容只能是json格式。

自定义命令下发

属性下发

TCP

MODBUS

调整物模型属性

💡注意:

在设备详情页面的物模型属性下发,需要设置对应的物模型属性为 读写 模式,也就是扩展描述符时选择对应的写入功能码。

命令下发

💡注意:

modbus协议设备命令下发只能为hex。

属性下发

自定义

调整物模型属性

命令下发

HTTP

注意:

$ACCESS_TOKEN为获取的设备Access Token访问凭证,请参考获取设备访问凭证

例如:Zymo06jLuNBhTKQCholz 直接替换 $ACCESS_TOKEN 即可

客户端订阅RPC命令

用户可从服务器订阅RPC命令,发送带有可选“timeout”请求参数的GET请求到以下URL:

http(s)://host:port/api/v1/$ACCESS_TOKEN/rpc?timeout=2000

一旦订阅,如果没有对特定设备的请求,客户端可能会收到RPC请求或超时消息。RPC请求体示例如下所示:

{
  "id": "1",
  "DO1":true
}
  • id – 请求id,整数请求标识符;可用于双向命令的响应。除开id以外的数据,均为用户输入的数据。

客户端RPC命令响应

可以使用POST请求对以下URL进行回复:

http(s)://host:port/api/v1/$ACCESS_TOKEN/rpc/{$id}

双向命令下发

💡注意:

双向命令下发目前只推荐MQTT,TCP(Modbus-RTU、Modbus-TCP、自定义)不支持。

双向命令下发需要设备端收到服务端下发的命令后,对服务端进行命令响应

响应主题:v1/devices/me/rpc/response/$request_id

$request_id说明:同一个设备每次收到的请求会 自动 + 1 ,所以响应的主题是变化的。

例如:v1/devices/me/rpc/response/0 v1/devices/me/rpc/response/1

以下是MQTT直连设备的双向命令下发示例:

自定义命令

设备为在线状态,且命令内容是JSON格式的数据

服务

已存在的服务需为同步调用方式,如果为异步调用方式请进行修改。且设备为在线状态

状态说明

响应成功:说明双向命令下发,设备正常响应了数据

已过期:说明设备未收到命令或者设备收到命令未响应

发送成功:单向(设备已收到命令)

本文通过 YUQUE WORDPRESS 同步自语雀
云腾五洲-AI助理