系列文章目录
ESP32WROOM32 DEVKIT_C 物联网学习笔记(1)开发板简介及开发环境-CSDN博客
ESP32WROOM32 DEVKIT_C 物联网学习笔记(2)网络服务器-CSDN博客
目录
前言
在上篇文章中,我们学习了如何搭建一个简单的网络服务器,可以在网页中控制开发板上的LED灯、以及显示开发板的引脚状态信息,初窥物联网。接下来我们学习文件系统。
Q:为什么要用Flash储存文件?
A:开发板在掉电后会损失数据,如果想保存一些数据使其不会随着掉电丢失,可将这些数据储存于Flash中,只需在掉电前将文件写入Flash,上电后读取文件即可。
Q:SPIFFS是什么?
A:Serial Peripheral Interface Flash File System,可称为闪存文件系统。
以下是一些数据(数组,字符串)的读写示例,实际上还可以用于存储网页数据,并在连接至esp32发出的网络服务器时访问这些网页,等等。
更详细的内容参见官方文档:(虽然是Esp8266的,但是Esp32也可参考)
Filesystem — ESP8266 Arduino Core documentation (arduino-esp8266.readthedocs.io)
注意:
1. 依据官方文档:
SPIFFS 目前已弃用,可能会在核心的未来版本中被删除。请考虑将代码移动到 LittleFS。上游开发人员不再积极支持SPIFFS,而LittleFS正在积极开发中,支持真实目录,并且对于大多数操作来说速度快很多倍。
但对于小型系统来说,SPIFFS依旧是够用的(至少对我来说)。
2. SPIFFS有这些缺点:
(1)文件系统是平面的,例如这样的文件名:"/data/wifi.txt",wifi.txt这一文件并不是真正的存在于data这一目录下,我们可以简单视作:我们所指的这个文件,名称就是"/data/wifi.txt"这一字符串。
(2)文件名总共限制为32个字符。一个字符是为C字符串终止保留的,因此我们留下了31个可用字符。
3. 可以利用插件快速的在Arduino IDE中向闪存上传文件,插件可以在github很容易找到。以下内容只是利用代码进行数据的读写。
一、参考资料
本文主要参考自太极创客网站
3-3-1 ESP8266闪存文件系统基本操作 – 太极创客