ESP32 toit 配置失败

问题描述

设置:配备 Satechi USB 加密狗的 Macbook Pro 2020,用于与微控制器的 USB 连接。适用于文件传输的 USB 电缆。我使用的是 ESP32-wroom-32E,但是当它失败时,我也尝试了 ESP32-wroom-32D 和 ESP32 (v1)。都是开发板。

尝试使用来自 https://docs.toit.io/getstarted/provision/ 的以下命令进行配置:

toit serial provision --baud 460800 -p wifi.ssid=toitwifi -p wifi.password=toitware -m esp32-4mb

结果如下:

erasing device flash
failed to write device partitions,do you want to retry? [y/n]

重试几次后停止,因为什么也没发生。

日志给出了以下内容:

Running "/Users/jacobjensen/.cache/toit/tools/esptool_darwin_v3.0 --chip esp32 --port /dev/tty.usbserial-0001 --baud 460800 --before default_reset --after hard_reset erase_flash"
esptool.py v3.0
Serial port /dev/tty.usbserial-0001
Connecting........_____....._____....._____....._____....._____....._____....._____

A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header

更新: ESP32E 配置成功。在命令中手动选择端口并更新驱动程序有效。结果发现默认端口是错误的。还安装了以下驱动程序:https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers https://ftdichip.com/drivers/vcp-drivers/。有效的命令如下所示:

toit serial provision --baud 460800 -p wifi.ssid=toitwifi -p wifi.password=toitware -m esp32-4mb --port /dev/tty.SLAB_USBtoUART

ESP32D 和 ESP32 v1 仍然无法配置。会不会是硬件相关的?

解决方法

最常见的配置失败是因为驱动程序未更新。

对于 macOS,这些将是(最新版本):

根据您的更新,您已经安装了这些。

某些设备还需要较低的波特率。例如,LILYGO TTGO T-Wristband 仅适用于有限的带宽。也许尝试使用较低的值(低至 9600)。

由于众所周知 macOS USB 硬件有点挑剔,您也可以尝试将开发套件放在 USB 集线器后面(使用外部电源)。

最后,有些设备的硬件设置不好,很难在 macOS 上刷机。有时将 GPIO0 拉到地(例如使用电阻)可以使闪烁工作。

其他人报告说添加电容器是成功的:https://randomnerdtutorials.com/solved-failed-to-connect-to-esp32-timed-out-waiting-for-packet-header/

由于您只需要配置/刷新设备一次,面包板解决方案就足够了。具体来说,在EN脚和GND之间加一个10uF的电解电容就可以了。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...