Skip to content

Intelligent-Embedded-Control-Laboratory/PlatformIO_Installation_Guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

PlatformIO_Installation_Guide

一、下載安裝VSC

Step 1. 下載 Visual Studio Code (VSC)

下載網址 https://code.visualstudio.com/

1

記得其他內的選項全部都要打勾

2

安裝畫面

3

Step 2. 第一次啟動時,可能會推薦安裝中文語言包;或進入延伸模組,搜尋 chinese 手動安裝繁體中文語言包。

4

二、加入 PlatformIO

Step 1. 進入延伸模組,搜尋 "PlatformIO" 手動安裝

5

Step 2. 安裝完後重新啟動 VSC,左側會出現 PlatformIO 的圖示。

6

三、安裝Platform

開發版除了預設的板子(nano,uno)可以直接上傳程式,其他都要先安裝Platform (類似開發版環境)

  • Teensy->裝Teensy
  • ESP32->裝Espressif32
  • ESP8266->裝Espressif 8266

詳細安裝步驟參考下文

以ESP32為例:

Step 1. 進入platformIO >> PIO HOME >> Open >> Platform

7

Step 2. 選擇Embedded,搜尋”espressif”,進入Espressif32。

8

Step 3. 安裝,需耗時 5~10 分鐘。

9

Step 4. 安裝完成。

10

Step 5. 同樣方法搜尋 "teensy",安裝teensy開發環境,Platform >> Installed可以看到安裝的環境 。ESP8266同理。

11

四、開新專案

裝好要燒入板子的Platform,就可以開新專案準備燒入程式

Step 1. 進入platformIO >> PIO HOME >> Projects,"Creat New Project"

12

Step 2. 建立專案名稱,及選擇MCU,esp32選擇”NodeMCU-32S”,可直接輸入;儲存位置預設為: (D:\Users\IEC5892M\Documents\PlatformIO\Projects)底下。

13

補充: Teensy:Board選對應的4.0選40,3.2選31 ESP32 : Board選NodeMCU-32S ESP8266:Board 選Espressif Generic ESP8266 ESP-001 1M

取消預設可指定儲存位置。 14

Step 3. 按下 finish 建構專案,重新啟動VSC後建專案可能會花比較多時間 3~10 min都有可能。

五、編輯介面說明

  1. 編譯器主題設置 於介面右下角:

51

中間就會跳出數種選擇

52

  1. 主程式在 src 資料夾之下,會將演算法寫在 main.cpp

521

以下提供點 LED 燈的範例程式碼

#include <Arduino.h>
void setup() 
{
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() 
{
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
}
  1. ini檔 (上傳的設定) 參考程式碼
; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[platformio]
; default_envs = teensy31      ;Teensy3.2&3.6
; default_envs = teensy40    ;Teensy4.0
default_envs = nodemcu-32s ;ESP32

; 開發環境共同的部分
[env] 
framework = arduino
monitor_speed = 115200 ; 設定序列埠擷取資料的 baud rate(VScode內建的UART顯示baud rate)
lib_extra_dirs = ; 設定本地 library 的絕對路徑 (每台電腦不一樣)
    ; G:\我的雲端硬碟\My Experiment\My_Libs
lib_deps = ;參考後面加入函式庫
    ; martinl1/BMP280_DEV@^1.0.18
    ; bolderflight/Bolder Flight Systems MPU9250@^1.0.2

;以下為各開發板的設定port會根據插入的板子不同而改變
[env:teensy40]
platform = teensy
board = teensy40
upload_port = COM30;上傳的port,參考後面上傳口檢查

[env:teensy31]
platform = teensy
board = teensy31 
upload_port = COM6

[env:nodemcu-32s]
platform = espressif32
board = nodemcu-32s
upload_port = COM4
  1. 設定程式碼上傳的序列埠
  • 確認插入單晶片的傳輸port可以藉由點選外星人->Devices->Refresh->看有哪個COM X是你插上去才有的就是這晶片的port

53

  • 更改ini檔中對應開發板中的upload_port,這裡以ESP32示範,COM4,所以ini檔最下面是COM4,且[platformio]底下留default_envs = nodemcu-32s ;ESP32,另外兩個是註解的狀況(前面提供的程式碼),按下Ctrl+Alt+U就可以快速上傳,上傳成功終端機會通知,然後你的ESP32上板載LED就會亮一秒暗一秒(藍燈)。 54

  • 同樣的,這份範例程式碼是Teensy也可以用的,改插上Teensy3.2,此時要更改開發版只要再ini檔前改成tensy31,另兩個註解掉,如下所示。

[platformio]
default_envs = teensy31      ;Teensy3.2&3.6
; default_envs = teensy40    ;Teensy4.0
; default_envs = nodemcu-32s ;ESP32
  • 然後也要確認後面對應的teensy31中upload_port是正確的(同樣確認方式)
[env:teensy31]
platform = teensy
board = teensy31 
upload_port = COM5
  • 上傳成功後板載上的小橘燈會開始閃爍
  • 快捷鍵補充:
    • 上傳:Ctrl+Alt+U
    • Build(編譯但不上傳): Ctrl+Alt+B
    • 開啟序列埠終端機: Ctrl+Alt+S
    • 離開序列埠終端機:Ctrl+C
  1. 加入函式庫 有3種加法 (1) 加在include或lib路徑之下,再於主程式#include " "或<>

55

如有紅線(移動檔案路徑會重抓會需要一段時間,但一段時間也未消失)則移至紅線處,會顯示偵測到錯誤,選快速修復->新增至…..(lib位址),即可引入成功

56

(2) 引入本地函式庫 前面ini檔中lib_extra_dirs =後面輸入函式庫資料夾位址,則整個資料夾內的函式庫都會引入,當然主程式也要#include " "

(3) 藉由 PlatformIO IDE 來搜尋函式庫 platformIO在介面中選Libraries,並搜尋需要的涵式庫

57

點選想要的涵式庫,選擇installation,可以直接選取Add to Project,或是將它提供的網址加入ini檔中的lib_deps =即可,加入ini檔好處是此份程式到其他台電腦,會自行下載安裝好(特別說明@^後數字是版本號,不同版本會有些許更動要看作者說明)

58

範例ini檔中取消註解後如下

lib_deps = ;參考後面加入函式庫
    martinl1/BMP280_DEV@^1.0.18
    bolderflight/Bolder Flight Systems MPU9250@^1.0.2

上傳或Build會自動下載,記得main檔要都include才不會報錯

#include <MPU9250.h>
#include <BMP280_DEV.h>

它們會存在.pio中開發版的函式庫中,裡面就有examples可以參考如何使用這個 lib

59-2

六、VS Code 模組推薦

參考用,裝了能提高你的工作效率

  1. Code Spell Checker

功能:檢查拼字有無錯誤

61

  1. TabOut

功能:如果喜歡用tab跳離括號的人可以使用

62

  1. Material Icon Theme

功能:檔案總管各種檔案有各自圖示

63

  1. Doxygen Documentation Generator

功能:輔助程式註解

64

  1. Power Mode

功能:打字可以有特效(但要改json檔,要用自己學 by 志嘉)

65

  1. background

功能:可以有賽高的工作環境 by 志嘉 參考json程式碼 (我就幫到這了)

// background
    "background.enabled": true,
    "background.useDefault": false,
    "background.customImages": [
        "file:////D:/VSbackground/test.png"
        //圖片地址
        ],
    "background.style": {
    
        "content": "''",
        "pointer-events": "none",
        "position": "absolute",
        "z-index": "99999",
        "width": "100%",
        "height": "100%",
        // "background-position": "center",
        "background-repeat": "no-repeat",
        "background-size": "40%,40%",
        "opacity": 0.15
    },

程式執行效果: 67

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published