esp8266 SPIFFS文件系统

ops/2025/1/16 6:23:19/

安装:

github地址:Release Add support for python 3 for Arduino-ESP8266 2.6.x · esp8266/arduino-esp8266fs-plugin · GitHub

需要注意,本人在尝试2.3.2版本的arduino IDE尝试安装这个插件,但是无法安装成功.

在b站查询相关视频发现有用 1.8版本的arduino 安装成功的,本人也成功安装

下载插件,解压到arduino1.8版本的安装地址的tools上

C:\Program Files (x86)\Arduino\tools(我是直接安装在c盘上了)

安装成功的样例

2.0使用方法

2.1找到你的代码的文件夹

2.2创建data文件

2.3创建你需要用的网页或者其他文件

2.4通过这个插件进行烧录

然后再烧录你的程序就可以配合使用

3.0这里附赠一个AP网络 且用esp8266fs的例程  里面是一个简单的登录界面

main.ino

#include <ESP8266WiFi.h>
#include <FS.h>
#include <ESP8266WebServer.h>// 设置 AP 模式的参数
const char* ap_ssid = "ESP8266_AP";
const char* ap_password = "12345678";  // 设置一个密码// 创建 Web 服务器对象,监听端口80
ESP8266WebServer server(80);void setup() {// 启动串口调试Serial.begin(115200);delay(10);// 设置 ESP8266 为 Access Point 模式WiFi.softAP(ap_ssid, ap_password);Serial.println("ESP8266 is in AP mode");Serial.print("IP Address: ");Serial.println(WiFi.softAPIP());// 初始化 SPIFFS 文件系统if (!SPIFFS.begin()) {Serial.println("SPIFFS Mount Failed");return;}// 配置 Web 服务器路由server.on("/", HTTP_GET, []() {File file = SPIFFS.open("/index.html", "r");  // 打开存储在 SPIFFS 中的网页文件if (!file) {server.send(404, "text/plain", "File Not Found");return;}server.streamFile(file, "text/html");  // 流式传输文件内容到客户端file.close();});// 你也可以添加其他路由来服务更多文件,如 CSS、JSserver.on("/style.css", HTTP_GET, []() {File file = SPIFFS.open("/style.css", "r");if (!file) {server.send(404, "text/plain", "File Not Found");return;}server.streamFile(file, "text/css");file.close();});// 启动 Web 服务器server.begin();
}void loop() {// 处理传入的 HTTP 请求server.handleClient();
}

data------index.html

          |

          |---style.css

index.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>User Login</title><link rel="stylesheet" href="/style.css">
</head>
<body><div class="login-container"><h2>Login</h2><form action="/login" method="POST" class="login-form"><div class="input-group"><label for="username">Username</label><input type="text" id="username" name="username" required placeholder="Enter your username"></div><div class="input-group"><label for="password">Password</label><input type="password" id="password" name="password" required placeholder="Enter your password"></div><button type="submit" class="submit-btn">Login</button></form></div>
</body>
</html>

style.css

/* Basic Reset */
* {margin: 0;padding: 0;box-sizing: border-box;
}body {font-family: Arial, sans-serif;background-color: #f0f0f0;display: flex;justify-content: center;align-items: center;height: 100vh;
}/* Login Container */
.login-container {background-color: white;padding: 30px;border-radius: 8px;box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);width: 300px;text-align: center;
}/* Form Title */
.login-container h2 {margin-bottom: 20px;color: #333;
}/* Input Group */
.input-group {margin-bottom: 15px;text-align: left;
}.input-group label {display: block;font-size: 14px;color: #333;
}.input-group input {width: 100%;padding: 10px;margin-top: 5px;border: 1px solid #ccc;border-radius: 4px;font-size: 14px;
}/* Submit Button */
.submit-btn {width: 100%;padding: 10px;background-color: #4CAF50;color: white;border: none;border-radius: 4px;font-size: 16px;cursor: pointer;
}.submit-btn:hover {background-color: #45a049;
}/* Responsive Design */
@media (max-width: 600px) {.login-container {width: 90%;padding: 20px;}
}

3.1程序现象

4.0 SPIFFS文件系统 初始化(烧录上正常是无法被删除的)


#include <FS.h>void setup() {Serial.begin(115200);delay(1000);  // 等待串口初始化// 检查SPIFFS文件系统if (!SPIFFS.begin()) {Serial.println("SPIFFS 初始化失败!");return;}// 格式化 SPIFFS 文件系统Serial.println("正在格式化 SPIFFS 文件系统...");if (SPIFFS.format()) {Serial.println("SPIFFS 文件系统格式化成功!");} else {Serial.println("SPIFFS 文件系统格式化失败!");}
}void loop() {// 在此处编写其他逻辑
}


http://www.ppmy.cn/ops/150483.html

相关文章

机器学习-距离的度量方法

曼哈顿距离&#xff08;Manhattan Distance&#xff09;&#xff0c;也称为城市街区距离&#xff08;Taxicab Distance&#xff09;&#xff0c;是两点之间的距离度量方式。它衡量的是在一个网格状的平面上&#xff0c;从一个点到另一个点的距离&#xff0c;计算时只能沿着水平…

Artec Leo 3D扫描仪与Ray助力野生水生动物法医鉴定【沪敖3D】

挑战&#xff1a;捕获大型水生哺乳动物&#xff08;如鲸鱼&#xff09;的数据&#xff0c;搭建全彩3D模型&#xff0c;用于水生野生动物的法医鉴定、研究和保护工作。 解决方案&#xff1a;Artec Eva、Artec Space Spider、Artec Leo、Artec Ray、Artec Studio、CT scans 效果&…

华为2024嵌入式研发面试题

01 你认为最好的排序算法是什么&#xff1f; 在实际的编程中&#xff0c;最好的排序算法要根据实际需求和数据规模来选择&#xff0c;因为每种排序算法都有其优势和劣势。以下是一些常见排序算法及其优缺点&#xff1a; 冒泡排序 冒泡排序是一种简单直观的排序算法&#xff0…

【CI/CD构建】关于不小心将springMVC注解写在service层

背景 之前写一个接口的时候没有察觉到将RequestBody这个注解带到service层了。 今天提交代码的时候&#xff0c;插件没有检测到这个低级错误&#xff0c;导致试飞构建连maven编译都过不了&#xff0c;maven找不到程序包org.springframework.web.bind.annotation这个包 结果…

[Deep Learning] Anaconda+CUDA+CuDNN+Pytorch(GPU)环境配置-2025

文章目录 [Deep Learning] AnacondaCUDACuDNNPytorch(GPU)环境配置-20250. 引子1. 安装Anaconda1.1 安装包下载&#xff1a;1.2 启用安装包安装1.3 配置(系统)环境变量1.4 验证Anaconda是否安装完毕1.5 Anaconda换源 2. 安装CUDACuDNN2.1 判断本机的CUDA版本2.2 下载适合自己CU…

如何通过高防服务隐藏服务器源IP

在网络安全领域&#xff0c;隐藏服务器的真实源IP地址是保护服务器免受直接攻击的重要手段之一。暴露的源IP地址容易成为黑客攻击的目标&#xff0c;尤其是DDoS攻击、端口扫描和暴力破解等威胁。高防服务&#xff08;如阿里云盾、AWS Shield等&#xff09;不仅提供强大的流量清…

探索网络安全:浅析文件上传漏洞

前言 在数字化时代&#xff0c;网络安全已成为我们每个人都需要关注的重要议题。无论是个人隐私保护&#xff0c;还是企业数据安全&#xff0c;网络威胁无处不在。了解网络安全的基本知识和防护措施&#xff0c;对我们每个人来说都至关重要。 网络安全 网络安全并非只是对网…

iOS - block

1. Block 的内存管理 // Block 的基本结构 struct Block_layout {void *isa; // Block 的类型信息volatile int32_t flags; // 标志位&#xff0c;包含引用计数等信息int32_t reserved; // 保留字段void (*invoke)(void *, ...); // 函数指针&#x…