概念介绍
大约 3 分钟deviceota
OTA升级概述
OTA(Over-The-Air)用于远程更新设备固件。平台负责固件管理、任务下发与进度记录;设备负责下载、校验、安装和上报结果。
核心价值:
- 远程更新:无需物理接触设备,通过网络即可完成固件更新,大幅降低运维成本
- 批量管理:一键批量升级多台设备,实时监控每台设备升级状态,提升运维效率
- 固件校验:提供固件签名与校验信息,由设备按任务中的算法校验文件;下载地址的 HTTPS 由文件服务配置
- 统一管控:集中化版本管理,可视化升级进度监控,完整的操作日志追溯
一、升级模式
BladeX物联网平台支持两种主要的OTA升级模式,灵活满足不同业务场景的升级需求。
1. 推送模式(Push Mode)
平台主动向设备推送升级任务,适用于紧急修复、批量升级等场景。
2. 拉取模式(Pull Mode)
设备主动查询平台获取升级信息,适用于设备自主升级、定期检查等场景。
二、状态管理体系
平台记录设备升级状态,设备通过 step 上报进度或错误码,字段格式见升级流程。
| 状态 | 状态码 |
|---|---|
| 待升级 | pending |
| 下载中 | downloading |
| 安装中 | installing |
| 验证中 | verifying |
| 升级成功 | success |
| 升级失败 | failed |
| 已取消 | cancelled |
| 超时 | timeout |
三、参数体系说明
系统采用标准化的参数体系,确保升级过程的精确控制和状态追踪。
1. 设备标识参数
设备三元组是OTA升级过程中的唯一身份标识:
| 参数 | 说明 | 示例 |
|---|---|---|
| productKey | 产品标识 | PK_SENSOR_001 |
| deviceName | 设备名称 | DEV_20240101_001 |
| deviceSecret | 设备密钥 | xxxxxxxxxxxxxx |
2. 升级任务参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| taskId | Long | 是 | 升级任务唯一标识(数字) |
| version | String | 是 | 目标固件版本号 |
| url | String | 是 | 固件下载地址 |
| size | Long | 是 | 固件包大小(字节) |
| sign | String | 是 | 固件包签名值 |
| signMethod | String | 否 | 签名算法(默认Md5) |
| module | String | 否 | 升级模块名称(默认main) |
| extData | Object | 否 | 扩展数据 |
3. 进度监控参数
参数定义:
| 参数 | 类型 | 说明 | 示例 |
|---|---|---|---|
| taskId | Long | 升级任务ID | 20240301001 |
| step | String | 进度值或错误码 | "45" |
| desc | String | 进度描述 | "45%" |
| extData | Object | 扩展数据(可选) | 错误详情等 |
进度值定义:
| 进度值 | 类型 | 说明 | 备注 |
|---|---|---|---|
| 1-50 | 正常 | 下载阶段 | 按实际下载进度映射 |
| 51-99 | 正常 | 安装阶段 | 按实际安装进度映射 |
| 100 | 完成 | 升级成功 | 立即上报新版本 |
错误码定义:
| 错误码 | 说明 | 处理建议 |
|---|---|---|
| -1 | 升级失败 | 检查设备日志 |
| -2 | 下载失败 | 检查网络连接 |
| -3 | 校验失败 | 重新下载固件 |
| -4 | 烧录失败 | 检查存储空间 |
