ESP32 使用 Arduino 实现 OTA 更新

在本指南中,您将学习如何使用库对 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

详情参阅 - 亚图跨际

你可能感兴趣的:(ESP32,esp32,arduino,远程更新)