PlatformIO学习之ESP8266开发环境搭建
PlatformIO 是开源的物联网开发生态系统。提供跨平台的代码构建器、集成开发环境(IDE),兼容 Arduino,ESP8266和mbed等。支持在Windows、Linux、macOS上使用预编译好的工具链,调试器和框架进行开发。
使用PlatformIO开发嵌入式有很多方便之处,首先PlatformIO不是独立的IDE,只是一个VisualStudio Code中的一个插件,所以安装非常方便,如果熟悉使用VSCode的话更好。
此外PlatformIO中可以统一安装嵌入式开发的平台支持和类库,免去了频繁的下载和搭建各种编译环境,免去了系统不兼容造成的麻烦。因为这些编译环境和上传调试工具都由平台支持者统一去适配好了。
对于ESP8266开发板,使用Arduino开发也很方便,不过PlatformIO支持得更好,提供了Arduino,NonOS-SDK,RTOS-SDK的开发方式,只要把平台更新好就可以开始写user代码了,非常方便。
PlatformIO使用步骤
1. 安装PlatformIO
打开VSCode扩展栏,搜索PlatformIO,然后安装,等待安装成功后重新加载即可,安装成功后左侧多出一个蚂蚁头样的栏目。
2. 安装平台支持
打开PIO Home > Platforms, 去Embedded栏搜索ESP,就会出来Espressif 8266,点右上方install即可安装平台支持。
3. 创建项目
在PIO Home > Home, 点击 New Project, 就可以创建项目,创建的时候Board一栏可以根据情况选个,比如NodeMCU,Framework一栏是指定软件框架的,可以根据情况选择Arduino(兼容Arduino),NonOS(不带RTOS),RTOS(带RTOS),选择完成等待配置完成,就可以开发项目了。也可以点Project Examples,查看自带的示例。
4. Hello Arduino
创建了一个Arduino项目,在src/main.cpp中编写代码即可,和在Arduino IDE中编写是一样的,不过在头部要加上 #include “Arduino.h” 。
1 | #include "Arduino.h" |
5. 使用技巧
每个项目的重要配置,主要保存在platformio.ini文件中,可以指定平台,板卡,软件框架,串口烧写速率,串口终端波特率等,例如:
1
2
3
4
5
6[env:nodemcuv2]
platform = espressif8266
board = nodemcuv2
framework = arduino
upload_speed = 921600
monitor_speed = 115200代码写完后需要运行只需要点下方的向右箭头→,即可完成编译和烧写,和Arduino IDE类似。点下方插头图标🔌,即可打开串口终端查看消息
VSCode代码格式化样式设置:默认的代码格式化是VS样式,如下:
1
2
3
4
5
6
7
8
9
10
11
12int test()
{
int i = 3;
if (i == 3)
{
i = 4;
}
else if (i == 4)
{
i = 3;
}
}这样子比较占行数,我们一般习惯LLVM样式,只要在设置 > 扩展 > C/C++ > C_Cpp: Clang_format_style
修改设置位LLVM即可,再使用Alt + Shift + F 格式化代码,即可变成紧凑型。1
2
3
4
5
6
7
8int test() {
int i = 3;
if (i == 3) {
i = 4;
} else if (i == 4) {
i = 3;
}
}如果嫌这样TAB空格太短,可以指定为下面代码:
1
{ BasedOnStyle: LLVM, IndentWidth: 4 }
空格长一点了,代码较短的话看起来舒服一些
1
2
3
4
5
6
7
8int test() {
int i = 3;
if (i == 3) {
i = 4;
} else if (i == 4) {
i = 3;
}
}