【问题标题】:Esp32cam Failed to connect to ESP32: Timed out waiting for packet headerEsp32cam 连接 ESP32 失败:等待数据包头超时
【发布时间】:2020-05-15 20:48:37
【问题描述】:

我今天刚收到我的第一个 esp32cam (AI THINKER),我很高兴能测试它,但是我无法上传任何代码。我总是收到以下错误:

Failed to connect to ESP32: Timed out waiting for packet header

所以,我使用的 FTDI 是 FT232r,接线方案如下

FTDI Wiring

我如何重现此错误:

  • 插上一切
  • 命令 IDE 上传草图
  • 等待“连接”文本
  • 按下 RST 按钮

还有:

  • 插上一切
  • 按下 RST 按钮
  • 命令 IDE 上传草图

我已经试过了:

  • 切换到 3.3v(插入 3.3v 引脚)
  • 使用外部 5v 电源(插在 5v 针上)
  • 使用另一台计算机
  • 交换 RX TX
  • 尝试不同的上传速度
  • 按住 RST 按钮
  • ESP32 Wrover Module 和 AI Thinker ESP32 之间的切换板

是我做错了什么还是有什么问题?

【问题讨论】:

  • 您是否使用可用草图中的示例对其进行了测试(文件>示例> esp32>相机> CameraWebServer)
  • 是的,这是第一次尝试。第二个只是一个简单的草图,在连续剧中写着“Hello world”

标签: arduino esp32 ftdi


【解决方案1】:

刷机的先决条件:

  • ArduinoIDE 1.8.12
  • Core ESP32 1.04(撰写本文时)
  • 选择板 AI Thinker Cam
  • 上传速度921600
  • 频率 240Mhz
  • flashfreq 80Mhz
  • 如果不工作,请使用 QIO 模式尝试 DIO
  • 默认分区方案
  • 串行监视器已关闭
  • 没有硬件连接到 ESPcam 的引脚
  • 确保 USB 数据线是数据线,并且只有没有加载线
  • 检查 Windows 设备管理器是否显示编程器并且具有最大速度/8n1 硬件

连接

    FTDI    -   ESP32
    GND         GND
     5V          5V
    TXD         UOR
    RXD         UOT

如果您使用 AIThinker Cam 克隆,则必须将 GIPO 0 接地:

  • 将 GPIO 0 与连接到 GND 的杜邦线连接
  • 按下复位键
  • 编译和上传(使用 AI THINKER CAM)
  • 可选:
    • 按下复位键
    • 上传文件系统数据 (SPIFFS)
  • 断开 GPIO 0 和 GND
  • 按下复位键
  • 代码应该执行

是的,每次上传都必须这样做,在我的开发板上,我焊接了一个具有适当隔离的小开关
更多经验的解决方案:

  • 如果仍有问题,请在 RX0 和 GND 之间使用 10K(左右)下拉电阻(焊接前在面包板上测试)
  • 在一些“坏”板上上传时按住(!)启动按钮
  • 对我来说是一块“普通”的 ESP32 板——只是为了确定——我得到了一个 ESP32 包装的 ESP8266。为 ESP8266 配置解决了上传问题。

【讨论】:

  • 我已经将 GPIO 0 连接到 GND。我会一步一步来,看看有没有进步。
  • 查看我的完整清单 - 如果这些步骤都不起作用,假设您的董事会 DOA
  • 没有任何效果。是时候假设她已经死了。感谢您的帮助
【解决方案2】:

我已经在这方面研究了数周的解决方案,似乎我有一个解决方案。

调查结果-

  1. FTDI 模块可能有故障或不支持每个实例。
  2. Aithinker Board 与 esspressif 不兼容(使用 ESP32Wrover,详情如下)

我有一个来自 Esspressif 的 esp32cam,而不是 Aithinker。

我正在尝试 FT232rl ,无论我使用什么电压/跳线/USB 电缆,它都不起作用。总是遇到致命的超时错误。

在多次尝试 FTDI 突破后,我尝试了我的 Arduino UNO(请注意我的 UNO 有 mega16u2 芯片作为 USB 串行芯片(右上角就在旁边振荡器),幸运的是它起作用了。

我了解到 CP2102 也在工作。

                        **Here are the steps to follow-**
  1. Arduino ESP32Cam 连接

    3.3 Arduino --------- 3v Esp32CAM 
    GND Arduino ------------ GND Esp32CAM
    RESET Arduino to Ardunio GND
    RX Arduino -------------- VOR Esp32CAM (this is not a mistake RX to rx & TX to tx)
    TX Arduino -------------- VOT Esp32CAM
    GPIO 0(zero)(written as IO0) Esp32CAM to GND Esp32CAM 
    
  2. 在上传之前和上传期间,我不需要在操作的任何部分按下重置按钮。

  3. 我假设你已经预装了 esp32 board manager。

  • 现在选择您的 Uno(在本例中)所在的正确 COM 端口 插入。

  • 选择正确的板子

      Tools>Board>ESP32 Arduino > select ESP32 Wrover Module
    
  • 需要完成一些上传设置(在工具下,这些设置只会在选择 Wrover 模块时出现)

     Upload speed -- 115200
     Flash Frequency -- 40Mhz
     Flash Mode -- QIO
     Partition Scheme --- Huge App
     Port ---- select the right com port for your breakout or UNO
    

只需按下上传并放松

一段时间后,您将能够看到此消息

        Leaving...
        Hard resetting via RTS pin...
  • 断开 Esp32Cam GPIO 0 和 GND
  • 使用外部电源为 ESP32Cam 提供 5/3v 电源(Arduino 或其他分线器可能无法使用,除非您连接了有源 USB 集线器)
  • 保持两块板的TX、RX和GND连接,不要断开Arduino Reset和GND。
  • 按下 ESPCAM 上的重置并打开串行监视器,如果正确配置了 wifi,您将能够看到摄像头的 IP 地址。或者在 android 或 windows 上获取任何网络扫描仪应用程序。

希望对你有所帮助。

【讨论】:

    【解决方案3】:

    就我而言,我忘记取出 SD 卡。其他用户建议移除不必要的引脚连接——SD 卡在技术上使用了其中的一些:)

    【讨论】:

      【解决方案4】:

      这已通过使用其他跳线解决。看来接线中使用的其中一根跳线有问题。

      如果您遇到同样的问题并尝试了本文中的所有方法,请尝试检查您的电缆!

      【讨论】:

        【解决方案5】:

        如果您使用 arduino 尝试它,它可以工作,但在上传代码之前需要按下 esp32 上的重置按钮

        【讨论】:

        • 如果在上传 tx led 的过程中 Uno 不亮,请再次按下 esp32 上的重置按钮,每次熄灭时都这样做
        【解决方案6】:

        基本上我在很长一段时间内都面临着完全相同的问题。对我有用的是,当芯片闪烁时,将电源线从 5V 转移到 3V3 引脚。我不知道为什么,但它有效。当 esptool 以 2% 开始闪烁时,此时切换电缆,尽管从电源到 3V3 点的电压为 5V,但闪烁成功。我确实意识到这可能是您的问题的错误答案,因为它涉及在错误点上向芯片过度供应电压,因为它正在闪烁并可能损坏芯片。但是,如果有人厌倦了调试并且正在考虑将芯片扔掉,不妨试试我的方法。对于重视自己筹码的其他人,请不要尝试这种方法,如果您仍然这样做,请知道风险自负。但经过 3 天的处理连接后,它对我有用。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-12-19
          • 2022-06-13
          • 2011-03-06
          • 2022-07-28
          • 1970-01-01
          • 2019-12-25
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多