【开发者portal在线开发插件系列五】命令的响应,即命令结果的上报(mid的使用)
基础篇
基础场景见上面两个帖子,这里单独介绍命令的响应的用法。
什么是命令响应呢?命令的响应其实是命令的执行结果的上报。对于设备来说是命令执行完后,单独又上报的码流。具体可以参考【分享】一张流程图认识编解码插件中的4类消息
话不多说,开始今天的演(表)示(演)
================我是“下方内容基本都是图,看图操作就好”的分隔线================
Profile和插件开发
在命令中加入命令响应
打开插件修改原来的命令,勾选上响应字段:
编辑命令下发字段:
删除messageId后的字段(如果是新增命令可跳过这步)
添加mid(原消息中已有messageId,所以这里不用添加;如果是新增命令消息,需要添加messageId)
mid后是自定义业务字段,也就是命令下发参数:
编辑命令响应字段:
添加messageId(默认值为6,对应码流是06)
再添加errcode(表示命令执行结果的成功与失败):
再添加mid:
mid后面的字段是自定义的业务字段:
与profile中的字段关联(务必看图中的说明):
关联完成后部署插件。
调测:
注册一个新设备
使用NB模拟器模拟设备,绑定成功后先上报一个业务码流:
下发一条命令(注意:使用模拟器模拟设备,上报数据后马上下发命令)
命令状态变成已送达:
再上报命令执行结果(06开头的码流表示SET_ALARM的命令执行结果):
命令状态变成执行成功:
再下发3条命令:
上报2条命令执行结果(一条成功,一条失败):
命令状态进行相应变化(有一条保持不变):
总结:
1)插件中添加命令响应(命令执行结果上报),则上行消息必须使用mid(命令执行结果上报是上行消息)
2)命令下发的mid是2个字节,对于每个设备来说,mid从1递增到65535,对应码流就是0001到FFFF
3)设备执行完命令,命令执行结果上报中的mid要与收到命令中的mid保持一致,这样平台才能刷新对应命令的状态
- 点赞
- 收藏
- 关注作者
评论(0)