Skip to content

OTA 固件升级 ​

平台提供设备固件 OTA(Over-The-Air)升级能力:固件版本管理 → 批次推送 → 进度跟踪 → 失败重试,全流程可视化。

升级流程 ​

上传固件包 → 创建版本 → 选择目标设备/批次 → 下发升级指令
   → 设备下载固件(HTTP)→ 设备校验并烧写 → 上报升级进度/结果
   → 平台汇总成功率,失败设备可重推

版本管理 ​

http
POST /api/ota/firmware/upload   # 上传固件(multipart,含版本号/签名)
GET  /api/ota/firmware/list     # 固件列表
POST /api/ota/task/create       # 创建升级任务
GET  /api/ota/task/{id}         # 任务进度详情
POST /api/ota/task/retry/{id}   # 失败设备重推

固件包要求 ​

项要求
格式.bin / .hex,单文件 ≤ 16 MB
版本号语义化版本(如 1.2.0),必须高于设备当前版本
校验平台自动计算 SHA-256,设备下载后须校验一致再烧写

设备侧交互(MQTT 通道示例) ​

平台下发升级指令:

json
// Topic: device/{serial}/command
{
  "type": "OTA",
  "version": "1.2.0",
  "url": "http://{host}/api/ota/download/{firmwareId}",
  "size": 524288,
  "sha256": "abc123..."
}

设备上报进度:

json
// Topic: device/{serial}/properties
{ "otaProgress": 45, "otaStatus": "DOWNLOADING", "version": "1.2.0" }

otaStatus 取值:DOWNLOADING / VERIFYING / FLASHING / SUCCESS / FAILED。

批次策略 ​

  • 支持按产品 / 分组 / 标签圈选目标设备。
  • 可设置并发批次数(如每批 100 台,成功后再推下一批),避免下载带宽打满。
  • 失败设备自动进入重试队列,默认重试 3 次。