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

Posted “逛丢一只鞋”

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS Code安装PlatformIO疯狂踩坑记 Arduino环境配置相关的知识,希望对你有一定的参考价值。

文章目录

前言

起因是要搞一个稚晖君的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,并单击蓝色按钮进行安装,等待弹出安装完成的提示框。

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“字样。

创作打卡挑战赛 赢取流量/现金/CSDN周边激励大奖

以上是关于VS Code安装PlatformIO疯狂踩坑记 Arduino环境配置的主要内容,如果未能解决你的问题,请参考以下文章

PlatformIO IDE,VS Code与Arduino

rsyslog磁盘辅助(Disk-Assisted)模式踩坑记

ESP8266 LittleFS文件系统基于VS Code and PlatformIO使用

ESP32 /ESP8266在VS Code and PlatformIO上传文件系统 (SPIFFS)

vscode配置踩坑

nginx 安装踩坑记