VSCode安装 PlatformIO 插件指南

公众号阅读:

前言

在前几次发的文章中多次提到PlatformIO这个VSCode插件,很多同学私信我说非常难安装,希望我继续分享如何在国内快速安装PlatformIO。其实PlatformIO官网提供了详细的安装文档和PIO的使用手册。大家可以参考官网文档。本文将主要介绍在Linux环境中安装PlatformIO插件。
当我们在VSCode的插件中点击安装PlatformIO时,VSCode会自动在Github中下载PlatformIO,由于墙的原因,Github在国内访问经常不稳定或无法访问,对于没有翻墙VPN的同学,也许会面临多次下载失败的问题。不过肯定有办法解决的!

安装插件流程

  • 安装VSCode

  • 安装PIO插件

  • 安装PIO Core

  • 安装MCU支持包

安装VSCode

如果你没有安装好VSCode,请在VSCode的官网安装下载,或使用命令下载。

1wget https://vscode.download.prss.microsoft.com/dbazure/download/stable/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2/code_1.85.1-1702462158_amd64.deb

也可在网盘下载安装文件。

网盘链接

图片

链接: https://pan.baidu.com/s/1l8ENb1qywILZb3IvKDyQ3A?pwd=1234 提取码: 1234 

本人下载的VSCode版本是V1.86,下载后在终端中使用命令安装。

1sudo dpkg -i code_1.85.1-1702462158_amd64.deb

在VSCode安装PlatformIO IDE插件

点击VSCode左侧插件中心,搜索platformio ide然后点击安装即可。

图片

 

初始化PIO Core

安装插件的过程非常快,插件安装完成后请点击左侧小蚂蚁图标,首次进入会进入PIO初始化的状态,如果Github访问不稳定,则该状态会持续很久甚至失败。页面的右下角会显示进度。

图片


如果初始化失败或耗费较长时间,我们可以采取离线安装的方式。
首先我们需要获取到PIO Core的源码。

1git clone https://github.com/platformio/platformio-core.git

或直接点击官方源码压缩文件Source code(zip) ,或点击网盘链接中下载。
拿到压缩文件后,执行以下命令。

1unzip platformio-core-installer-1.2.1.zip
2cd platformio-core-installer-1.2.1
3python get-platformio.py

成功状态如下

图片


根据提示你可以将PIO的命令路径添加到环境变量,可添加以下内容到文件~/.profile。完成后,整个环境的目录如下:

图片

 

1export PATH=$PATH:/home/~/.platformio/penv/bin

再次打开VSCode即可成功进入PIO Home.

图片

 

安装MCU平台支持包

MCU的支持包可以安装官方支持的,如AVR/STM32/ESP等主流单片机,也可通过第三方开发的包安装,如下所示.

图片

 

快捷方法

针对Ubuntu系统,也可以选择直接解压网盘文件的.platformio.zip文件到用户目录。但是不保证一定能生效。本人的系统信息如下

图片

 

测试

为了测试效果,本例将新建一个51单片机的参考例程。
首先安装平台支持包

图片

image.png

新建基于51的ledblink代码例程

图片

 

编译

图片

 

常用快捷命令

  • 编译: pio run

  • 下载: pio run -t upload

  • 浏览器中打开PIO Home: pio home

图片

 

  • 查看支持的主板: pio boards

图片

 

  • 安装芯片支持包: pio pkg install

    图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/294893.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第十课:计算机心理学、教育科技及奇点,天网,计算机的未来

第十课:计算机心理学、教育科技及奇点,天网,计算机的未来 第三十八章:计算机心理学0、计算机中用到的心理学原理1、易用度2、颜色强度排序和颜色排序3、分组更好记4、直观功能5、认出VS回想6、让机器有一定的情商以及Facebook的研…

案例094:基于微信小程序的图书馆自习室座位预约管理系统

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

Unraid APP下载慢解决方法

1.首先你的APP商城能够打开 这里我已下载Jellyfin为例 使用APP查找镜像,是为了获取下面的配置模板 2.修改地址 默认的地址是 lscr.io/linuxserver/jellyfin服务器在国外,被墙了.下载具慢 我们需要把这个下载源修改成国内的 有很多国内的源,但是我觉得阿里的比较快 3.获…

低代码UI构件程序设计基础实训一

步骤一 低代码在线调试工具 网址 低代码在线调试工具 步骤二 D盘建一个文件夹,文件夹下建两个文件夹ico和js 网上找一些图片,后缀.png,编号从0开始,图片另存到ico文件夹下 下载(右键另存为)以下四个页面…

discard long time none received connection

使用DruidDataSource 做数据源时,如果创建的连接在长时间得不到调用后会报如题所示的错误 discard long time none received connection. ,jdbcUrl : jdbc:mysql://localhost:3306/test?autoReconnecttrue&useUnicodetrue&characterEncodingutf8&serverTimezoneC…

C语言编译器(C语言编程软件)完全攻略(第三部分:Windows下的编译器有哪些?如何选择?)

介绍常用C语言编译器的安装、配置和使用。 三、Windows下的编译器有哪些?如何选择? 安装编译器或者 IDE(集成开发环境),也叫搭建开发环境。Windows 下的C语言 IDE 众多,多如牛毛,初学者往往不…

信号强度功能 界面、逻辑和图标(免费)

信号强度 需求 vue项目,需要实时监控系统信号,要求: 1.共五格信号; 2.信号0-100为满值,信号100-500为四格,信号500-1000为三格,信号1000-5000为两格,信号5000-20000为一格&#x…

Python学习笔记(五)函数、异常处理

目录 函数 函数的参数与传递方式 异常处理 函数 函数是将代码封装起来,实现代码复用的目的 函数的命名规则——同变量命名规则: 不能中文、数字不能开头、不能使用空格、不能使用关键字 #最简单的定义函数 user_list[] def fun(): #定义一个函数&…

微软 Power Platform 使用Power Automate发送邮件以Dataverse作为数据源的附件File Column

微软Power Platform使用Power Automate发送邮件添加Power Apps以Dataverse作为数据源的附件File Column方式 目录 微软Power Platform使用Power Automate发送邮件添加Power Apps以Dataverse作为数据源的附件File Column方式1、需求背景介绍2、附件列File Column介绍3、如何在Po…

华焰天下隆重推出华火智能电燃灶产品,引领绿色科技新潮流!

近日,以“慧聚英雄南昌,论道策划科技——畅展华焰未来,迈向财富新时代”为主题的华火新能源产品发布会于江西南昌盛大举办。 各级领导、全国各地的企业家、家电行业优秀从业者、新能源应用领域专家、策划行业名人大咖及广大媒体朋友莅临活动…

小心JDK20 ZipOutputStream

Oracle 團隊竟然這麽粗心,編譯JDK 20 時ZipOutputStream沒有編譯成功就發佈了。 所以這個20版本不可以使用ZipOutputStream。 GZIPInputStream 只能做最後的壓縮,不能添加多個附件ZipEntry。 下一個版本21不存在這個問題。 try(var zipOut new ZipOu…

LabVIEW开发智能水泵监测系统

LabVIEW开发智能水泵监测系统 水泵作为水利、石化、农业等领域的重要设备,其能效与健康状态直接关系到提灌泵站的运行效率。尽管水泵机组在全球能源消耗中占有显著比例,但实际运行效率常因设备老化和维护不当而远低于预期。这一状况需要更高效的监测手段…

Spring Boot 整合 Knife4j(快速上手)

关于 Knife4j 官方文档:https://doc.xiaominfo.com/ Knife4j是一个基于Swagger的API文档生成工具,它提供了一种方便的方式来为Spring Boot项目生成在线API文档。Knife4j的特点包括: 自动化生成:通过Swagger注解,Kn…

黑马程序员SpringBoot2-运维实用篇

视频连接:运维实用篇-51-工程打包与运行_哔哩哔哩_bilibili 打包与运行 程序打包与运行(Windows) 可执行jar包目录结构 左上角的结构是没有插件打包后的结构,左下是安装插件后的结构。 jar包描述文件(MANIFEST.MF&a…

Python Gradio构建简单的交互界面

Gradio 是一个用于构建机器学习和数据科学的交互式应用程序的 Python 库,但是我们可以用它来构建一些简单的交互界面,其代码之简单令人震惊 文本输入输出 import gradio as grdef szu(text):return textinterface gr.Interface(fnszu, inputs"text…

开发知识点-Java网络编程-Netty

Netty P1 Netty-导学分布式网络返回 异步结果dubbo rabbitmqtest 测试案例多线程 日志 第1章_01_nio三大组件-channel-buffer网络编程 框架jdk 1.4 之后才有 nio这个 APIChannel 数据传输通道 (双向)Buffer 内存缓冲区 (暂存Channel 的 数据&…

Babylonjs 6.0文档 Deep Dive - 摄像机介绍(一)

摄像机 在Babylon.js的众多的可用摄像机中,最常用的两种可能是用于“第一人称”运动的通用相机、轨道相机ArcRotateCamera,以及用于现代虚拟现实体验的WebXRCamera。 为了允许用户输入,摄像机必须被附加在canvas中 camera.attachControl(c…

HttpRunner辅助函数debugtalk.py

辅助函数debugtalk.py Httprunner框架中,使用yaml或json文件进行用例描述,无法做一些复杂操作,如保存一些数据跨文件调用,或者实现一些复杂逻辑判断等,为了解决这个问题,引入了debugtalk.py辅助函数来进行一…

分布式数据之复制(Replication)

1.简介 1.1简介——使用复制的目的 在分布式系统中,数据通常需要被分散在多台机器上,主要为了达到以下目的: 扩展性,数据量因读写负载巨大,一台机器无法承载,数据分散在多台机器 上可以有效地进行负载均衡…