ESP32 OTA升级(一)

本文介绍ESP32 OTA远程升级的具体实现方法,包括本地HTTP服务器搭建、OTA工程配置与验证流程,并提供详细步骤指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ESP32 OTA升级(一)

本文以 examples/system/ota/native_ota_example 为例


前提条件

使用步骤

ESP32模块通过接入wifi,访问同局域网下服务器内固件。

在这里插入图片描述

ESP32的升级需要3块地方的组合:

  • 一是OTA代码部分,这部分需要进行一些必要信息的配置,官方通过python工具idf.py做到对OTA工程代码sdkconfig.h的修改,随后build以及flash进esp32。
    未对代码进行修改的情况下,flash完成后会自动对分区内正在运行的app代码进行验证,同时与服务器端的app代码版本进行对比,不同版本则自动升级,相同版本则进入waiting,等待其他操作。
  • 二是服务器部分(HTTP),测试服务器部分可通过python库 http.server启用。
  • 三是用户app部分,编译完成好的.bin固件存放在http的目录下。
    注意:如果要复用OTA代码,请管理好OTA_TASK以及APP_TASK的生命周期

1.本地http测试服务-python建立

http服务器ip设置

# 在本地建立http的测试服务器
固件存放目录>python -m http.server --bind 192.168.137.1/本地ip 8070/配置端口


2.native_ota_example设置-idf.py menuconfig配置wifi、OTA分区信息

运行指令:

native_ota_example目录>idf.py menuconfig

配置信息:
分区
wifi连接配置

在这里插入图片描述

保存信息:
保存
重新编译及烧录:

native_ota_example目录>idf.py build
native_ota_example目录>idf.py flash monitor

如果下图两处版本不同,flash过程中会自动更新至http服务器内存放的同名固件。相同则不会更新。新旧版本对比逻辑需要自己手动添加,这里不做拓展。
在这里插入图片描述
在这里插入图片描述

若这里idf.py没办法运行,参见 搭建与测试2.

3.升级结果

版本相同:
在这里插入图片描述
版本不同:
在这里插入图片描述


参考资料

  1. ESP32学习笔记-Leung
  2. ESP32空中升级OTA-开源一小步
  3. 官方分区表
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值