0 概述
开发ESP32或ESP8266的方法较多,基于VSCODE + PlatformIO,使用Arduino开发框架进行开发给开发工作带来诸多便利。
我们知道,开发ESP32或ESP8266基于Arduino开发框架比起官方环境来说便利性已大大提高,但Arduino环境也有诸多不便,如编辑器功能太单一,编译时间长等问题。而基于VSCODE + PlatformIO的嵌入式开发环境,可以很好的解决上述问题,帮助我们打造一个完美的开发环境。
在VSCODE的基础上安装一个第三方插件PlatformIO。PlatformIO 是开源的物联网开发生态系统,支持多种开发框架,如Aduino、mbed等,也支持多种常见的开发板,如ST的Nucleo开发板、ESP32和ESP8266的Wemos D1、NodeMCU等开发板,并且可以很容易管理项目的库。
1 PlatformIO的安装
PlatformIO安装的方法非常简单,安装完VSCODE后,点击右侧的扩展商店按钮,在搜索框内输入“platformio”,然后点击安装即可,安装完成之后,需要重新启动VSCODE。
1 PlatformIO的基本使用
在PlatformIO的主界面中,选择 New Project
设置工程名称、选择开发板和开发框架,设置工程路径。
注意1:使用基于ESP8266的NodeMCU核心板时,可以选择开发板型号为:NodeMCU1.0(ESP-12E Module)。
点击确定后,等待工程创建,根据各人的网络连接情况,需要花费一些时间。
编写代码
利用熟悉的vscode编辑环境这里给出一个基于ESP8266的Wemos Di mini核心板,该核心板上的指示灯由GPIO16控制(对应标号为D0),采用低电平驱动方式。
具体代码如下:
#include <Arduino.h>
#define LED_PIN 16 // GPIO16,对应D0 低电平驱动
void setup() {
pinMode(LED_PIN, OUTPUT);
Serial.begin(115200);
Serial.println(“”);
Serial.println(“Hello World!”);
Serial.println(“This is my first esp8266 code!”);
}
void loop() {
digitalWrite(LED_PIN, LOW);
delay(1000);
digitalWrite(LED_PIN, HIGH);
delay(1000);
}
注意:这里的引脚编号是采用的芯片的原始引脚标号,如GPIO16,则使用16来表示;也可以使用NodeMCU丝印层的标号来表示,如GPIO16对应的标号是D0
编译程序及下载
利用VS开发界面下方的几个图标完成程序的编译和下载。
2 PlatformIO加载第三方库
如果在程序开发中,需要使用第三方的库,可以采用如下方式加载:
搜索库
在PlatformIO的主界面中,选择”Liblaries“,然后在Registry标签页的搜索框中输入需要安装的库名,如用于按键的”OneButton“库。在Liblaries列表中,点击旁边的下载图标,下载库
添加到对应项目
完成库下载后,将出现该库的介绍页面,点击”Add to Project“,在出现的川口中选择需要加入的工程,点击。此时,在源文件中将自动包含该库对应的头文件。
在出现的窗口中选择需要加入的工程,然后点击”Add“按钮,将库加入到工程。
在源文件中引用库
在main.c文件中,包含该库对应的头文件,就可以使用库提供的接口函数。
本次简单介绍了一下基于VSCODE和PlatfprmIO的ESP芯片开发方式,这种基于第三方插件的开发方式将会越来越多。