1、基本流程
1)激活升级任务
激活方式:操作NB模组主动向IoT平台上报一包CoAP协议的任意数据。上报数据成功且NB模组回复“OK”后,等待NB模组向MCU发送“FIRMWARE DOWNLOADING”信息。
2)下载固件阶段
升级任务激活后,当NB模组发出“FIRMWARE DOWNLOADING”信息时表明正在下载固件;此时NB模组不能断电,且MCU不能向NB模组发送任何数据。若下载完成后,NB模组会发出“FIRMWARE DOWNLOADED”信息。若下载过程中出现异常而导致下载失败或者校验失败,NB模组将会向 MCU 发送“FIRMWARE DOWNLOAD FAILED”,指示下载升级包失败。之后模组向 MCU 发送“FIRMWARE UPDATE OVER”,表示 FOTA 任务结束,此时NB模组内的固件仍保持老版本不变,MCU 可以正常处理业务。
3)升级固件阶段
下载升级包完成且校验成功后,NB模组向MCU 发送“FIRMWARE UPDATING”表明NB模组正在更新固件;此时NB模组不能断电,且MCU不能向NB模组发送任何数据。
4) 恢复网络阶段
若升级成功,NB模组向MCU发送“FIRMWARE UPDATE SUCCESS”。IoT平台下发指令停止FOTA 升级任务,当NB模组向MCU 发送“FIRMWARE UPDATE OVER”,表示FOTA 升级任务结束。此时NB模组固件为升级后的新版本,MCU 可以正常处理业务。若升级失败,NB模组向MCU 发送“FIRMWARE UPDATE FAILED”。IoT服务器查询失败原因并停止FOTA 升级任务,当NB模组向MCU 发送“FIRMWARE UPDATE OVER” 表示FOTA 升级任务结束。此时模组的固件保持升级前的老版本不变,MCU 可以正常处理业务。
2、升级过程截图
3、MCU操作的流程参考图
4、注意事项
1) FOTA升级过程中MCU不可以向模组发任何AT指令。 2)FOTA升级过程中要确保模组的供电稳定,不能出现断电现象。 3)当MCU收到“FIRMWARE UPDATEOVER”时,MCU一定要继续等待一会(20s左右),此操作是为了确保IoT平台侧能成功显示FOTA升级成功或失败的状态。 4)当NB模组FOTA升级完成后,MCU要对NB模组的报文开关进行重新配置,因为这些报文开关配置后是不保存的,NB模组复位后就不再有效,列举以下指令: 4.1:AT+CMEE=1 //开启错误提示 4.2:AT+CSCON=1 //开启连接状态通知 4.3:AT+NNMI=1 //开启下行数据通知(此处不开启,MCU收不到平台下发给模组的数据)
|