【備忘録】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してね、、、
続きはまだ書き込み中。。。