WiFiManager 项目教程
1. 项目的目录结构及介绍
WiFiManager 项目的目录结构如下:
WiFiManager/
├── examples/
│ ├── AutoConnect/
│ ├── AutoConnectWithFeedback/
│ ├── AutoConnectWithFSParameters/
│ ├── AutoConnectWithFSParametersAndCustomIP/
│ ├── AutoConnectWithReset/
│ ├── AutoConnectWithStaticIP/
│ ├── AutoConnectWithTimeout/
│ ├── AutoConnectWithFS/
│ ├── OnDemandConfigPortal/
│ ├── README.md
├── src/
│ ├── WiFiManager.cpp
│ ├── WiFiManager.h
├── library.properties
├── LICENSE
├── README.md
目录介绍
- examples/: 包含多个示例项目,展示了 WiFiManager 的不同使用场景。
- AutoConnect/: 自动连接到已知 WiFi 网络的示例。
- AutoConnectWithFeedback/: 带有连接反馈的示例。
- AutoConnectWithFSParameters/: 使用文件系统参数的示例。
- AutoConnectWithFSParametersAndCustomIP/: 使用文件系统参数和自定义 IP 地址的示例。
- AutoConnectWithReset/: 带有重置功能的示例。
- AutoConnectWithStaticIP/: 使用静态 IP 地址的示例。
- AutoConnectWithTimeout/: 带有超时功能的示例。
- AutoConnectWithFS/: 使用文件系统的示例。
- OnDemandConfigPortal/: 按需配置门户的示例。
- src/: 包含 WiFiManager 的核心源代码文件。
- WiFiManager.cpp: WiFiManager 的主要实现文件。
- WiFiManager.h: WiFiManager 的头文件。
- library.properties: 库的属性文件,用于 Arduino IDE 的库管理器。
- LICENSE: 项目的许可证文件。
- README.md: 项目的说明文件。
2. 项目的启动文件介绍
项目的启动文件通常是 examples/
目录下的示例项目中的 *.ino
文件。以 AutoConnect
示例为例,其启动文件为 AutoConnect.ino
。
AutoConnect.ino 文件内容
#include <WiFiManager.h> // Include WiFiManager library
void setup() {
WiFiManager wifiManager;
wifiManager.autoConnect("AP-NAME", "AP-PASSWORD"); // Start WiFiManager
}
void loop() {
// Your main code here
}
启动文件介绍
- #include <WiFiManager.h>: 引入 WiFiManager 库。
- void setup(): 初始化函数,用于设置 WiFiManager。
- WiFiManager wifiManager: 创建 WiFiManager 对象。
- wifiManager.autoConnect("AP-NAME", "AP-PASSWORD"): 启动 WiFiManager,自动连接到已配置的 WiFi 网络。
- void loop(): 主循环函数,用于执行主要逻辑。
3. 项目的配置文件介绍
WiFiManager 的配置文件通常是 src/
目录下的 WiFiManager.h
和 WiFiManager.cpp
文件。
WiFiManager.h 文件内容
#ifndef _WIFI_MANAGER_H_
#define _WIFI_MANAGER_H_
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <DNSServer.h>
#include <WiFiClient.h>
class WiFiManager {
public:
WiFiManager();
void autoConnect(const char* ssid, const char* password);
// Other functions and declarations
};
#endif
WiFiManager.cpp 文件内容
#include "WiFiManager.h"
WiFiManager::WiFiManager() {
// Constructor implementation
}
void WiFiManager::autoConnect(const char* ssid, const char* password) {
// autoConnect function implementation
}
// Other function implementations
配置文件介绍
- WiFiManager.h: 定义了 WiFiManager 类的接口和声明。
- #ifndef WIFI_MANAGER_H: 防止头文件重复包含