實驗說明:
ESP32通常都有內建4MB的快閃記憶體,這塊記憶體空間可用來儲存APP,也可以當做檔案儲存的空間。很重要!這塊記憶體空間內部的資料不會因為沒有電而消失,所以有一些重要檔案或資訊可以優先考慮儲存到這個地方。
SPIFFS(串列通訊介面的快閃記憶體檔案系統)則是用來管理這塊記憶體空間的檔案系統,可透過SPIFFS的函式來掛載這個檔案系統、格式化、建立資料夾或檔案、儲存檔案、刪除資料夾或檔案。在本文中,我們將展示如何使用Arduino IDE輕鬆將文件上傳到 ESP32 文件系統。
材料:
- ESP32-E DevKit
- USB 傳輸線
▼ 購買IoT物聯網學習教材:
安裝 ESP32 Filesystem Uploader:
Step1: 下載ESP32FS-1.0.zip
- Github: https://github.com/me-no-dev/arduino-esp32fs-plugin/releases/
- 或者您也可以從我們的雲端空間下載備份檔案:載點
Step2: 將ESP32FS-1.0.zip解壓縮。
Step3: 在/文件/Arduino/目錄下建立一個新的資料夾並且命名為「tools」。
Step4: 將ESP32FS資料夾整個複製到/文件/Arduino/ tools/目錄下。
Step5: 請重新啟動您的Arduino IDE。展開工具選單,您會看到新增一欄“ESP32 Sketch Data Upload”的選項。
上傳文件到 ESP32 Filesystem文件系統:
Step1: 新增一個 Arduino 草稿碼,並儲存命名為SPIFFS_Test。
Step2: 打開SPIFFS_Test草稿碼文件夾,並在該文件夾內,創建一個名為 「data」 的新文件夾。
Step3: 在data文件夾內的所有檔案都會上傳到SP32 Filesystem,例如我們新增一個名為test_example.txt文件。
Step4: 然後,在Arduino IDE中執行Tools > ESP32 Sketch Data Upload。就會把data文件夾中內的所有檔案都上傳到SP32 Filesystem。
SPIFFS測試程式:
▼將下面程式碼複製貼入SPIFFS_Test.ino草稿碼內。
#include "SPIFFS.h"
void setup() {
Serial.begin(115200);
if(!SPIFFS.begin(true)){
Serial.println("An Error has occurred while mounting SPIFFS");
return;
}
delay(2000);
File file = SPIFFS.open("/test_example.txt");
if(!file){
Serial.println("Failed to open file for reading");
return;
}
Serial.println("File Content:");
while(file.available()){
Serial.write(file.read());
}
file.close();
}
void loop() {
}
程式說明:
編譯並上傳程式碼到ESP32後並打開序列埠監控視器。按下 ESP32 的“EN/RST”按鈕,就可以看到序列埠監控視器上打印test_example.txt文件的內容。