VS Code中PlatformIO IDE的安装并开发Arduino
VS Code中PlatformIO IDE的安装并开发Arduino
VS Code的安装
- 略
PlatformIO IDE的安装
PlatformIO IDE是是什么
- PlatformIO IDE 是一个基于开源的跨平台集成开发环境(IDE),专门用于嵌入式系统和物联网(IoT)开发。它提供了一个全面的工具链,包括代码编辑器、项目管理、调试器、库管理器等功能,能够支持多种硬件平台和开发板,如Arduino、ESP8266、ESP32等。PlatformIO IDE的主要目标是简化嵌入式系统开发流程,使开发者能够更轻松地构建、调试和部署嵌入式应用程序。
安装过程
- 准备好梯子(略)
- 打开VS Code电机左侧拓展按钮,并在搜索框中搜索PlatformIO IDE,选择第一个蚂蚁头,点击安装。
- 等待下载完成即可
- 下载完成后,重启VS Code,点击左侧活动栏蚂蚁头标识即可进入PlatformIO,第一次打开PIO还会自行设置一些必要的东西,耐心等待即可。
简单入门使用
创建工程
- 点击New Project
- 写入工程名称,选择板子型号和框架,我这里以Arduino Nano ATmega328举例,并选择项目路径(我这里选了默认项目路径),完成后点击Finish
- 等待项目建立完成即可
- 项目目录结构如下
遇到的问题及解决方案
卡在创建工程界面无法进入
- 如下图
- 原因:
- PlatformIO 并不使用系统安装的 Python,而是会自行下载一个 Python 解释器。这意味着我们需要单独配置这个自带的 Python 解释器的 pip 源,由于国外的 pip 源下载速度可能较慢,所以需要将其修改为国内的源,以确保依赖包能够快速下载。
- 并且默认情况下,PlatformIO 不会使用系统的代理设置,所以需要在配置文件中单独配置代理信息,以确保能够通过梯子加速下载。
- 解决方案:
- 修改Python的pip源为国内的源
- 配置代理服务器
- 进入.platformio/penv文件夹,修改pip.conf文件,内容如下
- 配置pip镜像源为阿里云
- **proxy =http://127.0.0.1:7890 ** 替换成你梯子的地址和端口即可
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
proxy = http://127.0.0.1:7890[install]
trusted-host = mirrors.aliyun.com
- 并返回上一级,删除.cache文件中的所有内容
串口监视器显示乱码
- 如下图
- 原因:PlatformIO的默认串口波特率是:9600 8-N-1,而我们的程序设置的波特率可能不是这个值。
- 解决方法:将串口波特率设置成与我们的程序一致即可。
- 如下图,在platformio.ini文件中,根据自己程序设置的波特率,添加一行语句,如我程序中设置的波特率为115200,则添加monitor_speed = 115200,然后保存。
- 之后再打开串口监视器,就输出正常信息了。
无法在中断使用platformio相关命令
- 原因:platformio直接通过VS Code拓展下载并不会直接将 PlatformIO 的可执行文件路径正确添加到系统的环境变量 PATH 中
- 当通过 Visual Studio Code (VS Code) 扩展商店安装扩展时,它们通常是安装在 VS Code 的本地扩展目录中,而不是系统级别的环境中。这意味着这些扩展只能在 VS Code 内部使用,并不会修改系统的环境变量或者 PATH。
- 例如,如果你安装了 PlatformIO IDE 扩展,它会集成到 VS Code 里,并且你可以在 VS Code 的内置终端中使用 PlatformIO 命令。但是,这并不意味着 PlatformIO 的命令行工具会自动添加到系统的 PATH 环境变量中,因此你可能无法在 VS Code 之外的命令提示符或 PowerShell 中直接调用 PlatformIO 命令。
- 解决方法:使用pip指令下载最新版本的PlatformIO即可
- 在安装过程中,pip 通常会确保任何必要的环境变量更新被执行,包括将
platformio
的可执行文件路径添加到 PATH 环境变量中。
- 在安装过程中,pip 通常会确保任何必要的环境变量更新被执行,包括将
- 在终端中输入以下指令
pip install -U platformio
- 等待下载完成后,再在终端中输入platformio就正常了。
相关文章:

VS Code中PlatformIO IDE的安装并开发Arduino
VS Code中PlatformIO IDE的安装并开发Arduino VS Code的安装 略 PlatformIO IDE的安装 PlatformIO IDE是是什么 PlatformIO IDE 是一个基于开源的跨平台集成开发环境(IDE),专门用于嵌入式系统和物联网(IoT)开发。…...

Java入门——异常
异常的背景 初识异常 我们曾经的代码中已经接触了一些 "异常" 了. 例如: //除以 0 System.out.println(10 / 0); // 执行结果 Exception in thread "main" java.lang.ArithmeticException: / by zero //数组下标越界 int[] arr {1, 2, 3}; System.out.…...

智慧园区:视频系统建设的核心要素与实践路径
一、背景分析 园区作为城市的基本单元,是最重要的人口和产业聚集区。根据行业市场调研,90%以上城市居民工作与生活在园区进行,80%以上的GDP和90%以上的创新在园区内产生,可以说“城市,除了马路都是园区”。 园区形态…...

基于ChatGLM+Langchain离线搭建本地知识库(免费)
目录 简介 服务部署 实现本地知识库 测试 番外 简介 ChatGLM-6B是清华大学发布的一个开源的中英双语对话机器人。基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT…...

MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
前言 做数仓开发离不开 SQL ,写了很多 HQL 回头再看 MySQL 才发现,很多东西并不是 HQL 所独创的,而是几乎都来自于关系型数据库通用的 SQL;想到以后需要每天和数仓打交道,那么不管是 MySQL 还是 Oracle ,都…...
SCSS详解
SCSS(Sassy CSS)是Sass 3引入的新语法,完全兼容CSS3,并且继承了Sass的强大功能。与原始的Sass语法不同,SCSS语法使用了和CSS一样的块语法,即使用大括号“{}”将不同的规则分开,使用分号“;”将具…...
Vue 问题集
Q:MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 connection listeners added. Use emitter.setMaxListeners() to increase limit A: 可能由多个问题导致,我的是情况1 1. vue.config.js - devServer 代理设置只能添加10个&#…...
Elasticsearch 8.1官网文档梳理 -综述
积累 Elasticsearch 的常用知识,以及日常维护、学习用到的 API。因为相关内容太多,所以根据模块整理成了不同的文章,并在这里做汇总,整个系列的文章都会持续更新 目录 Elasticsearch 8.1官网文档梳理 - 四、Set up Elasticsearc…...
当自身需要使用的 gcc版本 和Linux 默认版本 存在大版本差异时怎样处理
前言 本文档意在说明 当使用者 gcc 版本 和 Linux系统默认的gcc版本 存在 大版本差异 时,怎样处理,能够兼用多个版本 并且对已有 程序影响最小。 问题描述 linux系统默认的gcc版本:7.5.0我们程序需要使用的gcc版本:8.4.0 安装…...

深度学习之卷积神经网络理论基础
深度学习之卷积神经网络理论基础 卷积层的操作(Convolutional layer) 在提出卷积层的概念之前首先引入图像识别的特点 图像识别的特点 特征具有局部性:老虎重要特征“王字”仅出现在头部区域特征可能出现在任何位置下采样图像,…...

控制台的高度可调有哪些重要意义解析
在现代办公环境中,控制台的高度可调性越来越受到重视。它不仅为员工提供了更加舒适的工作环境,还提高了工作效率和生产力。本文将详细探讨控制台高度可调的重要性,并解析其在实际应用中的优势。 个性化适应需求 对于长时间在控制台前工作的用…...

智能招聘?远在天边,近在眼前
2023年曾被称为“史上最卷毕业季”,当年应届高校毕业生高达1158万人。人力资源社会保障部公布的数据显示,即将到来的2024毕业季,全国普通高校毕业生规模预计将达1179万人,同比增加21万人,就业总量压力依然高企。看来&a…...

文字游侠AI丨简直是写作神器,头条爆文一键生成稳定赚米!附渠道和详细教程(只需四步)!
在数字时代的浪潮中,人们不断寻求网络空间中的商机,期望在互联网的浩瀚海洋里捕捉到稳定的财富。随着人工智能技术的突飞猛进,越来越多的AI工具被融入到各行各业,开辟了新天地,带来了创新的盈利模式。 其中,…...
【ES6】简单剖析一下展开运算符 “ ... “
基本用法 let row {id: 1,name: John Doe,age: 30 };let newRow { ...row };console.log(newRow); // 输出: { id: 1, name: John Doe, age: 30 }基本用法就是通过展开运算符,将某个对象中的元素依次展开,然后赋值给新的对象。 但是值得注意的是&…...
java StringUtils类常用方法
StringUtils类是Apache Commons Lang库中提供的一个工具类,用于处理字符串操作。它包含了许多常用的方法,以下是其中一部分常用方法: StringUtils.isEmpty(String str):判断字符串是否为空,如果字符串为null、空字符串…...
科锐国际(计算机类),汤臣倍健,中建三局,宁德时代,途游游戏,得物,蓝禾,顺丰,康冠科技24春招内推
科锐国际(计算机类),汤臣倍健,中建三局,宁德时代,途游游戏,得物,蓝禾,顺丰,康冠科技24春招内推 ①汤臣倍健 【内推岗位】:市场类、营销类、研发类…...
一些常见开发框架相关题目,RESTful是什么,Electron是什么,Express, Koa
RESTful架构 1. 什么是RESTful架构? REST(Representational State Transfer)是一种软件架构风格,它强调简单、无状态的接口,以资源为核心,使用统一的接口进行资源的访问。RESTful架构通常基于HTTP协议&am…...

C++进阶之路:何为默认构造函数与析构函数(类与对象_中篇)
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…...

初识C语言——第二十一天
猜数字小游戏的实现: 学会了之后可以自己制作彩票抽奖,哈哈! 代码实现: #include <stdlib.h> #include <time.h>void menu()//无返回值函数 {printf("**************************\n");printf("****…...

使用make_blobs生成数据并使用KNN机器学习算法进行分类和预测以及可视化
生成数据 使用make_blobs生成数据并使用matplotlib进行可视化 完整代码: from sklearn.datasets import make_blobs # KNN 分类器 from sklearn.neighbors import KNeighborsClassifier # 画图工具 import matplotlib.pyplot as plt # 数据集拆分工具 from sklea…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台
淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态
前言 在人工智能技术飞速发展的今天,深度学习与大模型技术已成为推动行业变革的核心驱动力,而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心,系统性地呈现了两部深度技术著作的精华:…...