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

1、升级策略
    从前面对Bootloader的分析中,我们知道ESP32的OTA升级基本上也是可靠的,可靠的意思是即使升级失败,写入IMAGE不完整,设备还是可以用的。

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

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

3、下载及升级
下载就比较简单了,自己构建服务器,目前各种云托管服务也很方便。
升级写入文件ESP32有一些自己的API,可以帮助我们简化一些逻辑。
https://esp-idf.readthedocs.io/en/latest/api-reference/system/ota.html?highlight=ota
 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值