littlebot
Published on 2025-04-14 / 0 Visits
0

【源码】基于Arduino的ESP32与W6100以太网连接管理系统

项目简介

本项目是名为ESP32_W6100_Manager的库,基于Arduino平台,用于管理ESP32与W6100以太网模块的连接。可在运行时对ESP32以太网的静态/动态IP及相关凭证进行配置,支持指定静态DNS服务器、设置个性化主机名和使用CORS功能,还具备备用的Web配置门户。

项目的主要特性和功能

  1. 支持动态DHCP IP和静态IP配置,可在配置门户中切换,支持自定义DNS配置。
  2. 能在运行时配置和保存ESP32以太网凭证,存储于非易失性存储器,便于自动连接。
  3. 提供Web配置门户,可通过网络设备浏览器访问,用于修改网络配置和查看设备信息。
  4. 允许通过配置门户动态配置项目参数,如传感器类型、服务器API密钥等。
  5. 支持使用NTP进行时间同步,可选择是否使用CloudFlare NTP服务,避免系统挂起。
  6. 支持CORS(跨源资源共享)功能,增强不同源之间的资源共享能力。

安装使用步骤

安装

使用Arduino库管理器

在Arduino IDE中,通过库管理器搜索“ESP32_W6100_Manager”,选择并安装最新版本。

手动安装

  1. 解压文件到ESP32_W6100_Manager-main目录。
  2. 将整个ESP32_W6100_Manager-main文件夹复制到Arduino库目录,例如~/Arduino/libraries/

使用VS Code和PlatformIO

  1. 安装VS Code和PlatformIO。
  2. 通过PlatformIO的库管理器搜索并安装ESP32_W6100_Manager库。
  3. 使用示例中的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. 确定要配置的变量,如thingspeakApiKeysensorDht22pinSdapinScl等。 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】