ESP32 toit 配置失败

ESP32 toit provisioning fails

设置:带有 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/

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