Huawei Watch GT カスタムフェイスを作る(2)
Wear OSやGalaxy、Apple用のFree Watch Faceはいろいろ配布されていて、多いのですが、Huawei GT用のものは、インストール方法も困難なので、かなり少ないのが現状です。
など、魅力的なFaceもいっぱいです。
そこで、ちょっと面倒ですが、これらのファイルを変換していきます。
上のサイトでは、**.watchというGalaxy用のファイルがDownloadできます。これは圧縮ファイルとなっていますので、7-zipなどの解凍ソフトで解凍できます。
こんな感じに解凍されます。ここにFace画面やフォント、針などの画像が用意されていますので、これを利用させていただきます。
画像のサイズを変換して、HwWatchFaceDesignerで作成していきます。
注意点としては、Windowsのペイントツールだと、PNGにしたときに透明情報が失われてしまうようなので、フリーの画像編集ツールなどを探して、編集する必要があります。
ちょっと面倒ですが、慣れればそれほど難しくなく、Huawei GTで表示させることができます。
著作権、もとの時計の著作権なども気になるところですが、ご参考まで。
Huawei Watch GT カスタムフェイスを作る
Huawei Watch GT カスタムフェイスを使う
Huawei Watch 2 を使っていましたが、充電の接点が腐食してきて、なかなか充電できなくなっていました。
そんな時、Huawei Watch GT2 Proが発売となったら、Huawei Watch GTが格安に。
早速購入。一番のメリットは、電池が2週間持つこと。Watch 2は、1日しか持たず、毎日充電が必要でした。
あと変わったのは、OSが、WearOSからHuaweiのOSに変わったこと。
Huawei ヘルスソフトは前と同じで、ばっちりです。
使ってわかったのは、Watch Faceを作るのが大変なこと。
Huaweiは、専用サイトでcustomFaceを登録、販売できるようになっていますが、中国国内しか使用できないようになっています。開発ツール自体は、ダウンロードしてWindowsで使用できるようになっています。できたものを、時計にインストールするのが、これまた、大変です。
いろいろなサイトを調べてみると、
(1)中国のHuawei IDを登録して、インストールする。
(2)仮想化ツールを利用して、インストールする。
2つがあるようです。中国IDをとるのは、なかなか大変なようなので、(2)の方法で、インストールしました。
How to install multiple custom watchfaces (no root)
https://huaweiwatchgt.com/watchfaces/how-to-install-multiple-custom-watchfaces-no-root/
このサイトに、Watch faceもいっぱい用意されているので、好きなFaceを落とすのも楽しいです。
注意点:
必要なAPKのPackageをスマホに転送
ヘルスアプリは、Health_10.0.3.305-wearBeta を使用
VirtualXposeを起動。アプリをインストール。
ModuleをON
一回Reboot
xposeよりHealthを起動
あとは、通常の使い方どうり。Watchを接続し、Faceをインストールします。
以上
Real-time Human Pose Estimation やってみた
Ny JetBot のDemoも一通り動いて、Jetson Nanoの楽しさと、Pythonのわかりにくさを堪能です(^^;
で、NVIDIAのCommunity Projectにあった、
Real-time Human Pose Estimation
https://developer.nvidia.com/embedded/community/jetson-projects#nv_trt_pose
を動かしてみました。
JETBOT上に、trt_poseに加え、jetcamとtorch2trtをインストールして、準備完了。
カメラの部分だけUSB→CSIに変更し、起動。ばっちり認識してくれました。
JetBotのままなので、あちらこちら動かせて、なかなか便利です。
バッテリーを持ってて、ワイヤレスDebugできて、一体化されているって、プロト開発には、とっても便利。ICEもチップサイズで、Wirelessならいいのに。
JetBot
Maix Cubeも認識まではひと段落(?)し、そういえば、Jetson Nanoがあったな と思い出しました。以前JetBotを作りたかったのですが、3Dプリンタはないし、Kitもなかったので、そのままにしていました。で、Amazonをみると、JetBot Kitがいろいろ。
つい、ぽちってしまいました(^^;
届いて、小一時間で組立完了。
さっそく付属のSDメモリで、キーボードとモニタをつけて起動。
Wifiの設定をします。その後、全部外して再起動。
ブラウザから、jetbot上のPynotebookを起動。サンプルコードで動作が楽しめます。
いろいろ素直に動かない部分もありましたが、なんとかAIらしく動いてくれます。
忘備録は追って。
MaixCube 動かしてみた (Ai classify20 で画像分析)
MaixCubeの使い方もだんだんわかってきました。
MaixIDEは、自作のライブラリーとかをインポートする方法が、上手くいかないようなので、面倒ですが、Micro SDにいれて動かします。
MaixUI-masterの
/Driver から
camera.py
classify20.py
/ui から
ui_canvas.py
以上3つのファイルをコピーします。そして、Classify20.pyをmain.pyにrenameします。
ついでに、Cube用に88行目あたりの
ui.height, ui.weight = 480, 320
↓
ui.height, ui.weight = 320, 240
を画面に合わせておきます。これで、MaixCubeにSD Cardをセットして完了です。
電源をいれると、Camera画像があらわれ、
'aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', 'car', 'cat', 'chair', 'cow', 'diningtable', 'dog', 'horse', 'motorbike', 'person', 'pottedplant', 'sheep', 'sofa', 'train', 'tvmonitor'
の20個のものを検出してくれます。
なかなかうまく検出できないものもありますが、こんなちいさな簡単に検出してくれるのは、ちょっとうれしくなります。
次は、もっとおおきな学習データで試してみたいと思います。
MaixCube (オーディオプレーヤにしてみた?)
maixCubeには、オーディオコーデックIC(ES8374)が実装されているとのこと。
Specを見ると、ADC/DACという感じでしょうか。
スピーカもついているようなので、音楽でも出力してみたいと思います。
ただ、ドライバが見当たらないので探してみると、ありました。
https://github.com/sipeed/MaixUI
のDriverに、es8374.pyというのがあります。
このMaixUIもいろいろなサンプルプログラムがありますので、一括Downloadして、Localに解凍しておくとよいかとおもいます。
で、es8374.pyをMaixPy.IDEで開きます。すると740行以降からmainプログラムが用意されています。このプログラムは、CubeとAmigoの両方で動くように作られていますので、Cube用にコメントを編集していきます。まず,I2Cのポート番号をCubeに合わせます。
#fm.register(30,fm.fpioa.I2C1_SCLK, force=True)
#fm.register(31,fm.fpioa.I2C1_SDA, force=True)
fm.register(24,fm.fpioa.I2C1_SCLK, force=True)
fm.register(27,fm.fpioa.I2C1_SDA, force=True)
↓
fm.register(30,fm.fpioa.I2C1_SCLK, force=True)
fm.register(31,fm.fpioa.I2C1_SDA, force=True)
#fm.register(24,fm.fpioa.I2C1_SCLK, force=True)
#fm.register(27,fm.fpioa.I2C1_SDA, force=True)
827行
#fm.register(19,fm.fpioa.I2S0_MCLK, force=True)
#fm.register(35,fm.fpioa.I2S0_SCLK, force=True)
#fm.register(33,fm.fpioa.I2S0_WS, force=True)
#fm.register(34,fm.fpioa.I2S0_IN_D0, force=True)
#fm.register(18,fm.fpioa.I2S0_OUT_D2, force=True)
fm.register(13,fm.fpioa.I2S0_MCLK, force=True)
fm.register(21,fm.fpioa.I2S0_SCLK, force=True)
fm.register(18,fm.fpioa.I2S0_WS, force=True)
fm.register(35,fm.fpioa.I2S0_IN_D0, force=True)
fm.register(34,fm.fpioa.I2S0_OUT_D2, force=True)
↓
fm.register(19,fm.fpioa.I2S0_MCLK, force=True)
fm.register(35,fm.fpioa.I2S0_SCLK, force=True)
fm.register(33,fm.fpioa.I2S0_WS, force=True)
fm.register(34,fm.fpioa.I2S0_IN_D0, force=True)
fm.register(18,fm.fpioa.I2S0_OUT_D2, force=True)
#fm.register(13,fm.fpioa.I2S0_MCLK, force=True)
#fm.register(21,fm.fpioa.I2S0_SCLK, force=True)
#fm.register(18,fm.fpioa.I2S0_WS, force=True)
#fm.register(35,fm.fpioa.I2S0_IN_D0, force=True)
#fm.register(34,fm.fpioa.I2S0_OUT_D2, force=True)
つぎにi2sの初期化部を変更します。
これは、maixpyでエラーがでるので変更します。
i2s = I2S(I2S.DEVICE_0, pll2=262144000, mclk=31)
↓
i2s = I2S(I2S.DEVICE_0)
あとは、844行に再生ファイルを指定して、音楽FileをSDカードに保存しておきます。player = audio.Audio(path="/sd/12802.wav")
以上でIDEでONすると、音楽Fileが再生されます。
モノラルで、小さなスピーカーですが、なかなか楽しめます。
あとは、FSや、スイッチの操作を追加すれば、オーディオプレーヤーの完成です。