设备接入 IOTDA-设备侧适配开发指导:概述
概述
设备的OTA软件升级是基于华为定义的PCP协议进行的,设备侧需根据PCP协议定义的交互流程进行适配开发。下面我们将结合 物联网平台 与设备的软件升级交互流程,介绍终端设备将如何基于PCP协议构建交互过程中的请求消息和应答消息,帮助您更好的根据PCP协议进行终端侧的软件升级功能开发。
下面我们先了解下PCP消息的结构,PCP协议的请求消息和应答消息都遵循相同的消息结构,主要由这几部分组成:
PCP协议消息由:起始标识位、版本号、消息码、校验码、数据区长度和数据区组成,各字段的要求和描述如下表所示。
字段名 |
字段类型 |
描述和要求 |
---|---|---|
起始标识 |
WORD |
起始标识,固定为0XFFFE。 |
版本号 |
BYTE |
高四位预留;低四位表示协议版本号,当前为1。 |
消息码 |
BYTE |
标识物联网平台与设备之间的请求消息类型,应答消息的消息码和请求消息相同。消息码的定义为:
|
校验码 |
WORD |
从起始标识到数据区的最后一个字节的CRC16校验值,计算前先把校验码字段置为0,计算完成后把结果写到校验码字段。 说明:
CRC16算法:CRC16/CCITT x16+x12+x5+1 |
数据区长度 |
WORD |
数据区的长度。 |
数据区 |
BYTE[n] |
可变长度,具体由各个指令定义,可参考下面介绍的各个指令对应的请求消息和应答消息定义。 |
数据类型 |
描述 |
---|---|
BYTE |
无符号一字节整数 |
WORD |
无符号二字节整数 |
DWORD |
无符号四字节整数 |
BYTE[n] |
n字节的十六进制数 |
STRING |
字符串 |