【华为云技术分享】【我的物联网成长记16】玩转设备固件升级
【摘要】 固件升级又称为FOTA(Firmware Over The Air),是指用户可以通过OTA的方式对支持LWM2M协议的设备进行固件升级。
固件升级流程
固件(Firmware)一般是指设备硬件的底层“驱动程序”,承担着一个系统最基础最底层工作的软件,比如计算机主板上的基本输入/输出系统BIOS(Basic Input/output System)。
固件升级又称为FOTA(Firmware Over The Air),是指用户可以通过OTA的方式对支持LWM2M协议的设备进行固件升级,固件升级协议为LWM2M协议。FOTA流程如下图所示:
1~2. 用户在设备管理服务的控制台上传固件包,并在控制台或者应用服务器上创建固件升级任务。
3. NB-IoT设备上报数据,平台感知设备上线,触发升级协商流程。
4~5. 物联网平台向设备下发查询设备固件版本的命令,查询成功后,物联网平台根据升级的目标版本判断设备是否需要升级。
- 如果返回的固件版本信息与升级的目标版本信息相同,则升级流程结束,不做升级处理。
- 如果返回的固件版本信息与升级的目标版本信息不同,则继续进行下一步的升级处理。
-
查询成功:则根据如下方式计算可同时升级的并发数计算,并按照步骤9进行处理。
如下图所示,如果设备的RSRP强度和SINR强度均落在等级“0”中,则同时可以对该小区的50个相同信号覆盖区间的设备进行同时升级。
如果设备的RSRP强度和SINR强度分别落在等级“0”和“1”中,则以信号较弱的等级“1”为准,则只能同时对该小区的10个设备进行升级。
如果设备的RSRP强度和SINR强度分别落在等级“1”和“2”中,则以信号较弱的等级“2”为准,则只能同时对该小区的1个设备进行升级。
如果设备的RSRP强度和SINR强度不在该3个等级范围内,且均可以查询到,则按照信号最弱覆盖等级“2”处理,则只能同时对1个设备进行升级。
- 如果用户在固件升级中发现同时进行升级的设备数较少,则可以联系当地运营商检查和优化设备所在小区的无线覆盖情况。
- 查询失败:则按照流程步骤8进行处理。
- 如果查询成功:物联网平台支持同时对该小区的10个相同情况的设备进行固件升级。
- 如果查询失败:则升级失败。
9. 物联网平台向设备订阅固件升级的状态。
10~11. 物联网平台向设备下发下载固件包的URL地址,通知设备下载固件包。终端设备根据该URL地址下载固件包,固件包的下载支持分片下载,下载完成后,设备知会物联网平台固件包已下载完毕。
12~13. 物联网平台向设备下发升级的命令,终端设备进行升级操作,升级完成后终端设备向物联网平台反馈升级结束。
14~16. 物联网平台下发命令查询固件升级的结果,获取升级结果后,向终端设备取消订阅升级状态通知,并向控制台应用服务器通知升级的结果。
华为云物联网平台支持通过图形化控制台一键对一个或者多个设备进行固件升级,详情可参考设备管理服务的帮助中心。
固件升级常见问题
Q:目标版本可以比当前版本低吗?
A:可以。物联网平台会判断目标版本和当前版本是否一致:如果一致,任务详情显示“The current version is the same as the target version”,物联网平台不会发起升级任务;如果不一致,物联网平台则会启动升级任务。
Q:固件包及其版本号如何获取?
A:固件升级包及其版本号需向模组厂家获取。
Q:固件升级任务中,业务处理是否会中断?
A:会中断。模组/芯片升级过程中无法处理业务(数据上报、属性修改等)。
作者:华为云专家 我是卤蛋