You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ESP32-CAM无法创建WiFi热点问题求助

ESP32-CAM反复重启无法创建WiFi热点的解决方法

问题分析

从串口输出的rst:0xc (SW_CPU_RESET)可以看出,ESP32-CAM正在软件触发CPU复位,导致系统反复重启,根本无法正常执行WiFi.softAP()指令。

排查与解决步骤

1. 优先排查供电问题

ESP32-CAM启动WiFi时功耗较高,供电不足是常见的重启诱因:

  • 使用5V/2A及以上的电源供电,避免依赖电脑USB口(部分USB口功率不足);
  • 更换质量可靠的USB线,减少线损导致的电压下降;
  • 检查模块电源引脚是否存在虚焊、接触不良情况。

2. 调整代码逻辑

原代码存在事件绑定不匹配、无状态检查等问题,修改后的代码如下:

#include <WiFi.h>

// 绑定SoftAP专属的客户端连接事件(原代码绑定的是Station模式事件,与当前场景不匹配)
void onStationConnected(WiFiEvent_t event, WiFiEventInfo_t info){
  Serial.print("客户端已连接,MAC地址: ");
  Serial.println(info.wifi_ap_sta_connected.mac);
}

void setup() {
  Serial.begin(115200);
  delay(1000); // 给串口初始化留足时间,避免调试信息丢失

  // 明确设置WiFi为纯AP模式,避免模式冲突
  WiFi.mode(WIFI_AP);
  
  // 启动SoftAP并检查结果,直观判断是否成功
  bool apResult = WiFi.softAP("ESP");
  if(apResult){
    Serial.println("WiFi热点启动成功");
    Serial.print("热点IP地址: ");
    Serial.println(WiFi.softAPIP());
  } else {
    Serial.println("热点启动失败");
  }

  // 注册正确的SoftAP事件回调
  WiFi.onEvent(onStationConnected, ARDUINO_EVENT_WIFI_AP_STACONNECTED);
}

void loop() {}

代码调整说明:

  • 添加delay(1000):确保串口初始化完成,避免早期调试信息丢失;
  • 强制设置WiFi.mode(WIFI_AP):明确WiFi工作模式,消除模式冲突风险;
  • 检查WiFi.softAP()返回值:直接反馈热点启动状态,便于排查;
  • 更换事件绑定:替换为SoftAP专属的客户端连接事件,避免回调逻辑不匹配导致的潜在崩溃。

3. 核对烧录配置

烧录时需确保配置与ESP32-CAM硬件完全匹配:

  • Flash大小选择4MB(绝大多数ESP32-CAM模块标配);
  • Flash模式选择DIO(串口输出中mode:DIO为正确状态,若烧录工具设置错误需修正);
  • 烧录完成后,确保GPIO0引脚处于拉高状态(烧录时需拉低,烧录后恢复拉高,否则会重复进入下载模式)。

4. 排除硬件干扰

若上述方法无效,可尝试暂时断开摄像头模块(若有焊接),单独测试WiFi功能,排查是否是摄像头模块与WiFi天线的资源冲突导致系统崩溃。


内容的提问来源于stack exchange,提问作者Idea Softworks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 17:53:14