DEV Community

Cover image for Arduino IDE 2 上傳檔案到 ESP32/ESP8266 的外掛
codemee
codemee

Posted on

Arduino IDE 2 上傳檔案到 ESP32/ESP8266 的外掛

Arduino IDE 2.x 版有完整的語法標色、程式碼補全等眾多功能, 比原本陽春的 Arduino 1.x 版要好用許多, 不過許多人可能因為缺少了可以上傳檔案到 ESP32/ESP8266 等控制板的功能, 在使用 Arduino IDE 2.x 時卡關。好消息來了, 已經有善心人士撰寫了外掛, 幫我們解決這個問題。

檔案上傳外掛下載網址

首先是有善心人士 Earle F. Philhower, III 撰寫了arduino-littlefs-upload 外掛, 你可以直接在這裡下載外掛檔案。但是這個外掛是針對 LittleFS 檔案系統, 如果你要採用的是 SPIFFS 檔案系統, 就派不上用場。於是就有另一個善心人士 espx 從剛剛介紹的外掛衍生出 arduino-spiffs-upload 外掛, 你可以在這裡下載外掛檔案

安裝外掛

Arduino IDE 2 是從 The Eclipse Theia IDE 衍生而來, 其實也就是 Visual Studio Code 的源頭, 它們都共用同一套外掛機制, 只要在你的使用者目錄下找到 .arduinoIDE 資料夾, 在其中建立 plugins 資料夾, 將剛剛下載的 .vsix 外掛檔案複製到 plugins 資料夾中:

C:\USERS\{使用者名稱}\.ARDUINOIDE
└──plugins
   ├─arduino-littlefs-upload-1.1.5.vsix
   └─arduino-spiffs-upload-1.1.5.vsix
Enter fullscreen mode Exit fullscreen mode

再重新開啟 Arduino IDE 即可。

上傳檔案

要上傳檔案, 只要在你的草稿碼資料夾下建立一個 data 資料夾, 像是這樣:

C:\USERS\MEEBO\CODE\ARDUINO\TEST_LITTLEFS
├─test_littleFS.ino
└─data
  └─test.txt
Enter fullscreen mode Exit fullscreen mode
C:\USERS\MEEBO\CODE\ARDUINO\TEST_SPIFFS
├─test_SPIFFS.ino
└─data
  └─test.txt
Enter fullscreen mode Exit fullscreen mode

接著, 就可以按 Ctrl+Shift+p 開啟命令面板, 輸入 "upload", 就會看到對應的命令:

Image description

選擇你想用的檔案系統對應的命令, 就可以將 data 資料夾內的所有內容上傳到 ESP32/ESP8266 上了。

要注意的是, 如果有開啟中的序列埠, 必須先關閉, 才能上傳。

你會看到這樣的訊息:

SPIFFS Filesystem Uploader

Using partition: default
Building SPIFFS filesystem
C:\Users\meebo\AppData\Local\Arduino15\packages\esp32\tools\mkspiffs\0.2.3/mkspiffs.exe -c C:\Users\meebo\code\Arduino\test_SPIFFS/data -p 256 -b 4096 -s 1441792 C:\Users\meebo\AppData\Local\Temp\tmp-15392-y5BDfcxef6G7-.spiffs.bin
/test.txt


Uploading SPIFFS filesystem
C:\Users\meebo\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\4.5.1/esptool.exe --chip esp32 --port COM9 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 2686976 C:\Users\meebo\AppData\Local\Temp\tmp-15392-y5BDfcxef6G7-.spiffs.bin
esptool.py v4.5.1
Serial port COM9
Connecting....
Chip is ESP32-D0WDQ6 (revision v1.0)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: ac:67:b2:38:7f:34
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Flash will be erased from 0x00290000 to 0x003effff...
Compressed 1441792 bytes to 2734...
Writing at 0x00290000... (100 %)
Wrote 1441792 bytes (2734 compressed) at 0x00290000 in 6.5 seconds (effective 1776.6 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

Completed upload.
Enter fullscreen mode Exit fullscreen mode

也會看到 Arduino IDE 的通知:

Image description

就表示上傳成功了。

Top comments (0)