注:本文代码来自于太极创客团队: www.taichi-maker.com,由于太极创客的教程是基于esp8266,所以略有改动
闪存文件写入
#include "SPIFFS.h"
String file_name = "/notes.txt"; //被读取的文件位置和名称
void setup() {
Serial.begin(115200);
Serial.println("");
if(SPIFFS.begin()){ // 启动SPIFFS
Serial.println("SPIFFS Started.");
} else {
Serial.println("SPIFFS Failed to Start.");
}
File dataFile = SPIFFS.open(file_name, "w");// 建立File对象用于向SPIFFS中的file对象(即/notes.txt)写入信息
dataFile.println("Hello IOT World. And for extend the length of file, I write this."); // 向dataFile写入字符串信息
dataFile.close(); // 完成文件写入后关闭文件
Serial.println("Finished Writing data to SPIFFS");
}
void loop() {
}
代码中已添加注释,不在赘述需要注意的是,8266里面可以在根目录下创建目录,而32是不可以的,只能以Arduino IDE 的上传的方式上传目录,效果图
闪存文件读取
#include "SPIFFS.h"
String file_name = "/notes.txt"; //被读取的文件位置和名称
void setup() {
Serial.begin(115200);
Serial.println("");
if(SPIFFS.begin()){ // 启动闪存文件系统
Serial.println("SPIFFS Started.");
} else {
Serial.println("SPIFFS Failed to Start.");
}
//确认闪存中是否有file_name文件
if (SPIFFS.exists(file_name)){
Serial.print(file_name);
Serial.println(" FOUND.");
} else {
Serial.print(file_name);
Serial.print(" NOT FOUND.");
}
//建立File对象用于从SPIFFS中读取文件
File dataFile = SPIFFS.open(file_name, "r");
//读取文件内容并且通过串口监视器输出文件信息
for(int i=0; i<dataFile.size(); i++){
Serial.print((char)dataFile.read());
}
//完成文件读取后关闭文件
dataFile.close();
}
void loop() {
}
下面是一个错误的实例串口输出,由于不可以创建目录,所以找不到文件
闪存文件删除
#include <SPIFFS.h>
String file_name = "/notes.txt"; //被读取的文件位置和名称
void setup() {
Serial.begin(115200);
Serial.println("");
if(SPIFFS.begin()){ // 启动闪存文件系统
Serial.println("SPIFFS Started.");
} else {
Serial.println("SPIFFS Failed to Start.");
}
//从闪存中删除file_name文件
if (SPIFFS.remove(file_name)){
Serial.print(file_name);
Serial.println(" remove sucess");
} else {
Serial.print(file_name);
Serial.println(" remove fail");
}
if (SPIFFS.exists(file_name)){
Serial.print(file_name);
Serial.println(" FOUND.");
} else {
Serial.print(file_name);
Serial.print(" FILE WAS REMOVED!");
}
}
void loop() {
}
串口显示已经移除了文件
从Arduino IDE 上传文件
在搭建网络服务器时,需要的数据量是非常大而多的,这时可以从IDE上传文件到闪存文件系统,由于本人能力有限,在这里给出太极创客的教程太极创客-使用IDE上传文件
注意:太极创客使用的是esp8266,所以文中的地址要改为esp32的
点击这个链接从github官方页面下载文件:https://github.com/me-no-dev/arduino-esp32fs-plugin