ESP32, IOT物聯網

【IOT物聯網應用-ESP32】第三十五篇:SPIFFS檔案系統 – Arduino IDE安裝 ESP32 Filesystem Uploader

實驗說明:

ESP32通常都有內建4MB的快閃記憶體,這塊記憶體空間可用來儲存APP,也可以當做檔案儲存的空間。很重要!這塊記憶體空間內部的資料不會因為沒有電而消失,所以有一些重要檔案或資訊可以優先考慮儲存到這個地方。

SPIFFS(串列通訊介面的快閃記憶體檔案系統)則是用來管理這塊記憶體空間的檔案系統,可透過SPIFFS的函式來掛載這個檔案系統、格式化、建立資料夾或檔案、儲存檔案、刪除資料夾或檔案。在本文中,我們將展示如何使用Arduino IDE輕鬆將文件上傳到 ESP32 文件系統。

 

材料:

  • ESP32-E DevKit
  • USB 傳輸線

▼ 購買IoT物聯網學習教材:

 

安裝 ESP32 Filesystem Uploader

Step1: 下載ESP32FS-1.0.zip

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文件的內容。