设备接入 IOTDA-设备侧适配开发指导:概述

时间:2024-07-30 11:30:47

概述

设备的OTA软件升级是基于华为定义的PCP协议进行的,设备侧需根据PCP协议定义的交互流程进行适配开发。下面我们将结合 物联网平台 与设备的软件升级交互流程,介绍终端设备将如何基于PCP协议构建交互过程中的请求消息和应答消息,帮助您更好的根据PCP协议进行终端侧的软件升级功能开发。

下面我们先了解下PCP消息的结构,PCP协议的请求消息和应答消息都遵循相同的消息结构,主要由这几部分组成:

PCP协议消息由:起始标识位、版本号、消息码、校验码、数据区长度和数据区组成,各字段的要求和描述如下表所示。

字段名

字段类型

描述和要求

起始标识

WORD

起始标识,固定为0XFFFE。

版本号

BYTE

高四位预留;低四位表示协议版本号,当前为1。

消息码

BYTE

标识物联网平台与设备之间的请求消息类型,应答消息的消息码和请求消息相同。消息码的定义为:

  • 0-18:预留消息码,暂未使用。
  • 19:查询设备版本。
  • 20:下载新版本软件包通知。
  • 21:请求下载升级包。
  • 22:上报升级包下载结果。
  • 23:执行软件升级。
  • 24:上报升级结果。
  • 25-127:预留消息码,暂未使用。

校验码

WORD

从起始标识到数据区的最后一个字节的CRC16校验值,计算前先把校验码字段置为0,计算完成后把结果写到校验码字段。

说明:

CRC16算法:CRC16/CCITT x16+x12+x5+1

数据区长度

WORD

数据区的长度。

数据区

BYTE[n]

可变长度,具体由各个指令定义,可参考下面介绍的各个指令对应的请求消息和应答消息定义。

数据类型

描述

BYTE

无符号一字节整数

WORD

无符号二字节整数

DWORD

无符号四字节整数

BYTE[n]

n字节的十六进制数

STRING

字符串

support.huaweicloud.com/devg-iothub/iot_01_0047_2.html