ESP32-WIFI-Manager:智能网络管理的利器
构建状态 ![构建状态](https://travis-ci.com/tonyp7/esp32-wifi-manager.svg?branch=master)
ESP32-WIFI-Manager 是一个针对 ESP32 的纯C ESP-IDF组件,为物联网设备提供了一种便捷的Wi-Fi网络管理方式,通过内置Web门户实现。
该组件高效地整合了Wi-Fi扫描器、HTTP服务器和DNS服务,并且在有限的RAM资源下运行。它会在启动时自动尝试连接保存的网络,如果找不到已存网络,将开启自己的热点,允许您通过网页进行Wi-Fi配置。一旦成功连接到网络,热点将在默认1分钟后自动关闭。
ESP32-WIFI-Manager 支持 ESP-IDF 4.2 及以上版本。继续阅读以了解如何开始使用。
看点演示
设计与体验
展示于移动设备上的 ESP32-WIFI-Manager 非常直观易用:
开始使用
基本要求
要开始您的项目,请确保满足以下条件:
- ESP-IDF 4.2 或更高版本
- ESP32 或 ESP32-S2
注意,由于ESP-IDF 4.1和4.2引入了重要更新,本库不支持旧版本。建议您使用最新主分支以避免兼容性问题。
快速上手
- 将仓库克隆至所需位置,如未熟悉Git,可使用Windows上的GitHub Desktop:
git clone https://github.com/tonyp7/esp32-wifi-manager.git
- 导航至示例目录:
cd esp32-wifi-manager/examples/default_demo
- 编译并加载到ESP32上:
idf.py build flash monitor
连接至名为 "esp32" 的新热点(默认密码 "esp32pwd"),如无弹窗,可在浏览器中输入默认IP地址 http://10.10.0.1
访问设置界面。
自定义配置
利用 idf.py menuconfig
可调整 Wi-Fi 管理器的配置。例如,修改接入点的SSID和密码、设定各种定时器等。
在代码中集成 ESP32-WIFI-Manager
- 将整个
esp32-wifi-manager
复制到components
子目录。 - 更新项目根目录下的
CMakeLists.txt
文件,添加components
目录:
如果使用旧版构建系统(make)则编辑set(EXTRA_COMPONENTS_DIRS components/)
Makefile
:PROJECT_NAME := 你的项目名称 EXTRA_COMPONENT_DIRS := components/ include $(IDF_PATH)/make/project.mk
- 在代码中引入头文件:
#include "wifi_manager.h"
- 调用
wifi_manager_start();
初始化。
查看 examples/default_demo
示例以获取更多指引。
应用场景与特性
ESP32-WIFI-Manager 广泛适用于需要动态Wi-Fi配置的IoT应用,如智能硬件、远程监控设备或临时网络设备。其特性包括:
- 自动连接已知网络。
- 热点模式提供图形化配置界面,适合非技术人员操作。
- 可扩展性强,可以集成自定义HTTP请求处理器。
- 支持事件回调,方便监听Wi-Fi连接状态变化。
- 内置线程安全机制,保证NVS存储的安全访问。
ESP32-WIFI-Manager 提供了一个简洁而强大的框架,为开发基于ESP32的Wi-Fi设备提供了灵活的解决方案。立即开始您的项目,体验便捷的Wi-Fi网络管理吧!