mini6502

電子工作、gadgetいろいろ

Huawei Watch GT カスタムフェイスを作る(2)

Wear OSやGalaxy、Apple用のFree Watch Faceはいろいろ配布されていて、多いのですが、Huawei GT用のものは、インストール方法も困難なので、かなり少ないのが現状です。

https://www.watchfaces.be/

など、魅力的なFaceもいっぱいです。

そこで、ちょっと面倒ですが、これらのファイルを変換していきます。

上のサイトでは、**.watchというGalaxy用のファイルがDownloadできます。これは圧縮ファイルとなっていますので、7-zipなどの解凍ソフトで解凍できます。

f:id:mini6502:20201003103727p:plain

こんな感じに解凍されます。ここにFace画面やフォント、針などの画像が用意されていますので、これを利用させていただきます。

画像のサイズを変換して、HwWatchFaceDesignerで作成していきます。

注意点としては、Windowsのペイントツールだと、PNGにしたときに透明情報が失われてしまうようなので、フリーの画像編集ツールなどを探して、編集する必要があります。

ちょっと面倒ですが、慣れればそれほど難しくなく、Huawei GTで表示させることができます。

著作権、もとの時計の著作権なども気になるところですが、ご参考まで。

f:id:mini6502:20201003105717p:plain

 

Huawei Watch GT カスタムフェイスを作る

Huawei Watch GT用の画面を作るツールは、Huaweiから公式で用意さえています。

以下に、ツールやドキュメントが用意されています。

https://consumer.huawei.com/ph/community/details/Create-your-own-WatchFace-with-HUAWEI-Official-WatchFace-Designer-Tool!/topicId_58091/

f:id:mini6502:20201002205607p:plain

作る時の注意点:

(1)時計の画像は、454*454pixelで登録となっていますが、454*454では表示されず、450*450で作ると表示されました。

(2)画像をそのまま使うと、pngが大きくなり、全体のファイルが大きくなります。

大きいと、インストールできるフェイスの数が減るようです。

 

以上

Huawei Watch GT カスタムフェイスを使う

Huawei Watch 2 を使っていましたが、充電の接点が腐食してきて、なかなか充電できなくなっていました。

そんな時、Huawei Watch GT2 Proが発売となったら、Huawei Watch GTが格安に。

f:id:mini6502:20201002202608p:plain

早速購入。一番のメリットは、電池が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がいろいろ。

つい、ぽちってしまいました(^^;

XiaoR Geek Jetbot AI kit with Nvidia Jetson nano 自動運転車の学習 (Orange, Without Jetson nano)

https://www.amazon.co.jp/XiaoR-Geek-Jetbot-%E8%87%AA%E5%8B%95%E9%81%8B%E8%BB%A2%E8%BB%8A%E3%81%AE%E5%AD%A6%E7%BF%92-Without/dp/B07WMS5N3G/ref=sr_1_1?dchild=1&keywords=XiaoR+Geek&qid=1600599962&sr=8-1

 

届いて、小一時間で組立完了。

さっそく付属の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個のものを検出してくれます。

なかなかうまく検出できないものもありますが、こんなちいさな簡単に検出してくれるのは、ちょっとうれしくなります。

 

f:id:mini6502:20200830115237p:plain

次は、もっとおおきな学習データで試してみたいと思います。

 

 

 

 

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や、スイッチの操作を追加すれば、オーディオプレーヤーの完成です。