ESP32 CAM在无互联网Linksys网络中无法获取IP及帧率问题求助
问题解决建议
一、家用网络高延迟、HVGA帧率不足5fps的优化方案
- 优化WiFi信道:用WiFi分析仪扫描当前环境,选择设备最少、干扰最低的2.4G信道(避开1、6、11这类热门信道),在路由器后台修改信道设置。
- 调整CameraWebServer代码参数:
- 修改帧率与画质:找到代码中
camera_config_t配置部分,将framerate设为15,quality调整为10-15(降低画质以提升帧率),确保framesize设置为FRAMESIZE_HVGA。 - 增强WiFi传输功率:在
WiFi.begin()前添加代码:WiFi.setTxPower(WIFI_POWER_19_5dBm);,提升ESP32的WiFi信号强度。 - 关闭冗余功能:如果代码中包含OTA升级、额外传感器读取等非必要功能,暂时注释掉,减少ESP32的CPU负载。
- 修改帧率与画质:找到代码中
- 优化信号环境:缩短ESP32 CAM与路由器的距离,避免穿墙或遮挡,提升信号接收质量。
二、Linksys WRT54路由器下无法获取IP的解决步骤
- 强制ESP32使用802.11g协议:WRT54仅支持802.11b/g,而ESP32默认可能启用802.11n,在
WiFi.begin()前添加:WiFi.setPhyMode(WIFI_PHY_MODE_11G); - 检查路由器DHCP设置:确保WRT54的DHCP服务处于开启状态(默认开启,若被手动关闭则需重新启用)。
- 简化SSID与密码:WRT54对特殊字符(中文、空格、符号)兼容性差,将WiFi名称和密码改为纯英文+数字组合后重试。
- 设置静态IP:若DHCP分配失败,手动指定静态IP,替换原动态IP代码:
IPAddress local_IP(192, 168, 1, 100); // 需与路由器网段匹配 IPAddress gateway(192, 168, 1, 1); // 路由器网关 IPAddress subnet(255, 255, 255, 0); if (!WiFi.config(local_IP, gateway, subnet)) { Serial.println("静态IP配置失败"); } WiFi.begin(ssid, password); - 检查MAC过滤:若路由器开启了MAC地址过滤,将ESP32 CAM的MAC地址(可通过串口监视器查看启动日志)添加到允许列表中。
- 重启设备:同时重启WRT54路由器和ESP32 CAM,清除设备缓存后重新连接。
内容的提问来源于stack exchange,提问作者Daroca65
相关产品推荐
相关产品推荐

