もう最初からコケまくって疲弊しているPlatformIOでのESP8266(ESP-WROOM-02)開発。
ようやく一段落ついた。
というかようやくスタートラインに立ったという事実からは目を背ける。
ファイルアップロードが上手くいかない
SPIFFSは非推奨となったため、ビルド時に警告が出た。
そのせいなのか事前(Arduino IDEで)アップロードしたファイルが読み込めていない。
ファイルを上げ直そうとしたら・・・どうやるんだ?
ググって調べると、まずファイルの置き場が違う。
Arduino IDEの時はスケッチ(*.ino)のあるディレクトリの中にdataディレクトリを作って
そこにファイルを格納する。
PlatformIOではsrc
ディレクトリにスケッチを格納して、src
と同じ階層にdata
ディレクトリを
作成する必要がある。
dataディレクトリに(俺の場合は)htmlファイルを格納して、
PROJECT TASKS
にあるUpload File System image
を実行してアップロードを行う。
・・・という手順だ。
さっそくdata
ディレクトリを1階層上に移動させて配備はOK。
PROJECT TASKS
はPlatformIOのホームを出せば左側に出てくるので
( ゚д゚ )・・・・・
( ゚д゚ )
無いんですけど?
PROJECT TASKS
→env:esp_wroom_02
→Platform
→Upload Filesystem Image
なんだよ脅かしやがって~。
*** [.pio\build\esp_wroom_02\spiffs.bin] Error 148
今度はエラーかよ('A`)
なんかSPIFFSの警告の問題と関わりがあるような気がする。
保留(後回しにしただけ
「動かない」の解決
なんか書き込みのモードがおかしなことになっていたようで、
USBを挿し直したらアクセスできるようになった。
なんか格好悪いトラブルな気がする(ノ∀`)
「ファイルアップロードが上手くいかない」の対策
ビルド時にSPIFFSで警告が出る件。
とあるので、LittleFSってヤツを使えば良いんでしょ(なんか投げやり
どうやって?
ググっても日本語のページはあまり出てこないんだよなぁ何故か。
まさにそれ!というページを発見。
条件としてESP8266 SDKが2.6.0以降とあるので確認。
ファイルをアップロードしようとして失敗したログに出力されていた。
2.6.2なので問題なし。
続いてボードの保存領域(フラッシュメモリ)の容量確認。
今新品で買ったボードはまず間違いなく2MBで、その中でファイルシステムが1MBなはず。
はず!(自信はない
platformio.ini
に以下の2行を追加する。
board_build.ldscript = eagle.flash.2m1m.ld
※全容量2MBでファイルシステムが1MBの場合
準備が整ったので
PROJECT TASKS
→env:esp_wroom_02
→Platform
→Upload Filesystem Image
以下の通り選択して、ファイルのアップロードを行う。
無事アップロード完了!
俺の環境では。
「SPIFFSの警告」の対策
To convert most applications from SPIFFS to LittleFS simply requires changing the SPIFFS.begin() to LittleFS.begin() and SPIFFS.open() to LittleFS.open() with the rest of the code remaining untouched.
つまり、SPIFFS.***()
と記載しているところを全部LittleFS.***()
のように変えるだけで良い。
んでLittleFSを使うために、#include <LittleFS.h>を追加すればOK。
#include <LFS.h>には消えていただく。
ビルド時に警告が出なくなった。
そしてキチンとアップロードしたファイルの読み込みができて無事に動いた!
あー、疲れた。