OneNET FOTA基本流程和注意事项
1. 概述OneNET 平台实现 FOTA 功能,主要是为了满足用户对模组进行远程升级,让集成了模组或含 MCU 的终端设备在现网运行过程中能够实现版本的更新迭代和管理功能。2. 准备工作(1)、 在FOTA升级之前,需要确保设备在OneNET平台上已经成功注册,且能正常发送数据。(2)、 获取NB模组固件升级。(找NB模组厂商获取)(3)、 获取文件校验工具Hash(可在本帖下方下载)
3. FOTA固件升级流程3.1. 在IoT平台创建升级任务3.1.1 群组管理(1)、单击左侧“FOTA升级”应用界面,再点击右上角的“添加FOTA群组”,如图3-2(2)、创建好FOTA群组后,进入绑定界面如图3-6,勾选设备放入统一群组,若没有设备请在平台先注册设备IMEI号。
图3‑1 FOTA升级入口
图3‑2 创建FOTA群组按钮
图3‑3 创建群组
图3‑4 关联设备入口
图3‑5 绑定设备界面
图3‑6绑定设备界面(勾选设备后点击提交修改)
3.1.2 绑定设备(1)、查看绑定信息,查看同一群组中有无版本号不一致,若不一致将会导致无法统一FOTA升级如图3-7。(2)、在图3-7界面可对设备进行添加、删除等基本操作。
图3‑7绑定后的设备信息
3.2. 上传差分包到OneNET平台3.2.1读取固件差分包MD5码(1)、使用Hash工具读取差分包MD5码。如图3-8(2)、模组支持差分包升级,暂不支持完整包的升级。
图3‑8 读取差分包MD5码3.2.2 上传差分包(1)、单击FOTA升级,如图3-9。(2)、选择“固件管理”下的“添加固件版本”,如图3-10。(3)、填写版本号,点击确认。如图3-11(这里需创建模组当前版本和目标版本两个版本)(4)、创建好版本后,单击添加升级包,为目标版本上传差分包。如图3-13(5)、点击确定按钮,提交固件包信息。图3‑9 FOTA升级
图3‑10 新建固件版本
图3‑11添加目标升级的版本号图3‑12 点击添加升级包
图3‑13填写固件相关信息3.2.3 创建固件升级任务3.2.3.1 单个设备创建固件升级任务(1)、OneNet平台无法对单个设备创建固件升级任务,只能对群组进行操作。(2)、如果要对单个设备进行固件升级,请对该设备创建单独群组,然后再对群组进行FOTA升级。(创建步骤请见3.3.1)3.2.3.2 创建批量固件升级(1)、点击FOTA升级,进入FOTA升级界面,点击固件升级如图3-14。(2)、点击升级任务管理,创建升级任务,如图3-15。(3)、填写差分包升级信息,如图3-16。(4)、选择合适的固件包,填写好相关信息,提示任务创建成功,就可看到升级的状态,如图3-18。http://upfiles.heclouds.com/forum-app/2019/01/29/c1f9dbe1183d65f9a40b151ebc0afe19.jpg图3‑14FOTA升级入口http://upfiles.heclouds.com/forum-app/2019/01/29/192b29b303692d446678722d2e44c87c.jpg
图3‑15创建升级任务
图3‑16 选择升级用的差分包
图3‑17 填写FOTA升级信息图3‑18 FOTA升级状态
3.3. 升级固件操作
3.3.1 激活升级任务 激活方式:操作NB模组主动向IoT平台上报一包任意数据。(注:由于平台原因,有时需上报多次数据才能激活FOTA升级,测试中最多上报数据次数不超过10次均能激活FOTA)上报数据成功且NB模组回复“OK”后,模组会打印“+MIPLEVENT:0,40”信息,表示开始下载差分包。3.3.2 下载固件阶段(1)、升级任务激活后,当NB模组发出“+MIPLEVENT:0,40”信息时表明开始下载差分包;此时NB模组不能断电,且MCU不能向NB模组发送任何数据。(2)、若NB模组会发出“+MIPLEVENT:0,42”信息,则表示下载完成。3.3.3 升级固件阶段下载升级包完成且校验成功后,NB模组发出 “+MIPLEVENT:0,43”表明NB模组开始更新固件;此时NB模组不能断电,且MCU不能向NB模组发送任何数据。3.3.4 恢复网络阶段(1)、若升级成功,NB模组将会自动复位,串口打印复位信息“REBOOT_CAUSE_SECURITY_FOTA_UPGRADE”。IoT平台显示下载完成,升级中。此时NB模组固件为升级后的新版本,MCU 可以正常处理业务。待NB模组联网、登陆平台成功后,平台侧会显示升级完成。(2)、若升级失败,NB模组会自动复位,版本号未变,表示FOTA 升级任务结束。此时模组的固件保持升级前的老版本不变,MCU 可以正常处理业务。3.3.5 升级过程截图(1)、升级固件过程中,NB模组串口发出的数据信息如图3-19。(2)、 升级完成后,通过AT指令读取模组固件版本信息并确认与升级的固件是否一致如图3-20。(3)、升级完成后,在IoT平台FOTA升级页面详情中,会显示升级相关的信息如图3-21。http://upfiles.heclouds.com/forum-app/2019/01/29/162217a8b1cd773b25aef119ac3b39b9.jpg
图3‑19 NB模组串口发出的数据信息
图3‑20升级固件NB模组串口数据信息http://upfiles.heclouds.com/forum-app/2019/01/29/26ed5d7c1985ad5e967682fff899ba93.jpg
图3‑21 NB模组固件升级后的版本信息
图3‑22升级成功后的页面信息4. 注意事项4.1. 上传软件包到IoT平台阶段(1)、 上传的差分包MD5码需正确,否则会校验失败。(2)、 目前模组只支持差分包升级,请勿上传完整包。(3)、平台侧若有升级未完成,手动强制取消的任务请务必删除此失败任务,否则可能会导致FOTA失败。4.2. 固件升级阶段(1)、 激活、下载固件、升级固件等过程,终端不可断电。(2)、 激活、下载和升级固件过程中,不能向模组发“AT+NRB”重启指令。(3)、 升级完成后一定要读取下固件的版本号进行确认升级是否OK。(4)、 建议升级固件完成后一定要上报一包数据和IoT平台进行通信测试。
资料下载地址
页:
[1]