ESP32 使用 Arduino 实现 OTA 更新

本教程详细介绍了如何使用库为ESP32开发板实现无线(OTA)更新。通过创建网络服务器,可以在不依赖串行连接的情况下上传新固件和文件到ESP32。内容涵盖了OTA更新的概念、库的使用方法、基本示例代码、固件及文件系统的.bin文件上传步骤,以及如何通过ArduinoIDE的ESP32UploaderPlugin上传SPIFFS文件。

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

在本指南中,您将学习如何使用库对 ESP32 开发板进行无线 (OTA) 更新。 该库创建了一个网络服务器,允许您将新固件(新 sketch)上传到您的电路板,而无需在 ESP32 和您的计算机之间建立串行连接。

此外,使用此库,您还可以将新文件上传到 ESP32 文件系统 (SPIFFS)。该库非常易于使用,并且与我们经常用于构建 Web 服务器项目的库兼容。

概述

OTA 编程

OTA(空中下载)更新是使用 Wi-Fi 连接而不是串行通信将新固件加载到 ESP32 开发板的过程。在无法物理访问 ESP32 板的情况下,此功能非常有用。

有不同的方式来执行 OTA 更新。在本教程中,我们将介绍如何使用库来做到这一点。在我们看来,这是执行 OTA 更新的最佳和最简单的方法之一。

库文件

OTA Web 更新程序工作原理

库安装

基本示例

插入您的网络凭据,代码应立即生效:

代码分解

访问网络服务器

上传代码到板子后,以115200的波特率打开串口监视器,按下ESP32板载RST按钮。它应该显示 ESP IP 地址如下(你的可能不同):

在本地网络中,打开浏览器并输入 ESP32 IP 地址。您应该可以访问显示一些文本的根 (/) 网页。

上传新固件 OTA(无线)更新

您通过 OTA 上传的每个文件都应为 .bin 格式。您可以使用 Arduino IDE 从您的 sketch 中生成一个 .bin 文件。

打开 sketch 后,您只需转到 Sketch > Export Compiled Binary。 .bin 文件将从您的 sketch 中生成。生成的文件将保存在您的项目文件夹下。

示例

让我们看一个实际的例子。想象一下,在上传之前的 sketch 后,您想上传一个新的 sketch,该 sketch 允许您通过像 ESP32 网络服务器控制输出 ,这样的 Web 界面来控制 LED。以下是您需要遵循的步骤:

因为我们还为这个新的 Web 服务器添加了 OTA 功能,所以如果需要,我们将来可以上传新的 sketch。您只需要转到 ESP32 IP 地址。

将文件上传到文件系统 OTA(无线)更新

ESP32 文件系统上传插件

在继续之前,您需要在 Arduino IDE 中安装 ESP32 Uploader Plugin。在继续之前按照下一个教程进行操作:在 Arduino IDE 中安装 SPIFFS 文件系统上传插件

SPIFFS 文件的 Web 服务器

更新固件

从此 sketch 创建一个 .bin 文件,如前所示(此草图包括提供 OTA 功能所需的代码行)。

转到 /update后的 ESP32 IP 地址并上传新固件。

接下来,我们将看到如何上传文件。

更新文件系统

在项目文件夹下,创建一个名为 data 的文件夹并粘贴以下 HTML、CSS 和 JavaScript 文件(单击链接下载文件)。

要找到您的项目文件夹,您只需转到 Sketch > Show Sketch Folder

这是您的数据文件夹应位于的位置及其外观:

在此之后,将 ESP32 与您的计算机断开连接(这是 OTA 的全部目的),单击 ESP32 Data Sketch Upload

详情参阅 - 亚图跨际

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值