# 固件OTA配置与发布

# 1. 固件信息层级

p1

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

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

# 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,则不会升级)

# 4. 不同升级指令的区别

p11

# 5. 平台操作指引

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

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

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

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

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

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

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

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

字段解释

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

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

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

p14

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

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

# 7. OTA测试

OTA测试需要登录到IoT开发者平台测试环境。

前提条件:

1、注册并登录测试环境IoT开发者平台:https://open-fat.smartmidea.net/#/work/index(可以联系美的方对接人开通权限)

2、测试设备在测试环境美居app完成配网

按照上述OTA配置步骤,在测试环境配置OTA固件发布。

最后修改于: 2025-04-15