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次,第一百次也就是正确方法。
相关推荐
Java后端的Ai之路2 小时前
【Python教程11】-文件
开发语言·python
weixin_456808382 小时前
【沁恒蓝牙开发】 LDE(外设)输出互补的PWM
单片机·嵌入式硬件
柱子jason2 小时前
使用IOT-Tree对接工业现场PLC并把采集数据记录到关系数据库中
数据库·物联网·plc·工业物联网·工业自动化·iot-tree·生产线配套
2301_822375442 小时前
Python虚拟环境(venv)完全指南:隔离项目依赖
jvm·数据库·python
2301_790300962 小时前
Python类型提示(Type Hints)详解
jvm·数据库·python
Eric.Lee20212 小时前
SLAM 路径规划的安全走廊实现
python·机器人·ros·路径规划·避障·安全走廊
小W与影刀RPA2 小时前
【影刀RPA】:智能过滤敏感词,高效输出表格
大数据·人工智能·python·低代码·自动化·rpa·影刀rpa
Yorlen_Zhang2 小时前
python Tkinter Frame 深度解析与实战指南
开发语言·python
2401_838472512 小时前
Python多线程与多进程:如何选择?(GIL全局解释器锁详解)
jvm·数据库·python