外付け回路無しでファイル操作が出来るSPIFFSプラグインの説明です。開発環境Arduino IDEに置いて
ESP32の場合
- me-no-dev / arduino-esp32fs-pluginへ飛ぶ
- Installation欄のDownload the tool archive from releases page.をクリック。
- ESP32FS-1.0.zip をダウンロード、ファイルを展開。
- ESP32FS フォルダーをArduinoフォルダーの下のToolsフォルダー(なければ新たに作成)にコピー
- Ardunio IDEを起動、「ツール」メニューに ESP32 Sketch Data UploadがあればOK。
ESP8266の場合
- esp8266 / arduino-esp8266fs-pluginへ飛ぶ
- Installation欄のDownload the tool archive from releases page.をクリック
- 開いたページにある、ESP8266FS-0.5.0.zipをダウンロード。ファイルを展開。
- その中にあるESP8266FS フォルダーを Arduinoフォルダーの下のToolsフォルダー(なければ新たに作成)にコピー
- Ardunio IDEを起動、「ツール」メニューに ESP8266 Sketch Data UploadがあればOK。
<2023年:最近ESP8266でSPIFFSを使用したらファイルがオープン出来ませんでした。ESP8266ではLittleFSを使う方が良いと思います>
ESPへの書き込み
- 作成中のプロジェクトに data フォルダーを作成
- 書き込みたいファイルを data フォルダーに保存
- Arduino IDEの「ツール」メニューに Flash Sizeが有ります。サイズを指定して下さい。
- ESP32なら、ESP32 Sketch Data Uploadを ESP8266ならESP8266 Sketch Data UploadをクリックするとESPへ書き込まれます。
使い方
- Includeファイル:SPIFFS.h
- 初期化: SPIFFS.begin();
- ファイルオープン: SPIFFS.open(File_Name, mode);
- File_Name:パスを含んだファイルネーム
- mode
- “w” or FILE_WRITE:書き込みモード
- “r” or FILE_READ:読み込みモード
- ”a” or FILE_APPEND:追加書き込みモード
- ファイルオープン: SPIFFS.open(File_Name, mode);
- 書き込み
- SPIFFS.write(aaa);
- aaa:変数
- SPIFFS.write(buf, len);
- buf:データバッファーのポインター
- len:データの長さ
- SPIFFS.write(aaa);
- 読み込み
- ファイルを閉じる
- SPIFFS.close();
#include <SPIFFS.h>
main()
{
File fp;
char wd;
char buf[20];
SPIFFS.begin();
fp = SPIFFS.open("/data.txt", FILE_WRITE);
fp.write(aa);
fp.write("test"); // lenを省略
fp.readBytes(buf,10);
fp.readBytesUntil('\n', buf, 15);
fp.close();
}