前言
起因是要搞一个稚晖君的HoloCublic,中间涉及到Arduino单片机的软件开发,所以需要建立一下开发环境
之前STM32、嵌入式Linux都一直在用VS Code,工具用起来也熟悉,能有多难
很快我就发现我错了,笔记本很少拿来开发,所以很多开发环境都没有配置,中间出现了各种奇奇怪怪的错误,最后折腾了两天才终于弄好
记住, 不要按照别人的方法去做, 官方文档才是最可靠的
https://docs.platformio.org/en/latest/core/installation.html#id36
这篇文章也只是我解决问题采用的方法和思路
一. 删除文件
首先删除 C:\Users\Administrator\.platformio 和 C:\Users\Administrator\.vscode\extensions\platformio.platformio-ide-X 两个文件夹.
还有桌面用户文件夹下的.platform文件
同时可以删除python和环境变量重新安装(不一定必要)
删除python是因为鬼知道电脑到底安装了多少个python
然后是环境变量 python 以及 Arduino相关的都清除干净,保证不会出什么幺蛾子
二. 卸载python重新安装
这里确认python 全部卸载完成后,重新进行下载安装
直接去官网
https:
这里多说一句,在下载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:
# 添加源主机为可信主机,要不然可能报错
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“字样。
|