随笔 - 2649  文章 - 2452  评论 - 0  阅读 - 80424

OTA配置指引

2. OTA配置指引

#2.1 固件信息层级

p1

#2.2 不同升级规则对于版本状态的反应

虽然一个固件下有很多版本,但由于不同版本配置的升级规则不同(有白名单、灰度、全网等),导致不是所有版本都会被用户所升级,为了方便查看,平台取版本最新一条升级规则作为版本的状态(比如一个版本状态是白名单,说明这个版本还在内部开发中,没有对外发布)
具体版本状态的业务演变如下:
p2

#2.3 不同版本类型对升级规则的影响

p3

常规版本:作为默认的版本类型,遵循“同一固件识别码中低版本向高版本升级“的规则。 (比如后台发布了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 不同升级指令的区别

p11

#2.5 平台操作指引

(1) 找到“固件管理”模块,选择对应的模组或电控固件管理入口,新建固件 p4 p5

(2) 点击对应固件列表中的“查看版本”,新建一个固件版本 p13

升级停机时长: 由于受设备不同方案的影响,每台设备在升级时影响用户使用的时间会不一样;

“单分区电控”:在固件传输过程中设备无法使用,用时较长; “双分区电控”:下载、传输过程中不影响使用,仅在固件重启的短暂十几秒钟影响使用; “压缩类固件”:由于需要解压,重启安装时间会较长。

因此每位开发者在创建固件版本时,需要根据实际测试结果,录入该版本升级过程中影响用户使用的时间,以便于APP侧给予用户准确 的体验预期 p6 p7

(3) 点击“查看版本详情,确认固件版本的信息无误(如果是海外固件则需要包括多语言) p8

(4) 点击固件版本详情中的“升级规则管理”,新建升级规则 p9 p10

(5) 在固件版本详情-升级规则管理中,往右拖动滚动条可见固件升级结果 p12

字段解释

字段名 字段说明 备注
升级规则ID 创建升级规则时系统自动分配,仅用于区分不同的升级规则 默认按照创建时间排序,最近创建的规则在最前
控端 海外电控OTA只能选择MsmartHome(国际美居)和TsmartLife(国际东芝)
覆盖设备数 白名单发布:等于填写的SN数量 灰度发布:等于填写的灰度设备总数 全网发布:显示“全网” 未发布:显示“/”
升级规则 等待结果返回:云端给设备发送升级包,但未返回结果 升级成功:设备返回升级后的正确版本号 升级失败:设备返回失败日志 无需升级:设备版本号≥推送版本号

#2.6 关于差分升级的冲突检测

为确保每台设备都能准确升级到目标版本,我们会对以下情况进行检测,比如: 假设某个固件下已经配置了版本000005,且包含三个差分包,分别是000001→000005、000002→000005、000004→000005

p14

随后如果再创建一个版本000006,且包含差分包000001→000006 p15

此时我们发现,000001版本同时被两个高级版本指定了(000005和000006),为了避免这种情况出现,我们会在发布000006版本的时候提示以下冲突: p16

posted on   AtlasLapetos  阅读(60)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· 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工具
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示