此处固件升级,是产品级别的固件升级管理。客户可对产品下的批量设备继续固件OTA升级的策略配置。客户可管理不同产品的不同版本固件的升级信息。客户可根据固件类型进行筛选,区分系统固件、模组固件、MCU固件。
升级流程,由上传固件,固件验证、配置发布策略,查看发布状态等步骤组成,时序图如下:
关键名词 | 数据类型 | 生成规则 | 说明 |
---|---|---|---|
产品版本名称 | 字符串 | 用户自定义 | 平台用于描述基于产品级别的固件整包的名称 |
产品版本号 | 正整数 | 平台自增 | 平台产品级别的固件整包的唯一版本号,最小值为1,开发平台基于该版本号进行固件版本管理,平台做设备版本比对时,仅关注该版本号 |
模块编号/插件编号 | 1-100正整数 | 用户自定义 | 一个产品版本下,可以支持多个(插件/模块)固件包的管理、维护,对于硬件开发者而言,它是用户开发的插件或模块对应的串口编号,唯一不可重复,0为开放平台默认保留的通讯模组编号 |
软件版本号 | 字符串 | 用户自定义 | 产品版本下模块/插件对外显示的版本号,也是设备端用来校验设备是否需要进行固件升级的版本号,建议格式:Vx.y.z |
硬件版本号 | 字符串 | 用户自定义 | 固件所属硬件的版本号,非必填 |
针对MCU和SoC方案的通信模组以及MCU部分,区分不同的升级处理步骤:
开发方案 | 固件类型 | 固件来源 | 产品版本 | 说明 |
---|---|---|---|---|
MCU方案 | 模组+MCU | 1、模组固件来源clife。2、MCU固件客户自行上传。 | 统一由客户定义 | 1、模组固件,无需上传固件,系统验证,自行发布。2、MCU固件客户自定义上传,可系统或自行线下验证,并进行发布。 |
SoC方案 | 模组 | 由客户自行上传 | 客户定义 | 由客户上传固件,可系统或自行线下验证,并进行发布 |
固件的OTA升级,根据不同的开发方案,区分固件通信模块、MCU、系统等不同类型,客户需填写产品版本号,以及各模块的内部版本号,支持上传固件程序文件包或者下载链接。上传的固件状态区分待验证、验证中、验证完成、已发布,对应的操作如下:
固件升级状态 | 可操作按钮 |
---|---|
待验证 | 验证,删除 |
验证中 | 修改验证,查看验证,删除 |
验证完成 | 发布,删除 |
已发布 | 查看批次,删除 |
独立MCU方案方案产品,通信模组的固件,可选择升级或不升级,升级则自动拉取平台的最新固件版本,MCU升级则由客户自定义上传MCU模块的名称、编号、软件版本号、硬件版本号以及固件包:
SoC方案产品,通信模组的固件,可选择升级或不升级,升级则由客户自定义上传的最新固件,同时可以上传其他升级插件包,需定义插件的名称、编号、软件版本号、硬件版本号以及固件包:
上传固件后,可以查看固件,修改验证,查看验证以及修改验证中估计,且上传的固件必须经过验证环节才能发布,C-Life平台支持系统认证和客户线下自行认证,验证支持客户输入或者导入指定的设备物理地址(SN码/Mac地址/IMEI)。
验证中的设备各个升级状态,均支持查看,包括升级后的版本,状态以及验证时间。
固件在验证完成之后,则进入可发布状态,固件的发布支持多种升级方式,并可自由配置升级的设备对象、升级时间、升级次数等升级测量规则。
升级状态 | 升级内容区别 | 升级范围 |
---|---|---|
普通升级 | 用户可感知,升级触发时用户可以在app上查看到升级提醒,确认后才能升级 | 全部设备、指定设备 |
强制升级 | 用户可感知,在app上查看到升级提示,无需确认自动开始升级 | 全部设备、指定设备 |
静默升级 | 用户无感知,无需确认,设备主动请求升级 | 全部设备、指定设备 |
推送升级 | 用户无感知,无需确认,平台主动推送下发升级到设备(需配置升级策略) | 指定设备 |
固件包可以进行多次针对不同设备的升级推送,形成不同的升级批次。C-Life平台支持查看批次以及批次下升级的设备详情。
批次下设备的升级详情,可查看批次的上传、发布时间、升级方式、升级访问,同时可查看此批次下每个具体设备ID升级状态,升级具体日志等详细信息。