×

VSCode+PlatformIO环境配置方法

zhuzhuangtian zhuzhuangtian 发表于2023-10-25 19:31:49 浏览814 评论0

抢沙发发表评论

使用PlatformIO开发Arduino板子,包括ESP32\8266等整体流程还是比较舒服的,主要编译下载的速度确实比ArduinoIDE要快的多,但是最初的开发环境配置实在是让人头大。

之前安装PlatformIO的时候就遇到过下载慢,装半天装不上的问题,尤其是下载ESP32、8266的依赖文件、工具链等,没有几个小时下不来。

这次重新走了一遍流程,记录一下其中的一些关键点。

首先PlatformIO在VSCode中的扩展分为两个部分,一是vscode插件本身,这个直接在插件管理器中安装即可,二是platformio core,这是一系列Python工具。

正常来说安装插件后会自动下载安装platformio core,包括下载一个Python解释器、创建一个虚拟环境、安装必要的依赖模块等(也有可能不会自动安装python,在我另一台电脑上安装时必须手动指定Python解释器的位置)

但不知道是因为网络原因还是服务器原因,第一次安装的时候卡了很久没动静,然后一直报网络连接错误(错误信息来自urllib中的响应超时)

最终采用以下方法成功安装:

  1. vscode中正常安装PlatformIO插件

  2. 侧边栏里点击PlatformIO的图标,接着自动开始安装platformio core(以下简称core)

  3. 这一步通常是成功不了的,如果直接自动安装成功了那最好,出现报错、卡住不动再往下走,手动安装

  4. 电脑上首先需要有Python环境,理论上3.6以上版本都可以。

  5. 创建一个干净的虚拟环境:

    1. 在当前用户主目录下创建一个.platformio文件夹,打开Powershell

    2. # 在当前用户主目录下创建一个.platformio文件夹,打开Powershell,创建一个python虚拟环境
      PS C:\Users\57658\.platformio> python -m venv pyenv
      # 激活虚拟环境
      PS C:\Users\57658\.platformio> .\pyenv\Scripts\activate
    3. #如果激活虚拟环境报错,用管理员权限运行Powershell,运行 Set-ExecutionPolicy RemoteSigned
    4. #pip安装platformio
    5. pip install platformio
  6.  等待安装完成后,将pyenv\Scripts目录添加到环境变量中

  7. 重启Powershell,输入pio 回车,如果成功执行,输出提示信息,说明安装成功。

  8. 重新启动vscode,会再次显示正在安装platformio core,不要慌,稍等十几秒钟就显示安装成功了,在左侧边栏中点击Open即可看到PIO的主页,本质上就是个web应用,即使不用vscode,在Powershell中运行pio home,也会自动在浏览器中打开这个页面

  9. image.png

  10. 安装ESP32、8266的开发工具链

    1. 在创建项目之前,建议先安装好相应的平台依赖。通过命令安装比通过GUI操作要快得多,无需挂梯子,能看到安装进度,跟正常pip安装模块差不多的速度。

    2. 参考 Installation · platformio/espressif32 – PlatformIO Registry 

    3. 通过命令安装

      1. pio pkg install --global --platform "platformio/espressif32@^6.4.0
    4. 之前我把platform、package文件存在了百度网盘,所以这次就直接从网盘下载下来,同样放到.platformio文件夹下即可使用

  11. 安装第三方库

    1. 在GUI里的库管理器中找到相应的库后,可以直接add to project。如果这样操作不行,可以在项目文件夹内运行pio命令来安装

    2. 在这里可以搜到所有库 PlatformIO Registry – PlatformIO Registry 并且可以直接复制安装命令到终端中运行,简直优雅,比用GUI不知道高到哪里去

    3. 比如要安装Adafruit的INA219库,可以运行下面的命令

    4. pio pkg install --library "adafruit/Adafruit INA219@^1.2.1"
    5. 安装完成后项目的配置文件platformio.ini会自动更新,然后直接在程序中include头文件,编译上传就搞定了。

    6. image.png

  12. 最后再吐槽下PIO的这个GUI,明明同样的操作用GUI就是比用命令行慢很多,而且好像用GUI必须挂梯子才能联网,直接用CLI就不用。也不知道是VScode的问题还是PIO本身的问题。Anyway,到这里关于环境搭建的问题就记录完毕了。

  13. PlatformIO的定位是一个全能的嵌入式IDE,其功能还是很强大的,目前用到的仅仅是最基础的包管理、编译上传功能,更高级的调试、测试等功能后面有机会再慢慢探索吧。



群贤毕至

访客