OTA

Over-The-Air 空中升级

定义

OTA(Over-The-Air,空中升级)指通过无线网络远程更新设备固件或配置,无需现场操作。固件 OTA 又称 FOTA,配置下发与 OTA 互补实现设备远程运维。

核心能力

固件 OTA 与配置 OTA

FOTA 固件空中升级用于更新设备操作系统或应用固件;配置 OTA 用于下发参数、证书、脚本等,通常通过 Device Shadow 设备影子或 Downstream Command 下行指令实现。两者互补,构成完整的远程运维能力。

与 CI/CD 集成

OTA 可与 CI/CD 流水线集成:代码提交触发构建、测试通过后自动上传固件至平台、创建 OTA 任务并生成 Changelog。支持 Maintenance Window 维护窗口内的定时升级,减少对业务的影响。平台需记录升级进度、成功率、失败原因,支持重试与 Rollback 策略。

远程更新同时覆盖映像和配置

空中升级在设备管理里是一组远程变更的总称:既可以更换启动所依赖的固件映像,也可以下发参数、证书或脚本。两类变更都不必把设备运回产线,但失败的后果不同。映像失败可能导致设备无法再连接;配置失败更多是功能异常,往往还能连上并再改一次。所以任务模型应区分变更类型、适用的版本和硬件、以及怎样算完成。完成至少包括:内容到达、完整性通过、设备已切换到新内容、并能够把新状态报回来。只做到“平台把文件放到了下载地址”不算升级完成。配置类变更若通过期望值下发,应能读回实际值并比较;读回不一致时,任务应停留在未收敛,而不是标记成功。映像类变更则要有独立的版本字段。两条路径可以出现在同一次发布里,但要规定顺序,避免新配置先到、旧映像还不认识这些字段。固件签名主要约束映像和关键包,MQTT往往只负责把“可以开始”和进度传达到设备。

远程能代替到场的条件

远程更新能代替到场,前提是设备还有一条可用的管理通道,存储和供电扛得住这次变更,并且失败后有一条不依赖新版本的退路。退路可以是旧分区、已保存的旧配置,或一张仍可连接的恢复映像。正在执行不能中断的业务时,应推迟。目标内容必须和硬件、当前版本匹配,不匹配应在下载前拒绝。操作要留在审计里:谁对哪一批设备、在什么时候、下发了哪一版。批量任务应能暂停,并报告尚未开始、进行中和已失败的设备,而不是只给一个总进度条。维护时段、分批扩大和回退策略是任务的约束,不是事后补的说明。设备若长期离线,任务要有到期,避免它在几个月后醒来执行已经过时的变更。

任务成功和业务可用被当成一回事

下载进度结束就被记成成功,设备其实没有重启,或重启后跑的仍是旧版本。配置写入成功但应用没有重新加载,平台读到的期望和设备实际行为不一致。新版本能上报心跳,关键外设初始化失败,业务已经不可用,统计却是全部成功。回退只改了平台上的目标版本,没有真正把旧内容送回设备。两份任务同时改同一组参数,后写的把先写的覆盖,记录里却都是成功。失败设备被排除出分母,成功率只统计“还在线并且没报错”的那些。签名失败后允许跳过,任务状态仍前进。离线设备在任务关闭之后才上线并执行旧任务,造成一次没有窗口、没有审批的变更。用业务告警消失来代替版本核对,告警规则刚好在这次发布里被放宽,看起来像升级“治好”了故障。任务关闭前应抽查一台设备上报的实际版本或实际参数,而不是只看汇总进度。

相关术语

返回设备管理平台专业术语