【开发者portal在线开发插件系列五】命令的响应,即命令结果的上报(mid的使用)

基础篇

基础场景见上面两个帖子,这里单独介绍命令的响应的用法
什么是命令响应呢?命令的响应其实是命令的执行结果的上报。对于设备来说是命令执行完后,单独又上报的码流。具体可以参考【分享】一张流程图认识编解码插件中的4类消息

话不多说,开始今天的演(表)示(演)

Profile和插件开发

在命令中加入命令响应

打开插件修改原来的命令,勾选上响应字段:

编辑命令下发字段:
删除messageId后的字段(如果是新增命令可跳过这步)

添加mid(原消息中已有messageId,所以这里不用添加;如果是新增命令消息,需要添加messageId)

mid后是自定义业务字段,也就是命令下发参数:

编辑命令响应字段:
添加messageId(默认值为6,对应码流是06

再添加errcode(表示命令执行结果的成功与失败):

再添加mid:

mid后面的字段是自定义的业务字段:

与profile中的字段关联(务必看图中的说明):

关联完成后部署插件。

调测:
注册一个新设备

使用NB模拟器模拟设备,绑定成功后先上报一个业务码流:

‘’

总结:

1)插件中添加命令响应(命令执行结果上报),则上行消息必须使用mid(命令执行结果上报是上行消息)
2)命令下发的mid是2个字节,对于每个设备来说,mid从1递增到65535,对应码流就是0001到FFFF
3)设备执行完命令,命令执行结果上报中的mid要与收到命令中的mid保持一致,这样平台才能刷新对应命令的状态

posted @ 2019-09-20 11:37  华为云官方博客  阅读(382)  评论(0编辑  收藏  举报