项目简介
本项目是名为ESP32_W6100_Manager的库,基于Arduino平台,用于管理ESP32与W6100以太网模块的连接。可在运行时对ESP32以太网的静态/动态IP及相关凭证进行配置,支持指定静态DNS服务器、设置个性化主机名和使用CORS功能,还具备备用的Web配置门户。
项目的主要特性和功能
- 支持动态DHCP IP和静态IP配置,可在配置门户中切换,支持自定义DNS配置。
- 能在运行时配置和保存ESP32以太网凭证,存储于非易失性存储器,便于自动连接。
- 提供Web配置门户,可通过网络设备浏览器访问,用于修改网络配置和查看设备信息。
- 允许通过配置门户动态配置项目参数,如传感器类型、服务器API密钥等。
- 支持使用NTP进行时间同步,可选择是否使用CloudFlare NTP服务,避免系统挂起。
- 支持CORS(跨源资源共享)功能,增强不同源之间的资源共享能力。
安装使用步骤
安装
使用Arduino库管理器
在Arduino IDE中,通过库管理器搜索“ESP32_W6100_Manager”,选择并安装最新版本。
手动安装
- 解压文件到
ESP32_W6100_Manager-main
目录。 - 将整个
ESP32_W6100_Manager-main
文件夹复制到Arduino库目录,例如~/Arduino/libraries/
。
使用VS Code和PlatformIO
- 安装VS Code和PlatformIO。
- 通过PlatformIO的库管理器搜索并安装ESP32_W6100_Manager库。
- 使用示例中的
platformio.ini
文件,确保所有依赖库自动安装。
使用
基本配置
在代码中包含必要的头文件,并根据需求配置文件系统、网络模式、IP地址、DNS等参数,示例代码如下: ```cpp
include
include
// 根据需求配置文件系统 //...
define USE_DHCP_IP true // 选择DHCP或静态IP
IPAddress stationIP = IPAddress(0, 0, 0, 0); IPAddress gatewayIP = IPAddress(192, 168, 2, 1); IPAddress netMask = IPAddress(255, 255, 255, 0); ESP32_W6100_Manager ESP32_W6100_manager(); ```
打开配置门户
若要打开配置门户,使用以下代码:
cpp
ESP32_W6100_manager.startConfigPortal();
通过网络设备的浏览器连接到配置门户的IP地址(如192.168.2.232
),进行网络配置和参数设置。
添加动态参数
以配置DHT传感器和ThingSpeak API密钥为例:
1. 确定要配置的变量,如thingspeakApiKey
、sensorDht22
、pinSda
、pinScl
等。
2. 初始化变量,使用ESP32_EMParameter
类初始化每个变量,示例代码如下:
cpp
ESP32_EMParameter p_thingspeakApiKey("thingspeakApiKey", "Thingspeak API Key", thingspeakApiKey, API_KEY_LEN);
3. 添加变量到配置门户,使用addParameter()
函数将变量添加到配置门户,示例代码如下:
cpp
ESP32_W6100_manager.addParameter(&p_thingspeakApiKey);
4. 保存配置的变量,在配置门户退出后,使用getValue()
函数获取用户输入的数据,并可将其保存到文件系统中,示例代码如下:
cpp
strcpy(thingspeakApiKey, p_thingspeakApiKey.getValue());
writeConfigFile();
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】