[ESP32]SPIFFS/LittleFS Filesystem へアップロードする方法 with Arduino IDE 1.0 系

ESP32

[ESP32]SPIFFS/LittleFS Filesystem へアップロードする方法 with Arduino IDE 1.0 系

はじめに

ESP32の内蔵フラッシュメモリにある SPIFFS/LittleFS Filesystem へファイルをアップロードする方法です。

開発環境

OS : Windows 11 Pro
ESP32:ESP-WROOM-32
統合開発環境 : Arduino IDE 1.8.19
Arduino core for the ESP32:2.0.17
使用ライブラリ:arduino-esp32fs-plugin(2.0.7)

Arduino IDE 2.0 系ではこのライブラリを使用できません。
Arduino IDE 2.0 系を使用する場合は LittleFS のみ対応しているライブラリがあります。

https://github.com/earlephilhower/arduino-littlefs-upload/releases

使用パーツ

ESP32開発ボード(38Pin)

ESP32 Development Board ESP-32S NodeMCU-32S MICRO/TYPE-C Wireless Module WiFi+Bluetooth ESP-WROOM-32 IOT Expansion Board - AliExpress 502
Smarter Shopping, Better Living! Aliexpress.com

電子工作ステーション https://electronicwork.shop/items/64134541d91711003035a5a6

使用方法

ライブラリインストール

SPIFFS/LittleFS Filesystem のどちらの場合も同じライブラリで対応可能です。

arduino-esp32fs-plugin

Arduino IDE のライブラリマネージャーに対応していないため、GitHubからダウンロードして、所定の場所へ配置します。
https://github.com/lorol/arduino-esp32fs-plugin/releases
ここの「esp32fs.zip」をダウンロードします。

ダウンロードしたファイルを解凍して下記の場所に配置します。

配置場所(「ファイル」→「基本設定」でスケッチブックの場所を確認)

スケッチブックの場所\tools\ESP32FS\tool\esp32fs.jar

Arduino IDE を再起動して、「ツール」⇒「ESP32 Sketch Data Upload」が表示されればインストール完了です。

Arduino IDE 2.0 系では「ESP32 Sketch Data Upload」が表示されません。
Arduino IDE 1.0 系を使用ください。

アップロード

先ほどインストールした「arduino-esp32fs-plugin」からファイルをアップロードします。
スケッチがあるフォルダに「data」フォルダを作成し、アップロードするファイルを入れておきます。アップロード時は、「data」フォルダにある全てのファイルが対象となります。

ダイアログが表示されますので、プルダウンからファイルシステムを選択して「OK」を押下します。

<<SPIFFSの場合>>

<<LittleFSの場合>>

成功すると、左のように出力されます。

シリアルモニタを表示させたままだとエラーとなるため、一旦消してください。

プログラムをアップロードする時と同じように、BOOTボタンを押す必要がある機種は押してください。

確認方法

SPIFFS Filesystem

プロジェクトをダウンロードする場合は👉「FileUpload_to_SPIFFS-Filesystem.zip

スケッチ作成

ファイルアップロードを確認するスケッチを作成します。

#include "SPIFFS.h"

void setup() {
  Serial.begin(115200);
  
  if(!SPIFFS.begin()){
    Serial.println("SPIFFS Mount Failed");
    return;
  }
  
  File file = SPIFFS.open("/sample.txt");
  if(!file || file.isDirectory()){
    Serial.println("- failed to open file for reading");
    return;
  }

  Serial.println("- read from file:");
  while(file.available()){
    Serial.write(file.read());
  }
  file.close();
}
 
void loop() {

}

このスケッチをアップロードしておきます。

アップロードファイル作成

スケッチのあるフォルダに「data」というフォルダを作成し、その中に「sample.txt」を作成します。

===========================================================================
Hello!!
これは「SPIFFS Filesystem」へアップロードしたファイルです。
この内容がシリアル出力されていれば、アップロードと読み込みが成功しています。
===========================================================================

エンコードの種類は「UTF-8」で保存します。
arduino-esp32fs-plugin」でアップロードします。

動作確認

起動後、シリアルモニタにテキストファイルの内容が表示されていれば成功です。

LittleFS Filesystem

プロジェクトをダウンロードする場合は👉「FileUpload_to_LittleFS-Filesystem.zip

スケッチ作成

ファイルアップロードを確認するスケッチを作成します。

#include "LittleFS.h"

void setup() {
  Serial.begin(115200);
  
  if(!LittleFS.begin()){
    Serial.println("LittleFS Mount Failed");
    return;
  }
  
  File file = LittleFS.open("/sample.txt");
  if(!file || file.isDirectory()){
    Serial.println("- failed to open file for reading");
    return;
  }

  Serial.println("- read from file:");
  while(file.available()){
    Serial.write(file.read());
  }
  file.close();
}
 
void loop() {

}

このスケッチをアップロードしておきます。

アップロードファイル作成

スケッチのあるフォルダに「data」というフォルダを作成し、その中に「sample.txt」を作成します。

===========================================================================
Hello!!
これは「LittleFS Filesystem」へアップロードしたファイルです。
この内容がシリアル出力されていれば、アップロードと読み込みが成功しています。
===========================================================================

エンコードの種類は「UTF-8」で保存します。
arduino-esp32fs-plugin」でアップロードします。

動作確認

起動後、シリアルモニタにテキストファイルの内容が表示されていれば成功です。

おわりに

Arduino IDE 2.0 系 で使用できないのが残念です。

コメント

タイトルとURLをコピーしました