设备管理 IoTDM(联通用户专用)设备管理 IoTDM(联通用户专用)

计算
弹性云服务器 ECS
裸金属服务器 BMS
云手机 CPH
专属主机 DeH
弹性伸缩 AS
镜像服务 IMS
函数工作流 FunctionGraph
云耀云服务器 HECS
VR云渲游平台 CVR
特惠算力专区
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
弹性文件服务 SFS
存储容灾服务 SDRS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
专属企业存储服务
云存储网关 CSG
专属分布式存储服务 DSS
CDN与智能边缘
内容分发网络 CDN
智能边缘云 IEC
智能边缘小站 IES
智能边缘平台 IEF
人工智能
AI开发平台ModelArts
华为HiLens
图引擎服务 GES
图像识别 Image
文字识别 OCR
自然语言处理 NLP
内容审核 Moderation
图像搜索 ImageSearch
医疗智能体 EIHealth
园区智能体 CampusGo
企业级AI应用开发专业套件 ModelArts Pro
人脸识别服务 FRS
对话机器人服务 CBS
视频分析服务 VAS
语音交互服务 SIS
知识图谱 KG
人证核身服务 IVS
IoT物联网
设备接入 IoTDA
设备管理 IoTDM(联通用户专用)
全球SIM联接 GSL
IoT开发者服务
IoT数据分析
车联网服务 IoV
路网数字化服务 DRIS
IoT边缘 IoTEdge
设备发放 IoTDP
开发与运维
软件开发平台 DevCloud
项目管理 ProjectMan
代码托管 CodeHub
流水线 CloudPipeline
代码检查 CodeCheck
编译构建 CloudBuild
部署 CloudDeploy
云测 CloudTest
发布 CloudRelease
移动应用测试 MobileAPPTest
CloudIDE
Classroom
开源镜像站 Mirrors
应用魔方 AppCube
云性能测试服务 CPTS
应用管理与运维平台 ServiceStage
云应用引擎 CAE
视频
实时音视频 SparkRTC
视频直播 Live
视频点播 VOD
媒体处理 MPC
视频接入服务 VIS
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
资源管理服务 RMS
应用身份管理服务 OneAccess
区块链
区块链服务 BCS
可信跨链服务 TCS
智能协作
IdeaHub
开发者工具
SDK开发指南
API签名指南
DevStar
HCloud CLI
Terraform
Ansible
API问题定位指导
云生态
云市场
合作伙伴中心
华为云培训中心
其他
管理控制台
消息中心
产品价格详情
系统权限
我的凭证
客户关联华为云合作伙伴须知
公共问题
宽限期保留期
奖励推广计划
活动
容器
云容器引擎 CCE
云容器实例 CCI
容器镜像服务 SWR
应用编排服务 AOS
多云容器平台 MCP
基因容器 GCS
容器洞察引擎 CIE
云原生服务中心 OSC
容器批量计算 BCE
容器交付流水线 ContainerOps
应用服务网格 ASM
网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
数据库
云数据库 RDS
数据复制服务 DRS
文档数据库服务 DDS
分布式数据库中间件 DDM
云数据库 GaussDB (for openGauss)
云数据库 GaussDB(for MySQL)
云数据库 GaussDB NoSQL
数据管理服务 DAS
数据库和应用迁移 UGO
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
可信智能计算服务 TICS
推荐系统 RES
云搜索服务 CSS
数据可视化 DLV
数据湖治理中心 DGC
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
应用中间件
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
API网关 APIG
分布式缓存服务 DCS
分布式消息服务RocketMQ版
企业应用
域名注册服务 Domains
云解析服务 DNS
云速建站 CloudSite
网站备案
华为云WeLink
会议
隐私保护通话 PrivateNumber
语音通话 VoiceCall
消息&短信 MSGSMS
云管理网络
SD-WAN 云服务
边缘数据中心管理 EDCM
云桌面 Workspace
应用与数据集成平台 ROMA Connect
ROMA资产中心 ROMAExchange
API全生命周期管理 ROMA API
安全与合规
安全技术与应用
DDoS防护 ADS
Web应用防火墙 WAF
云防火墙 CFW
应用信任中心 ATC
企业主机安全 HSS
容器安全服务 CGS
云堡垒机 CBH
数据库安全服务 DBSS
数据加密服务 DEW
数据安全中心 DSC
云证书管理服务 CCM
SSL证书管理 SCM
漏洞扫描服务 VSS
态势感知 SA
威胁检测服务 MTD
管理检测与响应 MDR
安全治理云图 Compass
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
专属云
专属计算集群 DCC
解决方案
高性能计算 HPC
SAP
游戏云
混合云灾备
华为工业云平台 IMC
价格
成本优化最佳实践
专属云商业逻辑
用户服务
帐号中心
费用中心
成本中心
资源中心
企业管理
工单管理
客户运营能力
国际站常见问题
支持计划
专业服务
合作伙伴支持计划
更新时间:2021-07-08 GMT+08:00
分享

在线开发插件(联通用户专用)

非联通用户请查看设备接入服务

借助开发中心,我们可以通过可视化的方式快速开发一款产品的编解码插件。在自定义新建产品时,如果选择使用系统模板,部分模板会包含编解码插件,您可以直接使用或在此基础上进行修改;如果选择自定义产品模板,则需要完成编解码插件的开发。

编解码插件的开发需要基于Profile定义的设备能力进行开发,本节首先以一个烟感设备的例子讲解如何开发一个支持数据上报和命令下发的编解码插件,然后再以四个场景举例说明如何完成复杂的插件开发以及调试。

数据上报和命令下发

场景说明

有一款烟感设备,具有如下特征:

  • 具有烟雾报警功能(火灾等级)和温度上报功能。
  • 支持远程控制命令,可远程打开报警功能。比如火灾现场温度,远程打开烟雾报警,提醒住户疏散。

Profile定义

在烟感产品的开发空间,完成Profile定义。
  • level:火灾级别,用于表示火灾的严重程度。
  • temperature:温度,用于表示火灾现场温度。
  • SET_ALARM:打开或关闭告警命令,value=0表示关闭,value=1表示打开。

编解码插件开发

  1. 在烟感产品的开发空间,选择“编解码插件开发”

  2. 配置数据上报消息。

    添加level字段,表示火灾级别。
    • “字段名”只能输入包含字母、数字、_和$,且不能以数字开头的字符。
    • “数据类型”根据设备上报数据的实际情况进行配置,需要和Profile相应字段的定义相匹配。
    • “长度”“偏移值”根据“数据类型”的配置自动填充。

    添加temperature字段,表示温度。在Profile中,temperature属性最大值1000,因此在插件中定义temperature字段的“数据类型”“int16u”,以满足temperature属性的取值范围。

  3. 配置命令下发消息。

    添加value字段,表示下发命令的参数值。

  4. 拖动右侧“设备模型”区域的属性字段和命令字段,数据上报消息和命令下发消息的相应字段建立映射关系。

  5. 点击“保存”,并在插件保存成功后点击“部署”,将编解码插件部署到物联网平台。

调测编解码插件

  1. 在烟感产品的开发空间,选择“在线调测”,使用虚拟设备调试编解码插件。

    勾选“没有真实的物理设备”,点击“创建”

  2. 使用设备模拟器进行数据上报。十六进制码流示例:02013A。02表示火灾级别,长度为1个字节;013A表示温度,长度为2个字节。

    “应用模拟器”区域查看数据上报的结果:{level=2, temperature=314}。2为十六进制数02转换为十进制的数值;314为十六进制数013A转换为十进制的数值。

  3. 使用应用模拟器进行命令下发:{ "serviceId": "Smoke", "method": "SET_ALARM", "paras": "{\"value\":1}" }。

    “设备模拟器”区域查看命令接收的结果:01。01为十进制数1转换为十六进制的数值。

多条数据上报消息

如果该烟感设备需要支持同时上报烟雾报警(火灾等级)和温度,也支持单独上报温度,则按照以下步骤创建消息。

编解码插件开发

  1. 在烟感产品的开发空间,选择“编解码插件开发”

  2. 配置数据上报消息,上报火灾等级和温度。

    添加messageId字段,表示消息种类。

    • 在本场景中,数据上报消息有两种,所以需要用messageId来标识消息种类。
    • “数据类型”根据数据上报消息种类的数量进行配置。在本场景中,仅有两种数据上报消息,配置为“int8u”即可满足需求。
    • “默认值”可以修改,但必须为十六进制格式,且数据上报消息的对应字段必须和默认值保持一致。在本场景中,用0x0标识上报火灾等级和温度的消息。

    添加level字段,表示火灾级别。
    • “字段名”只能输入包含字母、数字、_和$,且不能以数字开头的字符。
    • “数据类型”根据设备上报数据的实际情况进行配置,需要和Profile相应字段的定义相匹配。
    • “长度”“偏移值”根据“数据类型”的配置自动填充。

    添加temperature字段,表示温度。在Profile中,temperature属性最大值1000,因此在插件中定义temperature字段的“数据类型”“int16u”,以满足temperature属性的取值范围。

  3. 配置数据上报消息,只上报温度。

    添加messageId字段,表示消息种类。在本场景中,用0x1标识只上报温度的消息。

    添加temperature字段,表示温度。

  4. 配置命令下发消息。

    添加value字段,表示下发命令的参数值。

  5. 拖动右侧“设备模型”区域的属性字段和命令字段,与数据上报消息和命令下发消息的相应字段建立映射关系。

    level字段和temperature字段分别与Profile中的对应属性建立映射关系,messageId用于帮插件识别消息种类,不需要建立映射关系。

  6. 点击“保存”,并在插件保存成功后点击“部署”,将编解码插件部署到物联网平台。

调测编解码插件

  1. 在烟感产品的开发空间,选择“在线调测”,使用虚拟设备调试编解码插件。

    勾选“没有真实的物理设备”,点击“创建”

  2. 使用设备模拟器进行数据上报。

    十六进制码流示例:000100F1。00表示messageId,此消息上报火灾等级和温度;01表示火灾级别,长度为1个字节;00F1表示温度,长度为2个字节。

    “应用模拟器”区域查看数据上报的结果:{level=1, temperature=241}。1为十六进制数01转换为十进制的数值;241为十六进制数00F1转换为十进制的数值。

    十六进制码流示例:0100F1。01表示messageId,此消息只上报火灾温度;00F1表示温度,长度为2个字节。

    “应用模拟器”区域查看数据上报的结果:{temperature=241}。241为十六进制数00F1转换为十进制的数值。

  3. 使用应用模拟器进行命令下发:{ "serviceId": "Smoke", "method": "SET_ALARM", "paras": "{\"value\":1}" }。

    “设备模拟器”区域查看命令接收的结果:01。01为十进制数1转换为十六进制的数值。

字符串及可变长字符串的编解码插件在线开发

如果该烟感设备需要支持描述信息上报功能,描述信息支持字符串和可变长度字符串两种类型,则按照以下步骤创建消息。

Profile定义

在烟感产品的开发空间完成Profile定义。

编解码插件开发

  1. 在烟感产品的开发空间,选择“编解码插件开发”

  2. 配置数据上报消息,上报字符串类型的描述信息。

    添加messageId字段,表示消息种类。在本场景中,0x0用于标识上报火灾等级和温度的消息,0x1用于标识只上报温度的消息,0x2用于标识上报描述信息(字符串类型)的消息。

    添加other_info字段,表示字符串类型的描述信息。在本场景中,“长度”配置 6个字节。

  3. 配置数据上报消息,上报可变长度字符串类型的描述信息。

    添加messageId字段,表示消息种类。在本场景中,0x0用于标识上报火灾等级和温度的消息,0x1用于标识只上报温度的消息,0x3用于标识上报描述信息(可变长度字符串类型)的消息。

    添加length字段,表示字符串长度。“数据类型”根据可变长度字符串的长度进行配置,长度在255以内,配置为“int8u”

    添加other_info字段,表示可变长度字符串类型的描述信息。“长度关联字段”选择“length”“长度关联字段差值”“数值长度”自动填充。

  4. 拖动右侧“设备模型”区域的属性字段,与数据上报消息的相应字段建立映射关系。

  5. 点击“保存”,并在插件保存成功后点击“部署”,将编解码插件部署到物联网平台。

调测编解码插件

  1. 在烟感产品的开发空间,选择“在线调测”,使用虚拟设备调试编解码插件。

    勾选“没有真实的物理设备”,点击“创建”

  2. 使用设备模拟器上报字符串类型的描述信息。

    十六进制码流示例:0231。02表示messageId,此消息上报字符串类型的描述信息;31表示描述信息,长度为1个字节。

    “应用模拟器”区域查看数据上报的结果:{other_info=null}。描述信息不足6个字节,编解码插件无法解析。

    十六进制码流示例:02313233343536。02表示messageId,此消息上报字符串类型的描述信息;313233343536表示描述信息,长度为6个字节。

    “应用模拟器”区域查看数据上报的结果:{other_info=123456}。描述信息长度为6个字节,编解码插件解析成功。

    十六进制码流示例:023132333435363738。02表示messageId,此消息上报字符串类型的描述信息;3132333435363738表示描述信息,长度为8个字节。

    “应用模拟器”区域查看数据上报的结果:{other_info=123456}。描述信息长度超过6个字节,编解码插件截取前6个字节进行解析。

    十六进制码流示例:02013132333435。02表示messageId,此消息上报字符串类型的描述信息;013132333435表示描述信息,长度为6个字节。

    “应用模拟器”区域查看数据上报的结果:{other_info=\u000112345}。01在ASCII码表里表示“标题开始”,无法用具体字符表示,因此编解码插件解析为\u0001。

  3. 使用设备模拟器上报可变长度字符串类型的描述信息。

    十六进制码流示例:030141。03表示messageId,此消息上报可变长度字符串类型的描述信息;01表示描述信息长度(1个字节),长度为1个字节;41表示描述信息,长度为1个字节。

    “应用模拟器”区域查看数据上报的结果:{other_info=A}。41是A的十六进制ASCII码。

    十六进制码流示例:03024142。03表示messageId,此消息上报可变长度字符串类型的描述信息;02表示描述信息长度(2个字节),长度为1个字节;4142表示描述信息,长度为2个字节。

    “应用模拟器”区域查看数据上报的结果:{other_info=AB}。4142是AB的十六进制ASCII码。

    十六进制码流示例:030341424344。03表示messageId,此消息上报可变长度字符串类型的描述信息;03表示描述信息长度(3个字节),长度为1个字节;41424344表示描述信息,长度为4个字节。

    “应用模拟器”区域查看数据上报的结果:{other_info=ABC}。描述信息长度超过3个字节,编解码插件截取前3个字节进行解析,414243是ABC的十六进制ASCII码。

    十六进制码流示例:0304414243。03表示messageId,此消息上报可变长度字符串类型的描述信息;04表示字符串长度(4个字节),长度为1个字节;414243表示描述信息,长度为4个字节。

    “应用模拟器”区域查看数据上报的结果:{other_info=null}。描述信息长度不足4个字节,编解码插件解析失败。

总结

  • 当数据类型为字符串或可变长度字符串时,插件是按照ASCII码进行编解码的:上报数据时,将16进制码流解码为对应字符串,比如:21解析为“!”、31解析为“1”、41解析为“A”;下发命令时,将字符串编码对应的16进制码流,比如:“!”编码为21,“1”编码为31,“A”编码为41。
  • 当某字段的数据类型为可变长度字符串时,该字段需要关联长度字段,长度字段的数据类型必须为int。
  • 针对可变长度字符串,命令下发和数据上报的编解码插件开发方式相同。
  • 在线开发的编解码插件使用ASCII码16进制的标准表对字符串和可变长度字符串进行编解码。解码时(数据上报),如果解析结果无法使用具体字符表示,如:标题开始、正文开始、正文结束等,则使用\u+2字节码流值表示(例如:01解析为\u0001,02解析为\u0002);如果解析结果可以使用具体字符表示,则使用具体字符。

数组及可变长数组数据类型

如果该烟感设备需要支持描述信息上报功能,描述信息描述信息支持数组和可变长度数组两种类型,则按照以下步骤创建消息。

Profile定义

在烟感产品的开发空间完成Profile定义。

编解码插件开发

  1. 在烟感产品的开发空间,选择“编解码插件开发”

  2. 配置数据上报消息,上报数组类型的描述信息。

    添加messageId字段,表示消息种类。在本场景中,0x0用于标识上报火灾等级和温度的消息,0x1用于标识只上报温度的消息,0x2用于标识上报描述信息(数组类型)的消息。

    添加other_info字段,表示数组类型的描述信息。在本场景中,“长度”配置为5个字节。

  3. 配置数据上报消息,上报可变长度数组类型的描述信息。

    添加messageId字段,表示消息种类。在本场景中,0x0用于标识上报火灾等级和温度的消息,0x1用于标识只上报温度的消息,0x3用于标识上报描述信息(可变长度数组类型)的消息。

    添加length字段,表示数组长度。“数据类型”根据可变长度数组的长度进行配置,长度在255以内,配置为“int8u”

    添加other_info字段,表示可变长度数组类型的描述信息。“长度关联字段”选择“length”“长度关联字段差值”“数值长度”自动填充。

  4. 拖动右侧“设备模型”区域的属性字段,与数据上报消息的相应字段建立映射关系。

  5. 点击“保存”,并在插件保存成功后点击“部署”,将编解码插件部署到物联网平台。

调测编解码插件

  1. 在烟感产品的开发空间,选择“在线调测”,使用虚拟设备调试编解码插件。

    勾选“没有真实的物理设备”,点击“创建”

  2. 使用设备模拟器上报数组类型的描述信息。

    十六进制码流示例:0211223344。02表示messageId,此消息上报数组类型的描述信息;11223344表示描述信息,长度为4个字节。

    “应用模拟器”区域查看数据上报的结果:{other_info=null}。描述信息不足5个字节,编解码插件无法解析。

    十六进制码流示例:021122334455。02表示messageId,此消息上报数组类型的描述信息;1122334455表示描述信息,长度为5个字节。

    “应用模拟器”区域查看数据上报的结果:{other_info=ESIzRF=}。描述信息长度为5个字节,编解码插件解析成功。

    十六进制码流示例:02112233445566。02表示messageId,此消息上报数组类型的描述信息;112233445566表示描述信息,长度为6个字节。

    “应用模拟器”区域查看数据上报的结果:{other_info=ESIzRF=}。描述信息长度超过5个字节,编解码插件截取前5个字节进行解析。

  3. 使用设备模拟器上报可变长度数组类型的描述信息。

    十六进制码流示例:030101。03表示messageId,此消息上报可变长度数组类型的描述信息;01表示描述信息长度(1个字节),长度为1个字节;01表示描述信息,长度为1个字节。

    “应用模拟器”区域查看数据上报的结果:{other_info=AQ==}。AQ==是01经过base64编码后的值。

    十六进制码流示例:03020102。03表示messageId,此消息上报可变长度数组类型的描述信息;02表示描述信息长度(2个字节),长度为1个字节;0102表示描述信息,长度为2个字节。

    “应用模拟器”区域查看数据上报的结果:{other_info=AQI=}。AQI=是01经过base64编码后的值。

    十六进制码流示例:03030102。03表示messageId,此消息上报可变长度数组类型的描述信息;03表示描述信息长度(3个字节),长度为1个字节;0102表示描述信息,长度为2个字节。

    “应用模拟器”区域查看数据上报的结果:{other_info=null}。描述信息长度不足3个字节,编解码插件解析失败。

    十六进制码流示例:0303010203。03表示messageId,此消息上报可变长度数组类型的描述信息;03表示描述信息长度(3个字节),长度为1个字节;010203表示描述信息,长度为3个字节。

    “应用模拟器”区域查看数据上报的结果:{other_info=AQID}。AQID是010203经过base64编码后的值。

    十六进制码流示例:030301020304。03表示messageId,此消息上报可变长度数组类型的描述信息;03表示描述信息长度(3个字节),长度为1个字节;01020304表示描述信息,长度为4个字节。

    “应用模拟器”区域查看数据上报的结果:{other_info=AQID}。描述信息长度超过3个字节,编解码插件截取前3个字节进行解析,AQID是010203经过base64编码后的值。

base64编码方式说明

base64编码方式会把3个8位字节(3*8=24)转化为4个6位字节(4*6=24),并在每个6位字节前补两个0,构成4个8位字节的形式。如果要进行编码的码流不足3个字节,则在码流后用0填充,使用0填充的字节经编码输出的字符为“=”。

base64可以将16进制码流当做字符或者数值进行编码,两种方式获得的编码结果不同。以16进制码流01为例进行说明:

  • 把01当作字符,不足3个字符,补1个0,得到010。通过查询ASCII码表,将字符转换为8位二进制数,即:0转换为00110000、1转换为00110001,因此010可以转换为001100000011000100110000(3*8=24)。再转换为4个6位字节:001100、000011、000100、110000,并在每个6位字节前补两个0,得到:00001100、00000011、00000100、00110000。这4个8位字节对应的10进制数分别为12、3、4、48,通过查询base64编码表,获得M(12)、D(3)、E(4),由于3个字符中,最后一个字符通过补0获得,因此第4个8位字节使用“=”表示。最终,把01当做字符,通过base64编码得到MDE=。
  • 把01当作数值(即1),不足3个字符,补两个0,得到100。将数值转换为8位2进制数,即:0转换为00000000、1转换为00000001,因此100可以转换为000000010000000000000000(3*8=24)。在转换为4个6位字节:000000、010000、000000、000000,并在每个6位字节前补两个0,得到:00000000、00010000、00000000、00000000。这4个8位字节对应的10进制数分别为:0、16、0、0,通过查询base64编码表,获得A(0)、Q(16),由于3个数值中,最后两个数值通过补0获得,因此第3、4个8位字节使用“=”表示。最终,把01当作数值,通过base64编码得到AQ==。

总结

  • 当数据类型为数组或可变长度数组时,插件是按照base64进行编解码的:上报数据时,将16进制码流进行base64编码,比如:01编码为“AQ==”;命令下发时,将字符进行base64解码,比如:“AQ==”解码为01。
  • 当某字段的数据类型为可变长度数组时,该字段需要关联长度字段,长度字段的数据类型必须为int。
  • 针对可变长度数组,命令下发和数据上报的编解码插件开发方式相同。
  • 在线开发的编解码插件使用base64进行编码时,是将16进制码流当做数值进行编码。

含命令执行结果的编解码插件

如果该烟感设备需要支持支持上报命令执行结果,则按照以下步骤创建消息。

Profile定义

在烟感产品的开发空间完成Profile定义。

编解码插件开发

  1. 在烟感产品的开发空间,选择“编解码插件开发”

  2. 配置命令下发消息。

    添加messageId字段,表示消息种类。如果只有一种命令下发消息,则可以不配置此字段。

    添加mid字段,用于将下发的命令和命令执行结果进行关联。

    添加value字段,表示下发命令的参数值。

  3. 配置命令下发响应消息。

    添加messageId,表示消息种类。命令执行结果为上行消息,需要通过messageId和数据上报消息进行区分。

    添加mid字段,用于将下发的命令和命令执行结果进行关联。

    添加errcode字段,用于表示命令执行状态:00表示成功,01表示失败,如果未携带该字段,则默认命令执行成功。

    添加result字段,用于表示命令执行结果。

  4. 拖动右侧“设备模型”区域的属性字段和命令字段,数据上报消息和命令下发消息的相应字段建立映射关系。

  5. 点击“保存”,并在插件保存成功后点击“部署”,将编解码插件部署到物联网平台。

调测编解码插件

  1. 在烟感产品的开发空间,选择“在线调测”,使用虚拟设备调试编解码插件。

    勾选“没有真实的物理设备”,点击“创建”

  2. 使用应用模拟器进行命令下发:{ "serviceId": "Smoke", "method": "SET_ALARM", "paras": "{\"value\":0}" }。

    “设备模拟器”区域查看命令接收的结果:01000100。01为messageId字段,0001为mid字段,00为value字段。

  3. 使用设备模拟器进行数据上报。

    十六进制码流示例:0200010000。02表示messageId,此消息上报命令执行结果;0001表示mid,长度为2个字节;00表示命令执行状态,长度为1个字节;00表示命令执行结果,长度为1个字节。

    设备详情 > 历史命令查看命令执行状态:执行成功。

总结

  • 如果插件需要对命令执行结果进行解析,则必须在命令和命令响应中定义mid字段。
  • 命令下发的mid是2个字节,对于每个设备来说,mid从1递增到65535,对应码流为0001到FFFF。
  • 设备执行完命令,命令执行结果上报中的mid要与收到命令中的mid保持一致,这样平台才能刷新对应命令的状态。
分享:

    相关文档

    相关产品

关闭导读