安裝插件
官方手冊 http://docs.platformio.org/en/latest/ide/pioide.html#vscode
在個人PC端,由于不再有網(wǎng)絡(luò)代理相關(guān)的問題,安裝很順利。

image.png
快速上手
- 在VSCode底端的狀態(tài)欄處,點(diǎn)擊“PlatformIO Home”按鍵,召喚出PlatformIO IDE的插件主界面
- 點(diǎn)擊“New Project”,選擇板子,即可創(chuàng)建一個PlatformI項(xiàng)目
-
當(dāng)前板子有498個可選項(xiàng),本次使用ESP-WROOM-32作為實(shí)驗(yàn)對象
image.png
-
PS:本次實(shí)驗(yàn)選擇ESP-IDF框架,https://github.com/espressif/esp-idf/tree/a3c4325/examples 提供了一些例子作為學(xué)習(xí)參考。

項(xiàng)目創(chuàng)建目錄——在src目錄下添加 main.c 主文件
- 在src下創(chuàng)建main.c文件,并將以下代碼替換:
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_system.h"
#include "esp_spi_flash.h"
void app_main()
{
printf("Hello world!\n");
/* Print chip information */
esp_chip_info_t chip_info;
esp_chip_info(&chip_info);
printf("This is ESP32 chip with %d CPU cores, WiFi%s%s, ",
chip_info.cores,
(chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "",
(chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "");
printf("silicon revision %d, ", chip_info.revision);
printf("%dMB %s flash\n", spi_flash_get_chip_size() / (1024 * 1024),
(chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external");
for (int i = 10; i >= 0; i--) {
printf("Restarting in %d seconds...\n", i);
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
printf("Restarting now.\n");
fflush(stdout);
esp_restart();
}
'''
- build生成項(xiàng)目:i) 調(diào)用命令行、ii) 熱鍵ctrl+alt+b或者 iii) 點(diǎn)擊“Build”按鍵(對號圖標(biāo))
(從左至右圖標(biāo)分別是:Home、Build、Upload、Upload to remove device、Clean、Test、Run Task、Serial Monitor、New Terminal)

image.png
至此build生成項(xiàng)目完成

image.png
PlatformIO Toolbar工具欄

image.png
- PlatformIO Home
- PlatformIO: Build
- PlatformIO: Upload
- PIO Remote?
- PlatformIO: Clean
- PIO Unit Testing
- Run a task… (See “Task Runner” below)
- Serial Port Monitor
- PIO Terminal
熱鍵
-
ctrl+alt+b/cmd-shift-b/ctrl-shift-bBuild Project 生成項(xiàng)目 -
cmd-shift-d/ctrl-shift-dDebug project 調(diào)試項(xiàng)目 -
ctrl+alt+uUpload Firmware 上傳固件 -
ctrl+alt+sOpen [Serial Port Monitor] 打開串口監(jiān)視器(http://docs.platformio.org/en/latest/userguide/cmd_device.html#cmd-device-monitor)
任務(wù)運(yùn)行器

image.png
提供了基本任務(wù)(包括:Build生成,Upload上傳,Clean清理,Monitor檢測等)和自定義任務(wù)(通過配置項(xiàng)目文件 platformio.ini ),也可以通過個人喜好、項(xiàng)目特點(diǎn)修改已有任務(wù)或添加自定義任務(wù)(任務(wù)右側(cè)的“齒輪”圖標(biāo)),例如,Monitor 任務(wù),修改方式有待后續(xù)深入了解。

image.png
自定義任務(wù)
自定義的任務(wù)可以通過在項(xiàng)目根目錄下 .vscode文件夾添加 tasks.jason文件來實(shí)現(xiàn)。更多選項(xiàng)詳細(xì)官方文檔
串口監(jiān)視器
可以通過配置文件 platformio.ini 修改監(jiān)視器選項(xiàng)
- monitor_port
- monitor_speed
- monitor_rts
- monitor_dtr
設(shè)置
有待后續(xù)學(xué)習(xí)了解
