更新时间:2024-05-30 10:34:58下载pdf
本文介绍蜂窝 MCU OTA 升级服务的流程及指令说明。
OTA(Over-the-Air)即空中下载技术,通过网络远程为设备更新和升级软件程序。
蜂窝标准协议接入支持 MCU OTA 功能。通过 涂鸦 IoT 开发平台,先将需要更新的固件文件上传至涂鸦服务器,然后蜂窝模组通过涂鸦协议对文件进行分包传输,最后 MCU 接收升级包并写入本地闪存,最终实现固件的升级。详细的平台操作,参考 固件升级 和 选择和管理固件版本。
MCU OTA 功能需要设备 MCU 资源支持,设备配网成功后,通过平台配置或升级检测,可以启动 OTA 流程。升级流程如下:
升级启动方式含自动及手动升级。
模组发送
U: 0 协议版本:0x00
| 字段 | 字节数 | 说明 |
|---|---|---|
| 帧头 | 2 | 0x55aa |
| 版本 | 1 | 0x00 |
| 命令字 | 1 | 0x0a |
| 数据长度 | 2 | 0x0004 |
| 数据 | 4 | 固件包字节数,类型为 unsigned int,采用大端传输 |
| 校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
示例:0x55aa 00 0a 0004 00006800 75(固件包长度 26624,即 26KB)
U: 1 协议版本:0x01
| 字段 | 字节数 | 说明 |
|---|---|---|
| 帧头 | 2 | 0x55aa |
| 版本 | 1 | 0x01 |
| 命令字 | 1 | 0x0a |
| 数据长度 | 2 | 0x004F |
| 数据 | 40 |
|
| 校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 返回
| 字段 | 字节数 | 说明 |
|---|---|---|
| 帧头 | 2 | 0x55aa |
| 版本 | 1 | 0x03 |
| 命令字 | 1 | 0x0a |
| 数据长度 | 2 | 0x0001 |
| 数据 | 1 | 升级包分包传输大小:
|
| 校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
示例:0x55aa 03 0a 0001 00 0d
升级包传输数据格式为:
通道号(协议版本 01) + 包偏移(unsigned short) + 包数据
MCU 若收到该帧数据长度为 4,且包偏移大于等于固件大小,则包传输结束。
最后一包,包偏移为固件大小,数据包长度为 0。
模组发送
U: 0 协议版本 0x00:
| 字段 | 字节数 | 说明 |
|---|---|---|
| 帧头 | 2 | 0x55aa |
| 版本 | 1 | 0x00 |
| 命令字 | 1 | 0x0b |
| 数据长度 | 2 | 0x0004+数据包长度 |
| 数据 | 4+N | 前四字节,固定为包偏移,后面为数据包内容 |
| 校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
U: 1 协议版本 0x01:
| 字段 | 字节数 | 说明 |
|---|---|---|
| 帧头 | 2 | 0x55aa |
| 版本 | 1 | 0x01 |
| 命令字 | 1 | 0x0b |
| 数据长度 | 2 | 0x0005+数据包长度 |
| 数据 | 5+N |
|
| 校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
示例:若要升级的文件大小 530 字节,最后一包数据可不回复。
0x00000000,数据包长度为 256 字节,0x55aa 00 0b 0104 00000000 xx…xx XX0x00000100,数据包长度为 256 字节,0x55aa 00 0b 0104 00000100 xx…xx XX0x00000200,数据包长度为 18 字节,0x55aa 00 0b 0016 00000200 xx…xx XX0x00000212,数据包长度为 0 字节,0x55aa 00 0b 0004 00000212 xx...xx XXMCU 返回
| 字段 | 字节数 | 说明 |
|---|---|---|
| 帧头 | 2 | 0x55aa |
| 版本 | 1 | 0x03 |
| 命令字 | 1 | 0x0b |
| 数据长度 | 2 | 0x0000 |
| 数据 | 0 | 无 |
| 校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
示例:0x55aa 03 0b 0000 0d
模组发送
| 字段 | 字节数 | 说明 |
|---|---|---|
| 帧头 | 2 | 0x55aa |
| 版本 | 1 | 0x00 |
| 命令字 | 1 | 0x34 |
| 数据长度 | 2 | 0x0002 |
| 数据 | 2 |
|
| 校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
MCU 返回
| 字段 | 字节数 | 说明 |
|---|---|---|
| 帧头 | 2 | 0x55aa |
| 版本 | 1 | 0x03 |
| 命令字 | 1 | 0x34 |
| 数据长度 | 2 | 0x0001 |
| 数据 | 1 | 0x09(子命令) |
| 校验和 | 1 | 从帧头开始按字节求和,得出的结果对 256 求余 |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈