【PlatformIO】慣れていないので躓いてばかり

もう最初からコケまくって疲弊しているPlatformIOでのESP8266(ESP-WROOM-02)開発。

 

【PlatformIO】なんか上手いこといかない

 

 

 

ようやく一段落ついた。

というかようやくスタートラインに立ったという事実からは目を背ける。

 

 

ファイルアップロードが上手くいかない

 

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 TASKSenv:esp_wroom_02PlatformUpload Filesystem Image

なんだよ脅かしやがって~。

 

 

Building file system image from 'data' directory to .pio\build\esp_wroom_02\spiffs.bin
*** [.pio\build\esp_wroom_02\spiffs.bin] Error 148

 

今度はエラーかよ('A`)

 

なんかSPIFFSの警告の問題と関わりがあるような気がする。

保留(後回しにしただけ

 

 

「動かない」の解決

 

なんか書き込みのモードがおかしなことになっていたようで、

USBを挿し直したらアクセスできるようになった。

 

なんか格好悪いトラブルな気がする(ノ∀`)

 

 

「ファイルアップロードが上手くいかない」の対策

 

ビルド時にSPIFFSで警告が出る件。

 

Please consider moving to LittleFS or other filesystems. [-Wdeprecated-declarations]

 

とあるので、LittleFSってヤツを使えば良いんでしょ(なんか投げやり

 

どうやって?

 

ググっても日本語のページはあまり出てこないんだよなぁ何故か。

 

まさにそれ!というページを発見。

 

条件としてESP8266 SDKが2.6.0以降とあるので確認。

ファイルをアップロードしようとして失敗したログに出力されていた。

 

PLATFORM: Espressif 8266 (2.6.2) > ESP-WROOM-02

 

2.6.2なので問題なし。

 

 

続いてボードの保存領域(フラッシュメモリ)の容量確認。

今新品で買ったボードはまず間違いなく2MBで、その中でファイルシステムが1MBなはず。

はず!(自信はない

 

platformio.iniに以下の2行を追加する。

board_build.filesystem = littlefs
board_build.ldscript = eagle.flash.2m1m.ld

※全容量2MBでファイルシステムが1MBの場合

 

準備が整ったので

PROJECT TASKSenv:esp_wroom_02PlatformUpload 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>には消えていただく。

 

ビルド時に警告が出なくなった。

そしてキチンとアップロードしたファイルの読み込みができて無事に動いた!

 

 

あー、疲れた。

 

カテゴリー: PC, ソフトウェア, 技術的 タグ: , , , , , , ,  [パーマリンク]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です