Improv Wi-Fi Serial not detected ESP32-S3安装ESPHOME ,无法配置wifi

xc
xc
2025-09-11 / 0 评论 / 2 阅读 / 正在检测是否收录...

概述

最近有在折腾ESP32-S3来测量脉冲信号,自从知道了ESPHOME,感觉就不想用arduino来写程序了,但在安装好了ESPhome后,往往不能顺利配置WIFI,会出错,如果你不是买的官网的开发板,大概率都会出现这个情况。
我也是搜索了很久,主要看这篇文章 ESP32、ESP32-C3接入ESPHome出现Improv Wi-Fi Serial not detected等问题的解决方法

引发原因

主要原因也就清楚了,因为开发板品牌太多,鱼龙混杂,ESPhome默认的识别型号和你手里的型号不匹配导致的。
但作者算是幸运的,他那个开发板好歹有个官网说明,但实际中,我们在淘宝上买的开发板,老板都懒得搭理你,什么信息都没有,这可怎么办,如何确认手里的开发板应该选择哪个厂家?总不能一个个去试吧。

偶然发现

我也不知道怎么解决时,忽然发现我本地有个ESPhome的文件夹,里面有下面这些文件
文件夹清单

时间太久了,我完全没印象,搞不清楚有啥作用,上传代码问了一下AI,才知道,可以编译后烧录到ESP32中,其中要在secrets.yaml中配置WIFI信息。

用法:

🔧 1. 准备工作

你需要:

  • 一台电脑(Windows / macOS / Linux)
  • 一根 USB 线,能传数据(不是只能充电的)
  • 安装好 Python(如果不是用 Docker)
  • 安装好 esphome 命令行工具(如果还没安装,可以用下面的命令)
pip install esphome

确认安装成功:

esphome version

能输出版本号就成功了。

🏗 2. 编译固件

在项目目录里运行:

esphome compile esphome-web-de7c4c.yaml

这一步会调用 .esphome 里的 PlatformIO 编译环境,把 .yaml 文件转换为固件(.bin)。

🔌 3. 连接 ESP32-S3

  1. 用 USB 线把 ESP32-S3 开发板插到电脑
  2. 电脑会识别一个串口设备:
  • Windows 下通常是 COM3COM4
  • macOS/Linux 下是 /dev/ttyUSB0/dev/ttyACM0

可以先拔掉,再插上,确认新出现的端口号。

🚀 4. 烧录固件

直接运行:

esphome upload esphome-web-de7c4c.yaml

ESPHOME 会自动:

  • 找到你的 ESP32-S3 串口
  • 调用 esptool.py 擦除 & 烧录
  • 烧完后自动复位

如果要手动指定串口:

esphome upload esphome-web-de7c4c.yaml --device COM3

(把 COM3 改成你实际的串口)

📡 5. 后续 OTA 更新

第一次刷写成功后,ESP32-S3 会连上 WiFi(在 secrets.yaml 里配置),之后你可以直接通过无线更新:

esphome upload esphome-web-de7c4c.yaml

它会自动发现局域网的 ESP32-S3,然后用 OTA 刷写。

🧠 注意事项

  • 如果烧录失败,可能需要按住开发板上的 BOOT 键,再按一下 RESET,让芯片进入下载模式。
  • Windows 用户可能要装 CH340/CP210x 驱动,取决于你的开发板 USB 芯片。
  • 如果 esptool.py 是空文件,可以手动安装官方工具:
pip install esptool

然后再试一次。

2️⃣ 继续刷写 ESP32-S3

既然编译已经完成,现在就可以刷写了:

esphome upload esphome-web-de7c4c.yaml
  • 第一次最好通过 USB 线连接,确保能成功烧录。
  • 烧录完成后,后续就可以用 OTA(无线升级)了。

🛜 1. 确认设备已经联网

  • 刷写成功后,ESP32-S3 会自动重启,并尝试连接 secrets.yaml 中配置的 WiFi。
  • 你可以通过查看串口日志确认:
esphome logs esphome-web-de7c4c.yaml

如果显示 Connected to WiFiIP address: 192.168.x.x,说明联网成功。

🌐 2. 打开 ESPHome Dashboard

  1. 在浏览器里访问你搭建的 ESPHome 服务,比如:
http://<你的NAS或服务器IP>:6052

(如果是 Docker 部署,就是你容器映射的端口)

  1. 你会看到之前创建的所有设备。

➕ 3. 添加新设备

有两种方法:

🔎 方法 1:自动发现

ESPHome 支持 mDNS(局域网广播),Dashboard 一般会自动发现新设备,显示“新设备可用”。

  • 在 Dashboard 右上角,点击 “New Device”“Adopt”
  • 按提示导入配置,它会把你本地的 esphome-web-de7c4c.yaml 同步到 Dashboard 里。

⚠️ 前提:你的 ESPHome 容器和 ESP32-S3 在同一个局域网,且能互相访问。

📄 方法 2:手动添加

如果没有自动发现:

  1. 在 Dashboard 里点击 “New Device”“Continue”
  2. 选择 “ESP32” 作为平台
  3. 填写一个设备名(可以和本地的 yaml 名称相同)
  4. 选择“Import existing configuration”,把你本地的 esphome-web-de7c4c.yaml 上传进去
  5. 保存后,Dashboard 会把配置文件放到服务器的 .esphome 文件夹里
  6. 点击 Install,选择 OTA 上传,就可以无线更新固件了。

🔧 4. 后续操作

  • 以后修改 yaml 配置,可以直接在 Dashboard 编辑,然后点击“Install → OTA”
  • 如果设备不再出现在 Dashboard,可以手动用 IP 访问它的 Web 界面(固件里自带):
http://<设备IP>

可以看到实时日志、开关状态、控制按钮。

总结

按照上面的操作,竟然跳过了WIFI配置,其实就是本地烧录进去了,成功了。
其中,这里面最关键的信息是:
esp32:
board: esp32-s3-devkitc-1 这个兼容性最好,大多数产品都可以通用
framework:

type: arduino   框架必须是arduino才有可能成功。

如果按照互联网搜索的方法不能解决问题时,可以试试我这个方案。

附件

我的文件夹,可以直接编译烧录

0

评论 (0)

取消
使用 Typecho 建站,并搭配 joe 主题(有修改)
蜀ICP备2022005623号-2 川公网安备 51012202001212号
本站已运行 00000000
Copyright © 2022.03 ~ Xcshare All rights reserved.