VS Cose + PlatformIO +ESP32-S3 + ESPIDF开发环境安装卡壳持续等待问题解决

问题描述与背景

搭建VS Code + PlatformIO + ESP32-S3 + ESP-IDF 开发环境时遇到了下载问题、安装问题、新建项目持续等待、编译报错等问题,折腾了很长时间,静下心来逐个分析问题,借助大模型、网络帖子等多种方式,终于解决,简单总结笔记如下。

理想状态下官方给的安装步骤:

    1. 下载VS,安装VS
    1. 在VS的Extension中检索PlatformIO IDE,点击Install,等待安装完成
    1. 安装成功后,重启,新建Project
    1. 等待新建成功,
    1. build项目,确认环境是否安装成功。

实际安装遇到的问题

    1. 没有安装依赖环境(如C/C++,ESP-IDF插件、python环境、git)
      如果没有安装会导致编译时报各种错,例如下面这2个报错是python环境和git的问题,提前安装好依赖环境即可解决这些问题。
      No pyvenv.cfg file
      Reading CMake configuration...
      -- git rev-parse returned 'fatal: not a git repository (or any of the parent directories): .git'
      -- Configuring incomplete, errors occurred!
    1. 国外源,安装、下载、初始化,均会遇到很慢,或漏下,下载不全出的错误,需要持续等待很长时间,最后还有可能报错。我后来抛弃了让IDE自己下载安装文件的方式,采用了pip下载并安装,成功解决了以上这些问题。

安装过程

  1. VS安装成功后,不能急着安装 PlatformIO ,先安装依赖环境C/C++
  2. 然后安装ESP-IDF,我安装的是ESP-IDF5.4
  3. 接着安装python,注意版本要与ESP-IDF的版本匹配,我选择了python3.10,比较通配
  4. 还要安装git,后续再编译工程文件时idf.cmake中 会有对Git的引用。如果不安装也会报错
  5. 配置参数:找到settings,随便找一个edit in settings.json进入编辑页面
  6. 增加settings如红框所示:配置指定了platformio-ide不使用ide默认都PIOCore和Python,指向用户自己安装的python3.10的路径,设定阿里镜像,缓解速度问题( "platformio-ide.useBuiltinPIOCore": false,
    "platformio-ide.useBuiltinPython": false,
    "platformio-ide.customPATH": "C:\Users\chend\AppData\Local\Programs\Python\Python310\Scripts", /* 设置不自动更新 */
    "platformio-ide.customPyPiIndexUrl": "https://mirrors.aliyun.com/pypi/simple/",)
  7. 设置好参数后,在vs中进入extensions,找到platformIO IDE,点击install,等待几分钟,安装好后
  8. 打开cmd,使用pip下载platformio:(pip install -i https://pypi.tuna.tsinghua.edu.cn/simple platformio)

    pip安装好以后,查看一下,可以看到platformIO的版本
  9. 用pio命令下载开发板的工具文件(pio project init --board esp32-s3-devkitc-1)

    等待十几分钟,提示project初始化成功
  10. 打开vs code,点击左侧的小蚂蚁头-QuickAccess-Open-New Project,新建esp32-s3的项目,选择乐鑫的esp32-s3开发板,框架选择ESPidf,几分钟后即可新建完成(再也不会让等待很久还是不停的下载东西,最后还无法编译通过)
  11. 点击对勾,尝试编译新项目,编译成功,环境问题终于解决了!这一路走过的弯路和各种尝试,都是值得的,总结一句话,遇到问题分析、解决,循环,只要够坚定,试错99次,第一百次也就是正确方法。
相关推荐
默_笙19 小时前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
qq_4260039619 小时前
启动playwright录制codegen生成自动化测试脚本
python·自动化
调试优选官19 小时前
IoT物联网系统定制落地实践:从设备接入、协议网关、平台分层到业务应用,如何做技术选型、交付验收、责任边界与长期运维成本评估及迁移安排
物联网·iot·成本分析
虎头金猫19 小时前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技20 小时前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读20 小时前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
只睡四小时21 小时前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
深圳老胡21 小时前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
华允物联-HUAIOT21 小时前
工业路由器和DTU在联网方式上的区别
物联网
奇思妙想聪明勤奋的小羊21 小时前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型