VSCode插件PlatformIO配置ESP8266使用教程


Ⅰ. 安装

VSCode就不介绍如何安装了,安装好VSCode后,直接打开Extensions,搜索PlatformIO点击install即可。

安装成功后重启便会多了个蚂蚁头样的栏目。并且状态栏会多出如下的图标。

Ⅱ. 安装平台支持

点击状态栏的家的那个图标,点击Platforms,搜索ESP,就会出来Espressif 8266,点击安装即可。

这样PlatformIO就安装完成了。

Ⅲ. 创建项目

创建完成之后PlatformIO会自动进行项目配置,并且出现在Exporter中。

目录解释:

  • .pio 一些系统库的路径和后期安装的第三方库路径。
  • .vscode 当前项目的项目配置,包括头文件路径,编译选项之类的。
  • include 当前项目自己写的头文件目录。
  • lib 自己写的库的目录。
  • src 源代码路径。
  • test 不知道为什么会叫这个名字,不过里面的 platformio.ini 挺重要的。
  • platformio.ini 当前项目的配置,指定板子型号,板载编译文件系统类型,第三方库的添加等一系列的配置。

Ⅲ. 编写测试代码

#include <Arduino.h>
#include <ESP8266WiFi.h>

const char *ssid = "incipe";
const char *password = "incipe";

void setup() {
  Serial.begin(9600);

  WiFi.softAP(ssid, password);

  Serial.print("Access Point: ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.softAPIP());
}

void loop() {}

本代码作用是让ESP8266产生一个wifi信号,名字密码都是incipe。

点击状态栏的勾即可编译代码。

点击状态栏的右箭头即可上传代码。

点击状态栏的垃圾桶即可清理项目。

点击状态栏的插头即可打开串口监视器。

点击状态栏的终端即可打开终端。

点击状态栏的文件夹即可对已有的工程进行选择。

Ⅳ. 遇到的问题

1. PIO, VSC can’t build, no tasks found

如果vscode自己配置过,那么很有可能遇到这个问题,如果第一次安装vscode的不会出现这个问题。

在PlatformIO社区找到了答案,PIO, VSC can’t build, no tasks found

大致意思就是,在全局配置文件里面把 "task.autoDetect": "off" 这句话删掉就好了。

2. 上传代码报一大串错,最后有个提示pip install -U platformio

这个本来照着提示来就好了,但是出现这个问题 pip安装包时出现 ValueError: check_hostname requires server_hostname 错误,解决办法 请参考 pip安装包时出现 ValueError: check_hostname requires server_hostname 错误,解决办法

简而言之就是把代理关掉就好了。

3. 修改默认工程目录

点击状态栏的终端按钮,进入PlatformIO终端。

# 查看所有可设置选项
pio settings get
# 设置默认工程目录(默认为~/Documents/PlatformIO/Projects)
pio settings set projects_dir ~/Documents/PlatformIO/Projects
# 设置是否启用PlatformIO 诊断数据收集(默认为Yes)
pio settings set enable_telemetry Yes
# 还原默认值
pio settings reset

参考 PlatformIO使用中遇到的坑

4. 安装第三方库

点击状态栏的家按钮,找到libraries,搜索想要安装的库。

点击这个库,然后点击 Add to Project 即可。

然后PlatformIO就会对这个工程进行配置,用户只需使用就好了。

5. 上传littleFS文件到esp8266

首先对工程进行配置,不然会失败。

加上这句就好了 board_build.filesystem = littlefs

然后在 src 的同级目录创建 data 文件夹,把要上传的数据放到 data 文件夹下。

然后点击右边的蚂蚁头样,点击 Upload Filesystem Image 即可。

然后会连接esp8266的串口把 data 的文件传上去。

Ⅵ. 总结

学习汇总,记录问题,希望有帮助。


文章作者: incipe
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 incipe !
评论
 上一篇
Tft_eSPI驱动ST7735液晶屏 Tft_eSPI驱动ST7735液晶屏
Ⅰ. 前言买了块1.8寸的tft液晶屏,之前一直用 Adafruit_ST7735 和 Adafruit_GFX 库驱动,使用还挺简单的,但是有些功能使用起来还是不太方便,也不太通用,换成 Tft_eSPI 库驱动,遇到了不少问题,记录下。
2021-06-09
下一篇 
GEC6818移植rtl8723bu wifi驱动 GEC6818移植rtl8723bu wifi驱动
1. 配置内核进入内核目录。 执行 make menuconfig 然后会打开一个配置工具,它可以让你遍历每个可用模块,然后启用或者禁用你需要或者不需要的模块。(空格表示选择) 进入 NetWork device support 层下的 W
2021-05-22
  目录