更新时间: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 XX
0x00000100
,数据包长度为 256 字节,0x55aa 00 0b 0104 00000100 xx…xx XX
0x00000200
,数据包长度为 18 字节,0x55aa 00 0b 0016 00000200 xx…xx XX
0x00000212
,数据包长度为 0 字节,0x55aa 00 0b 0004 00000212 xx...xx XX
MCU 返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 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 求余 |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈