ESP32 包含一个串行外设接口闪存文件系统 (SPIFFS)。SPIFFS 是为带有闪存芯片的微控制器创建的轻量级文件系统,它通过 SPI 总线连接,如 ESP32 闪存。在本文中,我们将展示如何使用 Arduino IDE 插件轻松地将文件上传到 ESP32 文件系统。
目前,这与 Arduino 2.0 不兼容。
目录
介绍 SPIFFS
SPIFFS 让您可以像在计算机中的普通文件系统中一样访问闪存,但更简单且更受限制。您可以读取、写入、关闭和删除文件。在撰写本文时,SPIFFS 不支持目录,因此所有内容都保存在平面结构中。
将 SPIFFS 与ESP32 板结合使用对以下情况特别有用:
- 使用设置创建配置文件;
- 永久保存数据;
- 创建文件以保存少量数据,而不是使用 microSD 卡;
- 保存 HTML 和 CSS 文件以构建 Web 服务器;
- 保存图像、图形和图标;
- 以及更多。
使用 SPIFFS,您可以将 HTML 和 CSS 编写在单独的文件中,并将它们保存在 ESP32 文件系统中。
安装 Arduino ESP32 文件系统上传器
您可以自己在 Arduino IDE 上编写代码来创建、保存和写入文件到 ESP32 文件系统。这不是很实用,因为必须在 Arduino 程序中输入文件的内容。
幸运的是,有一个适用于 Arduino IDE 的插件,可让您将文件从计算机上的文件夹直接上传到 ESP32 文件系统。这使得处理文件变得非常容易和简单。让我们安装它。
注意:在撰写本文时,Arduino 2.0 不支持 ESP32 Filesystem Uploader 插件。
首先,确保您有适用于 Arduino IDE 的 ESP32 插件。如果您不这样做,请按照下一个教程进行操作:
Windows说明
如果您使用的是 Windows,请按照以下步骤安装文件系统上传器:
1)进入发布页面,点击 ESP32FS-1.0.zip文件下载。
2)找到您的 Sketchbook 位置。在您的 Arduino IDE 中,转到File > Preferences并检查您的 Sketchbook 位置。比如我的电脑它位于以下路径中:C:UserssarinDocumentsArduino.
3)转到文档Arduino位置,并创建一个tools文件夹。
4)解压下载的.zip文件夹。打开它并将ESP32FS文件夹复制到您在上一步中创建的工具文件夹中。您应该具有类似的文件夹结构:
<Sketchbook-location>/tools/ESP32FS/tool/esp32fs.jar
5)最后,重新启动您的 Arduino IDE。
要检查插件是否已成功安装,请打开您的 Arduino IDE。选择您的 ESP32 板,转到工具并检查您是否有“ ESP32 Sketch Data Upload ”选项。
macOS X
如果您使用的是 MacOS X,请按照以下说明进行操作。
1)进入发布页面,点击 ESP32FS-1.0.zip文件下载。
2)解压文件。
3)在/Documents/Arduino/中创建一个名为tools的文件夹.
4)将解压后的ESP32FS文件夹复制到tools目录下。您应该具有类似的文件夹结构。
~Documents/Arduino/tools/ESP32FS/tool/esp32fs.jar
5)最后,重新启动您的 Arduino IDE。
要检查插件是否已成功安装,请打开您的 Arduino IDE。选择您的 ESP32 板,转到工具并检查您是否有“ ESP32 Sketch Data Upload ”选项。
使用文件系统上传器上传文件
要将文件上传到 ESP32 文件系统,请按照以下说明进行操作。
1)创建一个Arduino程序并保存。出于演示目的,您可以保存一个空程序。
2)然后,打开程序文件夹。你可以去Sketch > Show Sketch Folder。保存程序的文件夹应该打开。
3)在该文件夹中,创建一个名为data的新文件夹。
4)在data 文件夹中,您应该将要保存的文件放入 ESP32 文件系统中。例如,创建一个.txt文件,其中包含一些名为test_example的文本。
5)然后,要上传文件,在 Arduino IDE 中,您只需转到Tools > ESP32 Sketch Data Upload。
上传器将覆盖您已经保存在文件系统中的任何内容。
注意:在某些 ESP32 开发板上,您需要在看到“connecting…….____……”消息时按下板载BOOT按钮。
当您看到“ SPIFFS Image Uploaded ”消息时,文件已成功上传到 ESP32 文件系统。
测试上传器
现在,让我们检查文件是否实际保存到 ESP32 文件系统中。只需将以下代码上传到您的 ESP32 开发板:
上传后,以 115200 的波特率打开串口监视器。按下 ESP32 的“ ENABLE / RST ”按钮。它应该在串行监视器上打印.txt文件的内容。
您已使用插件成功将文件上传到 ESP32 文件系统。
总结
使用文件系统上传器插件是将文件上传到 ESP32 文件系统的最简单方法之一。可以在本站中搜索其它相关的项目,了解如何使用存储在文件系统中的 HTML 和 CSS 文件构建 Web 服务器。
另一种永久保存数据的方法是使用 ESP32 Preferences 库。将数据作为键:值对保存在闪存中特别有用。可以在本站中搜索相关教程。
[…] ESP32:在 Arduino IDE 中安装 SPIFFS FileSystem Uploader 插件 […]
Arduino 2.0 以后是不是都不支持 ESP32 Filesystem Uploader 插件了?