命令下发
先来看一段OneNet文档说明:
命令是指应用发送命令数据给OneNet设备云、再由OneNet设备云转发给终端设备、终端设备收到命令后可以向设备云反馈响应的一种工作机制。命令下发后,应用可以通过API查询命令状态和提取命令的响应数据。
命令的执行步骤如下:
1、 应用通过API向设备云发送命令数据;
2、 设备云生成该命令的uuid作为该命令的唯一标识并向应用返回,同时向终端设备转发命令数据;
3、 终端设备收到命令数据后执行命令数据,可以生成响应,也可以不响应;
4、 设备云跟踪记录命令的响应,如果设备有响应,就关联命令uuid和响应结果;
5、 应用通过API向设备云提取命令执行结果(API请求中携带命令uuid标识)。
特别说明:
命令下发到终端设备后,如果终端设备10秒内未收到响应,则此命令的状态将被设置为超时,应用通过API查询命令状态时,会反馈超时。超过10秒后收到的响应会被丢弃。
终端设备针对同一条命令回复多条命令响应,只有在未超时时间内收到的第一条是有效响应,后续的响应包将会被直接丢弃。因此终端设备应该对每个命令只有一个响应包。
下面是请求格式,这个地方有些坑,和官网的公开协议产品指南有所不同,刚开始按照官网的来实现始终报,后来在其他文档里面找到了这个才最终调试通了
HTTP方法 |
POST |