OTA配置指引
2. OTA配置指引
#2.1 固件信息层级
#2.2 不同升级规则对于版本状态的反应
虽然一个固件下有很多版本,但由于不同版本配置的升级规则不同(有白名单、灰度、全网等),导致不是所有版本都会被用户所升级,为了方便查看,平台取版本最新一条升级规则作为版本的状态(比如一个版本状态是白名单,说明这个版本还在内部开发中,没有对外发布)
具体版本状态的业务演变如下:
#2.3 不同版本类型对升级规则的影响
常规版本:作为默认的版本类型,遵循“同一固件识别码中低版本向高版本升级“的规则。 (比如后台发布了1.0、2.0、3.0三个固件版本,用户手里是1.0,则联网后会升级到3.0)
必经版本:在固件迭代过程中,因为对某个版本做了重构,导致低版本不能直接升级到后面的版本,而是必须先升级到当前这个重构版本。 (比如后台发布了4.0、5.0、6.0、7.0、8.0,其中6.0是必经版本,其余都是常规版本,此时如果用户手里是4.0,则会先升级到6.0,再升级到8.0;如果用户手里是6.0或7.0,则会直接升级到8.0)
忽略版本:针对某些已经进入市场的历史版本,可能因为不值得维护,或版本过于特殊,决定不让它参与后续的升级,同时也不允许其他版本升级到它 (比如后台发布了9.0、10.0、11.0,其中10.0是忽略版本,其余都是常规版本,此时如果用户手里是9.0,则会升级到11.0;如果用户手里是10.0,则不会升级)
#2.4 不同升级指令的区别
#2.5 平台操作指引
(1) 找到“固件管理”模块,选择对应的模组或电控固件管理入口,新建固件
(2) 点击对应固件列表中的“查看版本”,新建一个固件版本
升级停机时长: 由于受设备不同方案的影响,每台设备在升级时影响用户使用的时间会不一样;
“单分区电控”:在固件传输过程中设备无法使用,用时较长; “双分区电控”:下载、传输过程中不影响使用,仅在固件重启的短暂十几秒钟影响使用; “压缩类固件”:由于需要解压,重启安装时间会较长。
因此每位开发者在创建固件版本时,需要根据实际测试结果,录入该版本升级过程中影响用户使用的时间,以便于APP侧给予用户准确 的体验预期
(3) 点击“查看版本详情,确认固件版本的信息无误(如果是海外固件则需要包括多语言)
(4) 点击固件版本详情中的“升级规则管理”,新建升级规则
(5) 在固件版本详情-升级规则管理中,往右拖动滚动条可见固件升级结果
字段解释
字段名 | 字段说明 | 备注 |
---|---|---|
升级规则ID | 创建升级规则时系统自动分配,仅用于区分不同的升级规则 | 默认按照创建时间排序,最近创建的规则在最前 |
控端 | 海外电控OTA只能选择MsmartHome(国际美居)和TsmartLife(国际东芝) | |
覆盖设备数 | 白名单发布:等于填写的SN数量 灰度发布:等于填写的灰度设备总数 全网发布:显示“全网” 未发布:显示“/” | |
升级规则 | 等待结果返回:云端给设备发送升级包,但未返回结果 升级成功:设备返回升级后的正确版本号 升级失败:设备返回失败日志 无需升级:设备版本号≥推送版本号 |
#2.6 关于差分升级的冲突检测
为确保每台设备都能准确升级到目标版本,我们会对以下情况进行检测,比如: 假设某个固件下已经配置了版本000005,且包含三个差分包,分别是000001→000005、000002→000005、000004→000005
随后如果再创建一个版本000006,且包含差分包000001→000006
此时我们发现,000001版本同时被两个高级版本指定了(000005和000006),为了避免这种情况出现,我们会在发布000006版本的时候提示以下冲突:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具