[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)
電子工作ステーション https://electronicwork.shop/items/64134541d91711003035a5a6
使用方法
ライブラリインストール
SPIFFS/LittleFS Filesystem のどちらの場合も同じライブラリで対応可能です。
arduino-esp32fs-plugin
Arduino IDE のライブラリマネージャーに対応していないため、GitHubからダウンロードして、所定の場所へ配置します。
https://github.com/lorol/arduino-esp32fs-plugin/releases
ここの「esp32fs.zip」をダウンロードします。
ダウンロードしたファイルを解凍して下記の場所に配置します。
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 系 で使用できないのが残念です。
コメント