2. SPIFFS.open //创建或打开文件
参数:
4. SPIFFS.exists("/test.txt") //判断有没有某个文件
SPIFFS.exists("/test.txt");
5. SPIFFS.remove("/test.txt"); //删除某个文件
SPIFFS.exists("/test.txt")
6. SPIFFS.rename("原文件名","新文件名"); //文件重命名
7. SPIFFS.end(); //结束文件系统挂载
3. file.println(""); //往文件中写入一行内容
这个方法有好多个重载, 输入内容的方式比较丰富,可用看一下源码了解一下
4. file.printf(); //写入内容
file.printf("tizhong:%dKG",90);
5. file.find('!'); //在文件中寻找某个char或字符串
返回布尔值!
4. file.findUntil("haha","!"); //在文件中寻找某个char或字符串(遇到某字符串就停止)
返回布尔值!
5. file.close(); //关闭文件
6. file.size(); //文件大小
读模式下能返回文件大小,写模式下返回 -负值文件大小
8. file.readStringUntil(); //读取字符串, 遇到终止符终止, 返回读取字符串
9. file.readBytes(); //读取数据到buf中,
char *buf;
10. file.readBytesUntil('1',buf,15); //读取数据到buf中, 遇到终止符终止
uint8_t *buf;
三. 简单测试
#include <Arduino.h>
#include <SPIFFS.h>
void setup()
{
Serial.begin(115200);
delay(3000);
Serial.println("opening SPIFFS");
while (!SPIFFS.begin())
{
Serial.print("...");
}
Serial.println("SPIFFS OK!");
File file = SPIFFS.open("/test.txt", FILE_WRITE);
if (!file)
{
Serial.println("open file failed");
}
Serial.println(file.print("hello,xiongba!"));
file.println("xiongba,haha");
Serial.println(file.print("hello,xiongba!"));
file.printf("tizhong:%dKG",90);
file.close();
file = SPIFFS.open("/test.txt", FILE_READ);
Serial.print("可用file.available():");
Serial.println(file.available());
Serial.print("test.txt的大小:");
Serial.println(file.size());
Serial.print("读取文件");
String data = file.readString();
Serial.println(data);
Serial.print("寻找字符串");
Serial.println(file.find('!'));
file.findUntil("haha","!");
Serial.println(file.name());
file.close();
Serial.printf("SPIFFS的总体积: %d 字节\r\n", SPIFFS.totalBytes());
Serial.printf("SPIFFS的已用体积: %d 字节\r\n", SPIFFS.usedBytes());
Serial.print("现在存在/test.txt吗:");
Serial.println(SPIFFS.exists("/test.txt"));
Serial.println("现在把/test.txt改名为/test2.txt");
SPIFFS.rename("/test.txt", "/test2.txt");
Serial.print("现在存在/test.txt吗:");
Serial.println(SPIFFS.exists("/test.txt"));
Serial.print("现在存在/test2.txt吗:");
Serial.println(SPIFFS.exists("/test2.txt"));
Serial.println("删除/test2.txt");
SPIFFS.remove("/test2.txt");
Serial.print("现在还存在/test2.txt吗:");
Serial.println(SPIFFS.exists("/test2.txt"));
SPIFFS.end();
}
void loop()
{
}
#include <Arduino.h>
#include <SPIFFS.h>
void setup()
{
Serial.begin(115200);
delay(3000);
Serial.println("opening SPIFFS");
while (!SPIFFS.begin())
{
Serial.print("...");
}
Serial.println("SPIFFS OK!");
File file = SPIFFS.open("/test.txt", FILE_WRITE);
if (!file)
{
Serial.println("open file failed");
}
Serial.println(file.print("hello,xiongba!"));
file.println("xiongba,haha");
Serial.println(file.print("hello,xiongba!"));
file.printf("tizhong:%dKG",90);
file.close();
file = SPIFFS.open("/test.txt", FILE_READ);
Serial.print("可用file.available():");
Serial.println(file.available());
Serial.print("test.txt的大小:");
Serial.println(file.size());
Serial.print("读取文件");
String data = file.readString();
Serial.println(data);
Serial.print("寻找字符串");
Serial.println(file.find('!'));
file.findUntil("haha","!");
Serial.println(file.name());
file.close();
Serial.printf("SPIFFS的总体积: %d 字节\r\n", SPIFFS.totalBytes());
Serial.printf("SPIFFS的已用体积: %d 字节\r\n", SPIFFS.usedBytes());
SPIFFS.end();
}
void loop()
{
}
2. FILE_APPEND模式
File file = SPIFFS.open("/test.txt", FILE_APPEND);
MimiClaw 是一款基于 ESP32-S3 芯片的超轻量级AI助手,适合嵌入式AI与物联网开发者快速部署本地化AI代理。本系列教程基于MimiClaw的Arduino移植版本进行讲解,小节主要讲解部署和测试。
就像我们用手机打开WiFi功能后可以浏览附近的可用WiFi。要将手机连接到热点,通常需要打开Wi-Fi设置应用程序,列出可用的网络,然后选择所需的热点。然后输入密码(或不输入密码),可以使用ESP32进行相同的操作。
本文本介绍配置飞书机器人为MimiClaw的一个输入/输出端,和添加一个控制WS2812与LED的控制技能。
一块 30 块钱的开发板 + 一个大模型 API,就能做出可以听懂人话的智能硬件。 本文记录完整安装过程和踩坑经验,确保你跟着做就能跑通。
本文将从手绘架构图入手,逐层拆解 MimiClaw 的分层设计、核心模块、数据流转与底层实现,带你解剖这只“智能虾”的技术骨架,看懂在 C 语言加持下,AI 智能体如何以可穿戴设备的形态,在你身边稳稳运行、离线服务、主动响应。
本文介绍如何在不脱离 ArduinoIDE 可视化开发的前提下,通过一个名为 platform.local.txt 的小文件,实现对 ESP32 编译流程的精准控制。
本文将系统分析程序体积增长的五大根源,并提供经过验证的优化方案,帮助减小固件大小。
本文所DIY的语音助手设备端使用的是MicroPython、服务端是Python,对于很多开发者来说MicroPython入门没难度。
本小节使用音频开发框架实现一个音频录制到文件的示例。
I2S协议通过BCLK、LRCLK和DATA三线精准传输音频数据,但时序边沿、帧格式、时钟源等细节常引发噪声或断连。本文详解ESP32的I2S实现,从协议原理到ESP-IDF v5.x代码配置,助你避开常见陷阱,确保音频稳定传输。