在本指南中,您将学习如何使用库对 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 使用 Arduino 实现 OTA 更新相关推荐

  1. ESP32 通过HTTPS进行OTA更新固件(在platform上进行编码)

    ESP32 通过HTTPS进行OTA更新固件(在platform上进行编码) 目录 ESP32 通过HTTPS进行OTA更新固件(在platform上进行编码) 1.OTA技术 简介 2.本章介绍 3 ...

  2. 嵌入式Linux的OTA更新,基础知识和实现

    嵌入式Linux的OTA更新,基础知识和实现 OTA updates for Embedded Linux, Fundamentals and implementation 更新的需要 一旦嵌入式Li ...

  3. 嵌入式linux 升级,嵌入式Linux的OTA更新,基本原理和实现

    需要更新 一旦嵌入式Linux产品离开实验室并进入现实世界,如何更新设备的问题就变得至关重要. 更新并非总是必要的,但是很难想到没有某个漏洞的软件.即使您的软件是完美的,但是如果设备通过任何开放源代码 ...

  4. android ota更新app,企业 OTA 更新  |  Android 开源项目  |  Android Open Source Project

    Android 兼容性定义文档 (CDD) 可更新软件要求设备实现 SystemUpdatePolicy 类.SystemUpdatePolicy 可让设备所有者 (DO) 应用(如果存在)控制系统更 ...

  5. ESP32基于arduino开发的心跳体温检测系统(一)项目介绍及准备

    本文为被北邮信息系统设计课程摧残的同学们(包括但不限于作者的室友)提供一个可行的方案及模板. 本项目使用Arduino作为开发环境,使用ESP32开发一个心跳体温检测系统. 系统通过心跳传感器--pu ...

  6. 嵌入式linux ota,嵌入式Linux的OTA更新,基础知识和实现

    嵌入式Linux的OTA更新,第1部分-基础知识和实现 OTA updates for Embedded Linux,  Fundamentals and implementation 更新的需要 一 ...

  7. 嵌入式linux ota,嵌入式Linux的OTA更新,基本原理和实现

    嵌入式Linux的OTA更新,基本原理和实现 [复制链接] 需要更新 一旦嵌入式Linux产品离开实验室并进入现实世界,如何更新设备的问题就变得至关重要. 更新并非总是必要的,但是很难想到没有某个漏洞 ...

  8. (9)Android之路====Android系统OTA更新

    本次介绍Android OTA更新,AOSP官方教程的地址是:https://source.android.google.cn/devices/tech/ota/ 另外可以参考:https://blo ...

  9. android OTA更新

    Android OTA更新 ​ ​ ​ ​  Android设备可以接受和安装系统和应用软件的空中下载更新.设备有一个特殊的带有软件的recovery分区,该分区可以解压下载的更新包并且将他们应用到系 ...

最新文章

  1. PHP中的urlencode,rawurlencode和JS中的encodeURI,encodeURIComponent
  2. 14W 行代码量的前端页面长什么样
  3. 邮件服务器“单点登录”功能
  4. ubuntu 10.04   花屏   启动缓慢   处理办法
  5. java 代码锁_Java 锁的知识总结及实例代码
  6. mysql固定某列获取不连续的值_SQL-怎么把一列不规律的值,取出其中连续段的首尾数字?...
  7. 汽车在转型!福特中国的架构实践
  8. java中的命令行参数_Java中的命令行参数
  9. vue+axios上传文件
  10. efi shell的英文介绍_EFI和EFI Shell命令简介
  11. 算法笔记 : 透视变换(透射变换)
  12. 【Materials Studio学习六】构建固液表面
  13. As Error:Failed to find configured root that contains /storage/emulated/0/xxx/xxx/xxx.png
  14. 最短路径 floyd最小环 洛谷2738 篱笆回路 网上题解
  15. 重磅!道翰天琼解密认知智能核心秘密三大核心技术,机器人大脑API平台。
  16. 双显卡只用独显好吗_双显卡怎么切换到独立显卡 双显卡只用独显方法
  17. 解决:fatal: unable to access ‘https://github.com/xxxxxxxxxxxxxxx/‘: Failed to connect
  18. 最终作业 - 软件工程实践总结(个人)
  19. Linux中/dev/ram是什么?
  20. 戒指眼镜蹦迪灯,亚马逊的智能硬件帝国上线了

热门文章

  1. 图片存base64后展示问题
  2. 静态路由 动态路由 默认路由 默认网关
  3. 山东农业大学计算机类男女比例,男女比例_山东农业大学
  4. 道友自诉:入职中软一个月(外包华为)就离职了!
  5. 【Python 爬虫教程】代理ip网站有哪些?
  6. 用迭代公式求x的立方根C语言详解
  7. python里面的pip是什么意思_“pip install”和“python -m pip install”有什么区别?
  8. 情人节礼物------用她的照片和我们的聊天记录生成词云~
  9. maskrcnn selected_polygons.append(self.polygons[i]) IndexError: list index out of range
  10. win10 休眠设置无效_windows10系统电脑点击睡眠没反应的解决方法