2015/11/15
ESP-WROOM-02の Flash File System(FFS) を使ってみる
ESP-WROOM-02には32Mbit(4MByte)のFlashメモリーが搭載されています。このFlashメモリー内の最大3MByteをFlash File System(FFS)に割り当てることができます。(注あり)
音楽ファイルのような大きなファイルは格納できませんが、スケッチ実行時に使用するSSIDやパスワードなどのパラメータの保存に使うには十分な大きさです。
Flash File Systemについては、Referenceの「File system」に説明があります。
https://github.com/esp8266/arduino-esp8266fs-plugin
FFSアップロードツールをインストールする
- ファイルをアップロードするためのツールをダウンロードする
https://github.com/esp8266/arduino-esp8266fs-plugin/releases/download/0.5.0/ESP8266FS-0.5.0.zip - ツールを解凍して、Arduino IDEの「tool」フォルダにコピーする
例)<Arduino IDEのフォルダ>\tools\ESP8266FS\tool\esp8266fs.jar
ファイルをアップロードする
- FFS内のファイルを使用するスケッチの保存フォルダ内に「data」フォルダを作成する
例)スケッチ名が「FFSTest」であれば、
C:\Users\<ユーザ名>\Documents\Arduino\FFSTest\data - 「data」フォルダ内に使用するファイルをコピーする
- Arduino IDEを使用してFFSにアップロードする
Arduino IDEを起動し、スケッチ「FFSTest」をロードする
ESP-WROOM-02を書き込み待ち状態にする
「ツール」メニューから「ESP8266 Sketch Data Upload」を選択する
(アップロードが始まる)
アップロードしたファイルはスケッチのアップロードの影響を受けません。
ファイルの構成を変更する場合にだけアップロード操作を行います。
FFSテスト・スケッチ
FFSのルート下の全てのファイル内容をそのままシリアルコンソールに表示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
#include <FS.h> void setup() { Serial.begin(115200); SPIFFS.begin(); Serial.println("\n\nStart FFS test.\n"); Dir dir = SPIFFS.openDir("/"); while (dir.next()) { Serial.print(dir.fileName()); Serial.print(" "); File f = dir.openFile("r"); Serial.println(f.size()); Serial.print("===\n"); while (f.available()) { Serial.print((char)f.read()); } f.close(); Serial.println("===\n"); } Serial.println("end."); } void loop() { } |
- Arduino IDE 1.6.5+ESP8266 Community version 1.6.5-1160-gef26c5f 環境では「Flash Size “4MB(3MB SPISSF)”」設定ではアップロードに失敗しています、「Flash Size “4MB(1MB SPISSF)”」設定でテストしました。
この記事へのトラックバック URL :
Leave a comment