1、升级策略
从前面对Bootloader的分析中,我们知道ESP32的OTA升级基本上也是可靠的,可靠的意思是即使升级失败,写入IMAGE不完整,设备还是可以用的。
对于OTA升级,大家印象比较深刻的就是Android手机的升级,Android手机的升级确实是比较完善和健壮的,对于IOT设备来说,也没有差分Image的机制,所以只要简单有效即可。
后来我们确定的方案就是后台静默强制升级,设备连上网后,只有检查有新版本,就会在后台强制升级,对用户来讲是无感的。
那这时候就会有另外一个问题,通常这种设备和用户的交互非常有限,既没有与界面,又没有按键声音这些复杂的提醒等操作,那如何知道一个设备是什么版本,设备升级是否成功呢?我们的解决方法是在服务器端记录。
1、在某一台设备开始HTTP下载的时候做一下记录,那么就知道某个设备下载了那个版本;
2、同时在检查新版本的请求中,带上目前版本号,服务器记住设备的MAC地址和目前的版本,那我们就知道那些版本有那些设备升级成功了,同时也知道最新的版本有哪些设备升级成功了。
OK,实验证明整体策略简单有效!我写的比较简略,大家也可以一起探讨。
2、版本比对
为了节省资源,可以在系统每一次重启,并且成功联网后,检查是否有新版本。
3、下载及升级

本文介绍了ESP32的OTA(Over-the-Air)升级策略,采用后台静默强制升级方式,确保设备即使升级失败也能正常使用。通过服务器记录设备下载和版本信息来监控升级状态。在系统每次重启并联网后检查新版本,节省资源。使用ESP32自带的API简化下载和升级过程。
最低0.47元/天 解锁文章
1067

被折叠的 条评论
为什么被折叠?



