Xiaomi Watch S3 ウォッチフェイスを自作
以前使ってたHuaweiのスマートウォッチから、Xiaomiに乗り換え。特に強い意志があったわけではないが、3年つかってバッテリーがだいぶ弱って来てて、さらにアプリがPlayストアからインストールできない(何となく不安)というのがあって乗り換えした。
注文時に、間違えてシルバーを選択してしまってたのと、ベゼルの交換というのが微妙に気に入らない(ベゼルが勝手に取れて落ちる)のがあるけど、他は満足だった。
しかし、Huaweiのときにも同じことを思ったが、フェイスがいまいち気に入ったのがない、というのが一番の欠点。
だれがこんな使うんだよ、というのやきれいなんだけど、自分の使いやすいシンプルさがないよなーとか、秒は表示したいんだよー、とかわがままな要望にマッチしたのがなかった。ちなみにHuawei時代は奇跡的に1つだけよかったのがあった。
ということで長くなったが、自分で作成することにした。ネットで検索すると自分でできる方法があることが分かった。詳しくはそちらの記事が参考になるので、ここには自分でやった内容の記録的なメモ。
はじめに作ったのはシンプルなもの、だけどほしい情報は載せる。
色も1色で、背景は黒のみ。表示はデジタルで時刻(HH:MM:ss)形式、曜日、日付(mm:dd)と歩数とバッテリーと心拍。
② 次に、スマフォに入れている Mi Fitness を開いて、プロフィール→ このアプリについて、を開くと「Mi Fitness」というアイコンの表示された画面になるので、そのアイコンを4~5回ほど複数回タップするとログファイルを保存できるので、それを保存する。
③ 保存したログファイルをパソコンに転送する。自分の場合は、スマフォの「Files」でDownoadフォルダに落とされてて、Google Driveを経由でPCに転送した。
④ PCでダウンロードしたファイルを解凍して、複数あるファイルから「encryptKey」のキーで検索。できてきた32個の数値をメモっておく。これは後で、フェイスのインストール時にスマフォと時計をつなぐときに使う。
⑤ 次からはいよいよ自分の希望のものを作る。Mi Createを実行して、新規プロジェクトを作る。この時、自分の時計を選ぶ。
⑥ 今回は背景も不要なので、いきなり時刻とかを作る。ちなみに事前に表示する画像は作っておくこと。自分はGIMPとInkscapeで作成した。背景を付けないので、文字をWhiteにしているのでぱっと見よくわからないけど、透過PNGで作成しておく。
左上の「+」をクリックして「Digital Number」を選択。
ポイントは、「Data - Data Source」を Hour を選択。これは表示するものが何かによって選び分ける。今回は”時間”だけど、”分”の場合にはMiniteを選ぶ・・・とか。
あとはNumber 0~9に対して、その数値の画像を当てはめる。
曜日などのような、時刻などの数値ではないものは左上の「+」でImage Listを選択。
あとは Data Source を適切に選んで(曜日の場合にはWeek)Indexを増やしつつ、その時表示する画像を選択する。曜日の場合には日曜始まりのようで、Index=0が日曜、という感じだった。
⑧ ビルドする。メニューにある「Build」を選択する。その際に、「Watch Face ID]というのが必要だけど、これはかぶらなければOKなので、適当に入れる。ただし、複数のフェイスを作っている場合にはフェイスごとに番号を変えないとインストール時に上書きされるので注意。
無事にビルドできればOK。ただし、outputフォルダにできているのを*.binに拡張子を変更しておく。
⑨ スマフォに Gadgetbridge をインストール。Playストアではなくapkをインストールする。
⑩ Gadgetbridgeとスマフォをつなぐ。その際に、Mi Fitnessは強制終了させておく。Gadgetbridgeと同期をさせる場合に、もともとある接続があるとつながらないので、一度スマフォのBluetooth設定を削除するとよい。そのうえで接続を行う。この Gadgetbridge とスマフォの接続が一番苦労した。パット見た感じは接続できているようにも見えたり(勘違いだけど)、「試験的」とか出てたりで怪しい感じだったりで、試行錯誤。結局は今の接続情報を思い切って削除、が必要だった。
「デバイスの検出」をして、自分の時計がでたところで、選択。その時の認証キーで、初めに記録しておいた「encryptKey」の数値を入力。
⑪ インストールする。Gadgetbridgeで接続できれば「…」のところから、ファイルインストーラを選択。選択先には、Google Driveが使えるので、PCからGoogle Driveにビルドしたファイルを入れて置き、それを選択する。