ESP32那些事儿(九):功能开发之OTA功能

本文介绍了ESP32的OTA(Over-the-Air)升级策略,采用后台静默强制升级方式,确保设备即使升级失败也能正常使用。通过服务器记录设备下载和版本信息来监控升级状态。在系统每次重启并联网后检查新版本,节省资源。使用ESP32自带的API简化下载和升级过程。
1、升级策略
    从前面对Bootloader的分析中,我们知道ESP32的OTA升级基本上也是可靠的,可靠的意思是即使升级失败,写入IMAGE不完整,设备还是可以用的。

    对于OTA升级,大家印象比较深刻的就是Android手机的升级,Android手机的升级确实是比较完善和健壮的,对于IOT设备来说,也没有差分Image的机制,所以只要简单有效即可。
    后来我们确定的方案就是后台静默强制升级,设备连上网后,只有检查有新版本,就会在后台强制升级,对用户来讲是无感的。

    那这时候就会有另外一个问题,通常这种设备和用户的交互非常有限,既没有与界面,又没有按键声音这些复杂的提醒等操作,那如何知道一个设备是什么版本,设备升级是否成功呢?我们的解决方法是在服务器端记录。
    1、在某一台设备开始HTTP下载的时候做一下记录,那么就知道某个设备下载了那个版本;
    2、同时在检查新版本的请求中,带上目前版本号,服务器记住设备的MAC地址和目前的版本,那我们就知道那些版本有那些设备升级成功了,同时也知道最新的版本有哪些设备升级成功了。
    OK,实验证明整体策略简单有效!我写的比较简略,大家也可以一起探讨。
    
2、版本比对
为了节省资源,可以在系统每一次重启,并且成功联网后,检查是否有新版本。

3、下载及升级
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值