首页
/ ESPAsync_WiFiManager 使用指南

ESPAsync_WiFiManager 使用指南

2024-09-08 11:38:12作者:余洋婵Anita

1. 项目目录结构及介绍

ESPAsync_WiFiManager 是一个专为 ESP32 及 ESP8266 设计的库,简化了在运行时配置Wi-Fi凭据的过程。该库利用AsyncWebServer来创建一个增强型图形界面的配置门户,并带有自动重连功能等高级特性。下面简要介绍其典型目录结构:

ESPAsync_WiFiManager/
├── examples                 # 示例代码集合,展示如何使用库的不同功能。
│   ├── Basic                # 基础使用示例,展示最简单的配置流程。
│   ├── CustomHTML           # 自定义HTML配置页面的示例。
│   └── ...
├── src                      # 核心源码,包含主库文件如 ESPAsync_WiFiManager.h 和 .cpp 文件。
│   ├── ESPAsync_WiFiManager.cpp
│   └── ESPAsync_WiFiManager.h
├── libraries                # 如有依赖的第三方库,可能存放于此。
├── README.md               # 项目的主要说明文件,包含快速入门和重要信息。
├── docs                     # 可能包含的文档或自动生成的API参考。
└── LICENSE                  # 许可证文件,规定了库的使用条件。

2. 项目的启动文件介绍

在ESPAsync_WiFiManager项目中,主要的启动逻辑通常不在单一的“启动文件”内,而是分散在几个关键的地方。对于开发者来说,重点在于理解如何在自己的sketch(Arduino项目)中引入并初始化这个库。

一个典型的启动过程包括以下几个步骤:

  • 主Sketch中的包括语句: 在你的Arduino Sketch顶部分别包含必要的头文件,如 #include <ESPAsync_WiFiManager.h>

  • 实例化对象: 创建ESPAsync_WiFiManager的对象,可以是默认构造函数或指定Web服务器和DNS服务器的构造函数。例如:

    AsyncWebServer webServer(80);
    AsyncDNSServer dnsServer;
    ESPAsync_WiFiManager wifiMgr(&webServer, &dnsServer);
    
  • 配置与启动配置门户: 可以设置个性化参数,然后调用startConfigPortal()来启动配置门户。如果不提供任何参数,它将使用默认值或之前保存的网络信息。

    wifiMgr.startConfigPortal();
    

    对于更复杂的配置,你可以设定SSID、密码、是否允许切换到静态IP等。

3. 项目的配置文件介绍

虽然ESPAsync_WiFiManager本身不强调外部配置文件的概念,配置主要是通过代码实现的,但用户可以通过以下方式间接进行“配置”:

  • 代码内的硬编码配置:初始化ESPAsync_WiFiManager对象时,可以通过参数设置一些配置选项,比如个性化的热点名称、初始SSID和密码等。

  • 非易失性存储(NVS):库利用ESP的非易失性存储来保存连接成功的Wi-Fi凭证和其他配置。这意味着,一旦在一个配置周期内设置了Wi-Fi信息,这些信息将会被保存下来,下次启动时尝试自动连接。

  • 额外配置选项:库提供了宏定义和函数调用来控制日志级别、是否显示已存储的凭证等,这些往往在代码的预处理阶段进行配置,例如调整_ESPASYNC_WIFIMGR_LOGLEVEL_来控制调试信息的多少。

开发者在使用过程中,还需关注具体的示例代码,因为它们详细展示了如何通过代码片段配置ESPAsync_WiFiManager,达成特定需求,而无需传统意义上的独立配置文件。

热门项目推荐
相关项目推荐

项目优选

收起
Python-100-DaysPython-100-Days
Python - 100天从新手到大师
Python
373
72
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
276
72
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
200
47
xzs-mysqlxzs-mysql
学之思开源考试系统是一款 java + vue 的前后端分离的考试系统。主要优点是开发、部署简单快捷、界面设计友好、代码结构清晰。支持web端和微信小程序,能覆盖到pc机和手机等设备。 支持多种部署方式:集成部署、前后端分离部署、docker部署
HTML
5
1
LangChatLangChat
LangChat: Java LLMs/AI Project, Supports Multi AI Providers( Gitee AI/ 智谱清言 / 阿里通义 / 百度千帆 / DeepSeek / 抖音豆包 / 零一万物 / 讯飞星火 / OpenAI / Gemini / Ollama / Azure / Claude 等大模型), Java生态下AI大模型产品解决方案,快速构建企业级AI知识库、AI机器人应用
Java
10
3
gin-vue-admingin-vue-admin
🚀Vite+Vue3+Gin的开发基础平台,支持TS和JS混用。它集成了JWT鉴权、权限管理、动态路由、显隐可控组件、分页封装、多点登录拦截、资源权限、上传下载、代码生成器【可AI辅助】、表单生成器和可配置的导入导出等开发必备功能。
Go
16
3
source-vuesource-vue
🔥 一直想做一款追求极致用户体验的快速开发平台,看了很多优秀的开源项目但是发现没有合适的。于是利用空闲休息时间对若依框架进行扩展写了一套快速开发系统。如此有了开源字节快速开发平台。该平台基于 Spring Boot + MyBatis + Vue & Element ,包含微信小程序 & Uniapp, Web 报表、可视化大屏、三方登录、支付、短信、邮件、OSS...
Java
24
2
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
898
0
madongmadong
基于Webman的权限管理系统
PHP
4
0
cool-admin-javacool-admin-java
🔥 cool-admin(java版)一个很酷的后台权限管理框架,Ai编码、流程编排、模块化、插件化、CRUD极速开发,永久开源免费,基于springboot3、typescript、vue3、vite、element-ui等构建
Java
18
2