ESP32 学习笔记【9】:windows+VScode+ESP-AT搭建 ESP32-C5 ESP-AT 固件编译环境搭建笔记记录电脑C:\Users\你的文件\esp下搭建 ESP-ATESP32-C5本地编译环境的完整过程供以后重装/排查问题参考。背景目标在本地编译 ESP32-C5 的 ESP-AT 固件源码关键前提ESP32-C5 的 AT 固件要求 ESP-IDFrelease/v5.5但build.py会自动拉取所需版本不需要手动装 v5.5开发环境Windows Git Bash用于 git 操作 cmd用于编译Git Bash/MSYS 不支持跑 ESP-IDF 安装脚本编辑器VS Code直接打开esp-at整个文件夹编辑代码编译仍用命令行一、一次性环境搭建步骤1. 克隆 ESP-AT 项目国内直连 GitHub 容易在克隆子模块尤其是 esp-idf、蓝牙/Wi-Fi 库时报Connection was reset错误改用官方镜像使用bashcd~/espgitclone--recursivehttps://jihulab.com/esp-mirror/espressif/esp-at.git esp-at如果中途卡住报错可以rm -rf esp-idf后重跑python build.py install见下git submodule update支持断点续传已下载的部分不会重来。2. 装 build.py 自身依赖的 Python 包使用bashpython-mpipinstallcolorama3. 运行安装脚本选择芯片型号必须在 cmd 或 PowerShell 里跑Git Bash(MSYS) 不支持cd C:\Users\你的文件\esp\esp-at python build.py install按提示选择Platform name →4(PLATFORM_ESP32C5)Module name →ESP32C5-4MBSilence mode →0No推荐关闭方便看日志这一步会把esp-at要求的 esp-idfrelease/v5.5具体 commit 记录在module_config/module_esp32c5_default/IDF_VERSION克隆到esp-at/esp-idf目录下。4. 隔离 Python 工具环境解决串环境问题问题现象编译时反复报No module named colorama/xlrd/esp_idf_monitor即使装了包还是报错。原因电脑上之前装过另一套独立的 ESP-IDF系统里已经设置了IDF_TOOLS_PATH环境变量指向那里导致build.py复用了那套本身就不完整的 Python 环境。解决办法给 esp-at 项目单独指定一个干净的工具/环境目录不复用旧环境使用cmdset IDF_TOOLS_PATHC:\Users\liuch\esp\esp-at\.espressif python build.py install这会在esp-at\.espressif下重新装一套独立的 Python 虚拟环境和工具链cmake、ninja、编译器等不影响原来那套。5. 补装缺失的 Python 包新环境有时也没装全手动补齐在set IDF_TOOLS_PATH生效的同一个窗口里使用cmdC:\Users\你的文件\esp\esp-at\.espressif\python_env\idf5.5_py3.11_env\Scripts\python.exe -m pip install -r C:\Users\你的文件\esp\esp-at\esp-idf\tools\requirements\requirements.core.txt python -m pip install xlrd6. 激活完整编译环境关键一步问题现象build.py内部调用idf.py时会选错 Python 解释器不认新装的隔离环境导致No module named esp_idf_monitor反复出现即使包已经装好。解决办法用 ESP-IDF 官方的export.bat脚本一次性把正确的 Python、cmake、ninja、工具链路径都设置到当前 cmd 窗口的 PATH 里使用cmdesp-idf\export.bat7. 编译使用cmdpython build.py build编译成功固件生成在build\factory目录下。8. 烧录 / 查看日志使用cmdpython build.py -p COM3 flash python build.py -p COM3 monitorCOM3换成实际串口号二、以后日常编译每次开新窗口都要做IDF_TOOLS_PATH和export.bat设置的环境变量只在当前终端窗口有效关闭窗口后失效。以后每次要编译重复cd C:\Users\你的文件\esp\esp-at set IDF_TOOLS_PATHC:\Users\liuch\esp\esp-at\.espressif esp-idf\export.bat python build.py build省事办法写成批处理脚本在C:\Users\你的文件\esp\esp-at目录下新建dev.bat复制到txt中然后改文件类型尾缀即可。echo off cd /d C:\Users\liuch\esp\esp-at set IDF_TOOLS_PATHC:\Users\liuch\esp\esp-at\.espressif call esp-idf\export.bat以后开一个新 cmd 窗口cd C:\Users\liuch\esp\esp-at call dev.bat注意必须用call执行不能直接双击dev.bat双击会开一个新窗口跑完就关掉环境变量留不住回到原来的窗口没用。跑完call dev.bat后直接在同一个窗口敲python build.py build python build.py -p COM3 flash三、其他常用操作备忘配置项目可选python build.py menuconfig添加自定义 AT 指令改这两个文件参考examples/at_custom_cmd示例esp-at\examples\at_custom_cmd\custom\at_custom_cmd.c esp-at\examples\at_custom_cmd\include\at_custom_cmd.h如果自定义组件放在独立目录不推荐直接改esp-at\components下的原始代码需要设置set AT_CUSTOM_COMPONENTS(自定义组件的绝对路径)更新到新版本 ESP-ATgitfetch--all--tagsgitcheckout新版本taggitsubmodulesyncgitsubmodule update--init--recursive如果对应的 IDF 版本变了对比module_config/module_esp32c5_default/IDF_VERSION里的 commit删掉esp-idf目录重新走一遍第 3 步。若本地改过代码先git commit/git stash保存改动切换版本后再git cherry-pick/git stash pop合并回去解决可能的冲突。VS Code 使用方式文件 → 打开文件夹→ 选中整个esp-at目录直接在里面改代码编译/烧录/监视日志仍然用集成终端选 cmd 或 PowerShell不要用 Git Bash敲上面的命令需要更准的代码跳转/自动补全可在.vscode/c_cpp_properties.json里加compileCommands:${workspaceFolder}/build/compile_commands.json