VS Code安装PlatformIO疯狂踩坑记 Arduino环境配置

VS Code安装PlatformIO疯狂踩坑记 Arduino环境配置,第1张

文章目录
  • 前言
  • 一. 删除文件
  • 二. 卸载python重新安装
  • 三. Python换pip源
  • 四. 配置virtualenv虚拟环境
    • 1. 安装virtualenv虚拟环境库
    • 2. 创建virtualenv虚拟环境
    • 3. 激活virtualenv虚拟环境
    • 4. 将PlatformIO Core安装到虚拟环境中
    • 5. 将以下路径加入windows环境变量
  • 五. VSCode配置
  • 六. PlatformIO配置
    • 在线配置
      • 1)更换框架版本
      • 2)限制框架版本
      • 3)Rebuild
      • 4)编译和烧录
    • 离线配置
      • 0)下载地址
      • 1)替换工具链
      • 2)替换框架文件
      • 3)限制框架版本
      • 4)Rebuild
      • 5)编译和烧录

前言

起因是要搞一个稚晖君的HoloCublic,中间涉及到Arduino单片机的软件开发,所以需要建立一下开发环境

之前STM32、嵌入式Linux都一直在用VS Code,工具用起来也熟悉,能有多难

很快我就发现我错了,笔记本很少拿来开发,所以很多开发环境都没有配置,中间出现了各种奇奇怪怪的错误,最后折腾了两天才终于弄好

记住, 不要按照别人的方法去做, 官方文档才是最可靠的

https://docs.platformio.org/en/latest/core/installation.html#id36

这篇文章也只是我解决问题采用的方法和思路

一. 删除文件

首先删除 C:\Users\Administrator\.platformioC:\Users\Administrator\.vscode\extensions\platformio.platformio-ide-X两个文件夹.


还有桌面用户文件夹下的.platform文件

同时可以删除python和环境变量重新安装(不一定必要)

删除python是因为鬼知道电脑到底安装了多少个python

然后是环境变量

python 以及 Arduino相关的都清除干净,保证不会出什么幺蛾子

二. 卸载python重新安装

这里确认python 全部卸载完成后,重新进行下载安装

直接去官网

https://www.python.org/downloads/

这里多说一句,在下载python完成之后安装时候,选择Install Now,一定要勾选Add_Python 3.9.1 to PATH,防止手工添加环境变量

安装完成后在终端中使用

python --version
pip --version

判断安装成功否, 如果没用成功, 检查环境变量问题

三. Python换pip源

这一步就折腾了我一整天,起初是用的清华pip源,结果一直报错,排查了全部流程,然后发现换了个阿里pip源之后一切问题都解决了

在C:\Users\(这个文件夹名是用户名)\pip的目录下,用文本工具新建pip.ini

例如:我是在C:\Users\Administrator\pip目录下,新建了pip.ini

如果用户名目录无效,改到appdata目录

pip.ini内填入

[global]
# 超时时间,可自行调整
timeout = 6000
# 源地址
index-url = http://mirrors.aliyun.com/pypi/simple/
# 添加源主机为可信主机,要不然可能报错
trusted-host = mirrors.aliyun.com

国内常用pip源如下:

(1)阿里云 http://mirrors.aliyun.com/pypi/simple/
(2)豆瓣http://pypi.douban.com/simple/
(3)清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
(4)中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
(5)华中科技大学http://pypi.hustunique.com/

查看配置

pip config list

这一步也很关键,更新pip为最新版

pip install --upgrade pip

如果报错,则按照提示

pip install --user --upgrade pip
四. 配置virtualenv虚拟环境 1. 安装virtualenv虚拟环境库

打开终端输入

virtualenv --help

检查自己有没有python虚拟环境库 virtualenv

十有八九是没有

那就安装吧!

pip install virtualenv

安装完再用virtualenv --help检查一下

2. 创建virtualenv虚拟环境

使用virtualenv创建文件夹

virtualenv C:\Users\Administrator\.platformio\penv

Administrator 换成自己的文件夹,如果文件名称有空格,加英文的双引号

3. 激活virtualenv虚拟环境
virtualenv C:\Users\Administrator\.platformio\penv\Scripts\active
4. 将PlatformIO Core安装到虚拟环境中
pip install -U platformio
5. 将以下路径加入windows环境变量
C:\Users\Administrator\.platformio\penv\Scripts

五. VSCode配置

打开vscode按照下图安装platformio

安装后开一看到下面会有个进度条开始安装不同的插件,忽然到某一个瞬间,进度条就会停在下图的位置不动,这是可以打开控制台来查看报错信息。来确定问题。

在菜单点击”help“->"Toggle Developper Tools"菜单,选择”console“标签。

这是你会发现这个部分显示了很多信息,有错误有警告,不要担心,我们一点点看。这个其实是个自动安装的过程


如果这个过程太漫长而且没有任何变化,好像又没有报错,你可以打开下面的这个文件夹。你可以看到这里慢慢的在增加文件数量。看到下面这样了 基本就是安装ok的

安装成功后,vscode会提示你重启~ 重启后就会像下面这样有一个小蚂蚁。


六. PlatformIO配置

如前言所述的框架不兼容问题,故安装完PlatformIO IDE后,不能直接打开和编译AIO源码工程,需要配置框架。

此处提供两种配置方式:在线配置和离线配置,两种方式的最终效果相同,二选一即可。

在线方式会让你清楚过程中做了哪些改变,但根据网络条件的好坏,可能会有较长时间的等待,甚至会无限load task。原因是过程中会下载所需要的Arduino框架和交叉编译工具链。如果网络较差,等待时间上不封顶;若网络较好,几分钟就能搞定。

离线方式跳过了在线配置的所有步骤,直接把所需的所有文件一键粘贴到对应路径,然后重启VS Code即可直接进行编译。

推荐使用离线配置方式。

在线配置 1)更换框架版本

图示”进入下一界面“后,选择Ver3.5.0,并单击蓝色按钮进行安装,等待d出安装完成的提示框。

2)限制框架版本

在Platformio IDE中打开AIO工程文件,如下图所示修改platform.ini 文件中的内容,重启开发环
境,强制使用Ver3.5.0的Espressif32框架。

3)Rebuild

重启后,重新打开AIO工程,下图所示红框内会有PlatformIO: Loading tasks… 字样,等待其
消失即可,等待时长据网络条件而定。

4)编译和烧录

上一步的字样消失后,即可点击下图所示按钮进行编译和烧录。编译成功后就如下图所示,显示绿
色的”seccess“字样。

注:如果是首次烧录,根据网络条件,烧录一开始可能会有不定时长且无提示的卡顿,这是因
为首次烧录时会在线下载一个烧录所需的工具,等待其下载完毕,最终显示绿色“success”字样即
为烧录成功。

离线配置 0)下载地址

PIO_ESP32离线包

https://download.csdn.net/download/szm1234/85384042

1)替换工具链

下载并解压上文提到过的”离线包“,解压后如下图所示:

将3.配置PlatformIO IDE所需文件夹中名为packages 的压缩包解压,并将其中所有文件夹“替换
粘贴”到如下路径中:

C:\Users\(你的用户名)\.1 platformio\packages
2)替换框架文件

3.配置PlatformIO IDE所需文件夹中名为platform 的压缩包解压,并将其中所有文件夹“替换
粘贴”到如下路径中:

C:\Users\(你的用户名)\.platformio\platforms
3)限制框架版本

在Platformio IDE中打开AIO工程文件,如下图所示修改platform.ini 文件中的内容,重启开发环
境,强制使用Ver3.5.0的Espressif32框架。

4)Rebuild

重启后,重新打开AIO工程,下图所示红框内会有PlatformIO: Loading tasks… 字样,十几秒
钟后,字样消失,即可进行编译和烧录。

5)编译和烧录

上一步的字样消失后,即可点击下图所示按钮进行编译和烧录。编译成功后就如下图所示,显示绿
色的”seccess“字样。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/921301.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存