「えだまめ」しているラズパイ

30年ぶりに半田ごて握ってラズパイ勉強中。

ESP8266(WROOM-02) で WiFiマイクロターミナルを作る その(3) 日本語フォント対応

◯やりたいこと

その(1)、(2)で作成したコンソールを漢字表示対応にしたい。

フォントデータはWROOM-02が持っている4MBのフラッシュメモリ(SPIFFS・FS)に格納し、極力ハードウエアの追加なしで進める。

◯やったこと

1.前例検索

初めてトライする項目も多数ありここはもう先輩諸氏のお力を拝借。検索したところ素晴らしいページを発見。

GitHub - Tamakichi/ESP8266-KanjiFont-Library-SPIFFS: ESP8266用漢字フォントライブラリ SPIFFS版

特徴として
・フォントデータを全て内蔵フラッシュメモリに格納
・7種類のフォントに対応
 美咲フォント(8x8),ナガ10(10x10),東雲フォント(12x12,14x14,16x16),Kappa20(20x20),X11R6フォント(24x24)
・それぞれの半角フォントにも対応

すごい!やりたいことにピッタリな内容です。(Tamakichiさんに感謝)
さっそく参考にさせていただきノウハウ取得に挑戦です。

2.フラッシュメモリ(SPIFFS・FS)へのデータ転送手段の取得

ページの説明によるとファイル上のデータをESP8266へ転送するツールがあるとの事。

File System · ESP8266 Arduino Core

英語のページでしたのでGoogle翻訳とタッグを組みながら試行錯誤を開始。以下は私がやってみてうまくいった手順を書いておきます。

2-1.ツールのダウンロード

リンクが張ってあったページからツールをダウンロードし記載の通りにインストールを進めたのですがどうもうまくいきません。改めて気合を入れて翻訳を進めたところ、どうもIDEとアップロードツールのバージョンに関係があるらしいとの事。そこでアップロードツールの最新バージョンを検索して見つけたページ、

Releases · esp8266/arduino-esp8266fs-plugin · GitHub

ここの ESP8266FS-0.5.0.zip をダウンロードして使用しました。
解凍すると
 ESP8266FS/tool/esp8266fs.jar
と言うフォルダ構成のファイルが一つゲットできます。

2-2.IDEへアップロードツールを登録する

次にIDEへダウンロードしたツールを登録します。方法は簡単で、IDEがスケッチを格納しているフォルダ内の tools フォルダに、解凍してできた ESP8266FS フォルダを丸ごとコピーするだけです。toolsフォルダがない場合はフォルダを作成してそこへコピーします。コピーすると一般的に
 (home_dir)/Arduino/tools/ESP8266FS/tool/esp8266fs.jar
という形で実行ファイルが格納されることになります。
うまくいったかを確認するには、IDEを再起動して「ツール」を開いた時に ESP8266 Sktch Data Upload という項目が追加になっていれば成功です。

3.IDEへ漢字フォントライブラリをインストールする

Tamakichiさんのページ から一括ダウンロードして得られる ESP8266-KanjiFont-Library-SPIFFS-master.zip ファイルを解凍し、以下のファイル・フォルダを展開します。

この中の libraryフォルダ内にある espfontsフォルダを IDE の「librarys」フォルダにコピーすればライブラリのインストールは完了です。
 (home_dir)/Arduino/librarys/espfonts/以下たくさん

4.日本語フォントデータをWROOM-02のフラッシュメモリに転送する

4-1.IDEで新規ファイルを起動する

アップロードツールは「現在開いているスケッチ」が保存されているフォルダ内の「data」フォルダにあるデータをアップロードします。そのため dataフォルダを新しく作ってそこへフォントデータを入れる事になるのですが、開いているスケッチに無関係なフォルダを作る事になりますので変更しても問題のないスケッチを利用した方が無難です。そこでIDEの「新規ファイル」でおニュースケッチを開きそれを利用します。おニュースケッチはセーブしない限り windowsのテンポラリーフォルダにありますので、利用後セーブせずに終了すればデータごと消えてくれるので後処理も簡単です。

4-2.フォントデータのコピー

IDEで「スケッチ」「スケッチのフォルダを開く」から今開いているスケッチが格納されているフォルダを開きます。そこに新しく「data」フォルダを作成し、3で解凍した「fontbin」内にある「FONT.BIN」をコピーします。


4-3.フォントデータのアップロード

ここまで準備できれば残りはワンクリックのみ。「ツール」「ESP8266 Sktch Data Upload」をクリックすればアップロードが始まります。

librarys


少々時間がかかりますが100%書込み終了になればフラッシュメモリへのフォントデータ転送が完了です。

長くなりましたので動作試験はその(4)で。