ESP32-DIV 项目使用教程
1. 项目的目录结构及介绍
ESP32-DIV 项目的目录结构如下:
ESP32-DIV/
├── data/
│ └── ...
├── src/
│ ├── main.cpp
│ └── ...
├── include/
│ └── ...
├── lib/
│ └── ...
├── tools/
│ └── ...
├── README.md
└── LICENSE
目录介绍
- data/: 存放项目所需的数据文件。
- src/: 存放项目的源代码文件,包括主程序
main.cpp
。 - include/: 存放项目的头文件。
- lib/: 存放项目依赖的库文件。
- tools/: 存放项目开发和测试所需的工具。
- README.md: 项目说明文档。
- LICENSE: 项目许可证文件。
2. 项目的启动文件介绍
项目的启动文件位于 src/main.cpp
。该文件是项目的入口点,负责初始化硬件、配置网络和启动主要功能。
main.cpp 主要内容
#include <Arduino.h>
#include "WiFi.h"
#include "ESPAsyncWebServer.h"
void setup() {
// 初始化串口
Serial.begin(115200);
// 初始化 WiFi
WiFi.begin("your-ssid", "your-password");
// 等待 WiFi 连接
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
// 启动 Web 服务器
AsyncWebServer server(80);
server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
request->send(200, "text/plain", "Hello, world!");
});
server.begin();
}
void loop() {
// 主循环
}
3. 项目的配置文件介绍
项目的配置文件通常位于 data/
目录下,用于存储项目的配置信息,如网络设置、设备参数等。
配置文件示例
{
"wifi": {
"ssid": "your-ssid",
"password": "your-password"
},
"server": {
"port": 80
}
}
配置文件加载
在 main.cpp
中,可以使用以下代码加载配置文件:
#include <ArduinoJson.h>
#include <FS.h>
#include <SPIFFS.h>
void loadConfig() {
if (SPIFFS.begin()) {
File configFile = SPIFFS.open("/config.json", "r");
if (configFile) {
size_t size = configFile.size();
std::unique_ptr<char[]> buf(new char[size]);
configFile.readBytes(buf.get(), size);
configFile.close();
DynamicJsonDocument doc(1024);
deserializeJson(doc, buf.get());
const char* ssid = doc["wifi"]["ssid"];
const char* password = doc["wifi"]["password"];
int port = doc["server"]["port"];
Serial.println("Loaded config:");
Serial.println(ssid);
Serial.println(password);
Serial.println(port);
}
}
}
通过以上步骤,您可以了解 ESP32-DIV 项目的目录结构、启动文件和配置文件的基本信息,并根据需要进行进一步的开发和配置。