るみさんのブログ

【備忘録】ZeppOS(MiBand7)での文字盤開発(改造)

作成日:2024-04-03 08:20:05
最新更新日:2024-04-03 16:21:20

はじめに


MiBand7を買って、シャミ子の文字盤を入れたんですが、
数字をるみ数字化、そして曜日を日本語化したくなったので、
文字盤改造に着手することにしました!
注意:この記事はDebianを使っていること前提です、WinやMacでも出来るはずですが、詳しくは各自調べてください

環境構築


melianmikoという人がZeppOSでのアプリ開発や、
文字盤開発に便利なツールを色々作ってくれているので、まずはこれを導入します。

まずはリポジトリを導入しましょう
curl -s https://deb.mmk.pw/setup | sudo bash -


そしたらapt updateを回して、「zmake」と「ZeppPlayer」を導入しましょう!
zmakeはZeppOS用のアプリを専用のファイルにビルドしてくれるプログラム、
(主にpngをtgaに変換)
ZeppPlayerはZeppOSのアプリをエミュレートしてくれるヤツ、あると便利!

zmakeの導入はこれ
sudo apt install zmake


ZeppPlayerはこれ
sudo apt install zeppplayer


次は、あったら良いWatchface-jsを導入しましょう!
git clone https://github.com/Nadeflore/watchface-js cd watchface-js sudo npm i -g watchface-js

これで導入できます。あ、gitとnode、npmは予め入れていること前提です。

IDE(エディタ)は好きなもので良いと思う、私はVisualStudioCodeを選ぶぜ。

ベースを選ぶ


ベースは無くてもいいけど、私はよくわからないので例のシャミ子文字盤をベースにします。
ちなみに、ZeppPlayerにデモ文字盤があるのでそれを使うのもアリ。

ベースにする文字盤が、MiBand6向けの場合、binファイルがバイナリなので、
wfjs convertBand6To7 -i binファイル

として7用に変換しましょう、ちなみに7はzip形式です、fileコマンドで確認してね。

画像形式


文字盤をソースコードからDLしない限り、
なぜか画像がpngに見えてtgaという形式になっています。
なのでそれを変換する必要があります、ffmpegを使ってもGIMPを使ってもいいですが、
どちらも拡張子で判断しやがります、
なので拡張子をすべてtgaに置き換えてからpng化しましょう。

開発時はpngにしてもらって問題ないです、
zmakeが自動でtga化してbinファイルに収めてくれます!

ここから色んな備忘録


「画像が表示されない」とかがあったら読んでみてね

アニメーション画像


画像のファイル名は「ファイル名_連番番号.拡張子」で書いてください。
連番番号はここでは0スタートです、つまり「0 1 2 3 4 5 6 7 8 9 10」です。。。
hmUI.createWidget( hmUI.widget.IMG_ANIM, { x: X座標, y: Y座標, anim_path: 'images/フォルダ名', anim_prefix: 'ファイル名(数字を含まない)', anim_ext: '拡張子、だがpng以外は使えないと思う', anim_fps: FPSらしいけど、よくわかってない, anim_size: 連番画像の最大枚数(1スタート), repeat_count: わからない, anim_repeat: リピートするか、trueで有効, anim_status: hmUI.anim_status.START, show_level: hmUI.show_level.ONLY_NORMAL } );

そして、私はここで勘違いしたのですが、「anim_prefix」は
"ファイル名_"ではなく"ファイル名"としてください、
アンダーバーは含めないで!!!!!!

そして、なぜか「anim_size」の連番番号は1スタート、つまり「1 2 3 4 5」。。。
わかりにくすぎっ!
まあなので、画像側の連番番号に+1してね、、、


続きはまだ書き込み中。。。



シェア



コメント欄の復旧は少し待ってね