X89を眺める(全くオススメしません)

KospetやらLemfoやらZeblazeのフルAndroidスマートウォッチは、内部のボードとソフト面は同一のベンダーが供給しているそうな。で、そのベンダー以外に(それパクった)中身を積んだフルAndroidスマートウォッチが世に出てきてので買ってみた。

 

なお、私は全くオススメしません。コレ買うならLEM10でも買った方が良い。

 

 

X89-2Bのスペックとか

Device info HWあたりで確認。

 

  • SoCはUnisoc SC9832e。CPUはCortex A-53の4コア。世代的にはMT6739と同じ世代か?
  • メモリ3GB/32GBまたは1GB /16GB。わたしは3GBの方買った。
  • 約7000円。安い。
  • Android9搭載。
  • 1.54インチ240x240液晶、発色悪い、まぁ値段相応の部品か。ベゼルが広く、非表示域が大きい。
  • カメラ0.3MPが2個。アップスキャンで2MP化してるんだと思う。
  • 側面にライトあり。珍しい。
  • 心拍センサーと温度センサーあり。まぁ腕で体温なんて計れるわけがない。
  • バッテリー900mAh公称、内部書き込みでは2900mAhになってる。入力ミスかな? 実際は別途測定してみるが、2900なわけがない。

 

 

  • 致命的なことに、OS上で通知機能へのアクセス権限をアプリに付与出来ない。これはUniversal LauncherやAutomateなど、通知機能を利用するアプリがマトモに動かないことを意味する。
  • デフォルトで「腕を上げて点灯」機能がない。まぁ別のアプリ使えばいいんですが、ビックリしました。
  • 当然ながら、Kospet Prime2やRogbid Brave Proのように好きにウォッチフェイスを追加出来たりしない。デフォのホームアプリはうんこだが、上記のように他のホームアプリはマトモに動かないので、、
  • バンド交換不可?かな?

 

 

写真とか


f:id:diablo3cs:20210405104439j:image

外箱。

 


f:id:diablo3cs:20210405104510j:image

電源入れたところ。

 


f:id:diablo3cs:20210405104542j:image

SIMスロットまわり。蓋側にいちおう、パッキン付いてる。これをはめ込んで蓋をする構造。Kospet Hopeなんかと同じような造りですね。

 

 

 

 

続くかもしれない。

 

車運転時にスマホの新規通知を読み上げる/時間で自動的に画面の明るさを切り替える

最近作ったAutomateフローについて。たいしたことないのでひとまとめで記事にしました。

 

 

車運転中に通知を読み上げる


Automate for Android ⋅ Car_device_connect_then_speak_notification_V0.01

 


f:id:diablo3cs:20210324171014j:image

 

フルAndroidスマートウォッチ用ではなく、スマホ用です。まぁ腕時計に読み上げさせるのもアリっちゃアリなんですが、うるさいので私は使いません。

 

 

車運転中は危ないのでスマホ触りませんが、耳は開いてます。まぁラジオなんか聴くわけですね。ならスマホに来た通知を読み上げれば良いじゃないの。でも安全運転してください。またこのせいで事故とか絶対やめてください。責任は負いかねます。

 

 

やってることは、

  1. Bluetoothのバンズフリーデバイスが接続されたら、
  2. 新規の通知のタイトルと本文を音声で読み上げる。
  3. バンズフリーデバイスとの接続が切れたら読み上げ待機解除する。

 

解説

  • Speakブロックの中の謎のbasic64へのエンコードとデコードは特殊文字の読み上げに失敗する為の対策。何か変なコードが混じると直に読み上げ出来ない。
  • Catch Failureブロックは、この手のフローが失敗した場合に自動的にリカバリーするもの。
  • 複数の通知が同時に来た場合、最初の通知しか読み上げない。対策は出来なくもないと思うんですが、めんどくさいのでやってない。

 

 

フルAndroidスマートウォッチで時間で自動的に画面の明るさを変更する

あまりに単純なフローなので、フロー画像だけ。


f:id:diablo3cs:20210324172420j:image

何故コレが必要なのかというと。Android10のフルAndroidスマートウォッチでは夜間モードが搭載されていて本来ならば自動で画面温度(画面のベース色のことと思いねぇ)と画面輝度が日の出日の入で変更出来る、ハズなんですが画面輝度については変更されないのです。

 

さらに、Automateのナイトモード検出ブロックでこの夜間モードが検出されないのです。仕方ないので、夕方17:00になったら輝度を50%に落として、朝方6:30になったら100%に戻すようにしてみた。

 

 

 

LINEからTelegramへメッセージを自動で送る by IFTTT

突然ですが、LINEが嫌いなので(理由は色々有るが、最大の原因は技術的に時代遅れの産物なこと、今時トーク履歴がクラウド自動保存じゃないとか)Telegramへの移行を促進するために、LINEに来たメッセージをIFTTTにてTelegramに転送してみました。

 

 

Telegramとは

元ロシアの富豪が開発したらしいチャットアプリ。ロシアから復号キー提出迫られたからドバイに移転したそうな。WhatsAppや、LINEなどと同じチャットアプリです。紹介記事は多数有ります。以下のとか。

 


複数端末持ちのガジェッターは、LINEを卒業してTelegramを使うと幸せになれるかも

 

特徴は、

  • 既に世界的にはLINEなんざよりユーザーが多いです。
  • 高い暗号化技術。復号できないので、中国では使用禁止とのことです。
  • 迅速な伝達。ほんの1秒~くらいでメッセージが届きます。
  • 高い自由度。例えばIFTTTで、トリガー発動側に設定できるチャットアプリはこれぐらいです。
  • 実は、wear OS by Googleから、直接返答可能。LINEとは技術とやる気のレベルが違います。
  • 複数端末持ちには嬉しい、複数デバイスで同一のアカウント使用可能。ただしアカウント自体には電話番号の登録が要ります。
  • 強烈なシークレットチャット機能あり。この場合、チャット自動消滅やら色々使える模様。まぁ私は使わないですが、、浮気アプリなんて呼ばれ方も。

 

 

IFTTTを使用してLINEのメッセージをTelegramにコピーする

これをやるやり方として以下の2つの方法を思いついた。

  1. IFTTTでやる。
  2. Automateでやる。

 

方法としては、Automateの方が潰しが効いて良いんですが、簡単に出来るのはIFTTTです。とはいえ、LINEが発行する通知notificationをIFTTTがキャッチしてTelegramに送る、ってやり方なんですが(スマホなしでは動かない)。

 

 

 

まず、IFTTTにて、LINEアカウントとTelegramアカウントの登録を行います。

よく考えたらLINEのアカウント要らんですわ。すいませぬ。

 

 

IFTTTのアプレット作成から


f:id:diablo3cs:20210322103156j:image

Android Deviceを選択。

 

 


f:id:diablo3cs:20210322103409j:image

「notification received from a specific app」を選択。特定の名前を持つアプリの通知のみを送れるようになります。

 

 


f:id:diablo3cs:20210322103725j:image

app nameに「LINE」を指定。メッセージフィルターは無くても良いでしょう。

 

 



f:id:diablo3cs:20210322103903j:image

Thenに、Telegramを設定。

 

 


f:id:diablo3cs:20210322103936j:image

Send Messageを選択。

 

 


f:id:diablo3cs:20210322104007j:image

ひとまず、Target ChatはデフォルトのPrivate chat~にしておきます。ここは後から(Telegramでの@IFTTTのボット追加したあと)変更します。

 

 


f:id:diablo3cs:20210322104221j:image

ひとまず、IFTTT側は保存して終了。

 

 

 


f:id:diablo3cs:20210322104301j:image

Telegramで、ユーザー「@IFTTT」を検索します。/startを押すと、丁寧な説明が表示されます。/connect_groupをクリック。

 

 


f:id:diablo3cs:20210322104633j:image

Choose GroupからIFTTTでメッセージを送りたいチャットグループを選択します。自動でグループに@IFTTTのbotが追加されます。

 

 


f:id:diablo3cs:20210322105045j:image

コレで、IFTTTのボットが目的のチャットグループに追加されました。IFTTTに戻ります。

 

 


f:id:diablo3cs:20210322105146j:image

Target Chatに先程ボットに追加したグループが選べます。選んで、IFTTTをupdateすれば完了。これでLINEが通知を出すと自動でTelegramにメッセージがコピーされるようになりました。

 

 

 

 

Automateで同じことをする

箇条書きで。参考ページ。


【Telegram】APIを使ってメッセージ送信をする | ななといつのTechBlog

 

Automateの参考フロー。


Automate for Android ⋅ Sending a messages from a Telegram BOT

 

 

  • Telegramにて@botfatherを検索、話しかける。
  • 自分専用のBotを作製する。
  • botのkeyを保存する。どこかに一時保存すると良いでしょう。
  • 自分専用botとのチャットまたはチャットグループを作成する。
  • そのchat IDを調べる。調べ方は上のブログの通りですが、単にブラウザにhttps://~のアドレスを打ち込むだけでOK。まぁめっちゃ見辛いですが。
  • botのキーとチャットIDが分かれば、あとは上のフロー内にkeyとID を入れて、お望みのフローを構築すればOK。

 

AutomateからHTTPリクエストする場合(別にTaskerから同じ様にHTTPリクエストしても良いと思う)、LINEに限らず、任意のテキストを自動でTelegramのグループに送れますので、色々できます。

 

 

 

Brave ProをLEM14化する

駄目アルー。どうやってもRogbid Brave Pro の運用時間が安定しないアル。20時間程度から50時間程度まで、バッテリーの持ちが変わる変わる。

 

 

と言うことで、Rogbid Brave Pro にLEM14のROMをぶち込んでみた。両者は同一製品で載ってるファームウェアがすこーし違うだけなのだ。

 

やり方はfullandroidwatch.org で公開されているLEM14のROMをSP flash tool で手動アプデして上書きするだけ。注意点は、

 

  1. 時計側の開発者オプションからUSBデバックを許可。
  2. SP flash toolの取説を良く読むこと。途中で接続失敗すると文鎮化の可能性有るかもしれないので気をつけること。とくにpreloader。
  3. 文鎮化しても私は責任取りません。

 

 

使用したROMは以下のもの。2021年1月21日版だぎゃ。fullandroidwatchを検索すれば出てくる。

 

S10PRO_LEM_C15_EN_V1.7_20210121.zip

 

 

なんでこんなことするのか?

ハード的に同じ製品とはいえ、単純にLEM14のほうがサポートが厚いからです。今後予定されているbug fixでもBrave Pro は放置される可能性有りそうだったし、2021年1月のアプデなんざ来てないし。

 

なお、機能が増えたり電池の持ちが安定したりする、なんてことはなかった。

 

 

もうこうなりゃヤケだぜ

どうせ悪さしてるのはGoogle系のアプリなので、GmailGoogleアシスタントもアンインストールしてみた。Googleアシスタントは実質、デフォルトのGoogleアプリが「OK Google」に対応してるので無くても変わらないとです。Gmailは、、無いと困るが…、、あとでOutlookでも試す。

 


f:id:diablo3cs:20210321064428j:image

 

ほぼ素のROMにAutomateとか入れただけの構成だす。2%/hr下回るが、さてこれが安定するのだろうか。

 

 

Bluetoothでの消費電力を低減させる

元ネタはfullandroidwatch.org。bluetoothの消費電力を押さえる方法として、以下のアプリの使用例があった。元のスレッドがどこかは忘れた…。試したらなかなか効果がありそうだったので、紹介。

 

 

https://discourse.fullandroidwatch.org/

 

 


Bluetooth Visibility Fix - Apps on Google Play

 

 

で、このアプリのやっていることは次の内容のようだ。

 

  • 通常設定出来ない、Bluetoothの他のデバイスから検索された際に見えるかどうかを設定する。
  • Bluetoothの他からの見え方には4段階ある。
  1. すべてのデバイスから見える
  2. 登録されたデバイスのみから見える
  3. 接続されたデバイスのみから見える
  4. Bluetoothがオフ 

 

  • 当然、1番や2番より3番のほうが消費電力は減る。
  • 特定のアプリがスタートしたら3番にする、BTコネクションが切れたら2番にする、なんて動作が設定可能。
  • で、通常はBT接続中も、別なBT デバイスからの接続に待機する為、3番にはならない。
  • Watchdroidが接続したら3番にすることで、大幅なBTの消費電力の低減が見込める。ただし、もちろん、その後別なデバイスを追加で接続させることは出来ない、たぶん。試してない。

 

 

Rogbid Brave Pro (LEMFO LEM14)での実際の運用状況

まだ10時間程度ですが。


f:id:diablo3cs:20210319072537j:image

実効7時間で17%。2.5%/hrくらい。だいたい40~50時間の運用ですね。

 

元々が3% /hr以上消費してて頭が痛かったので、なかなかに節電効果がありそう。もう少し試して記事更新したい。

 

Bluetooth PANを活用する 逆方向Watchdroidその2

私はRogbid Brave Pro(LEMFO LEM14)をSIM無しBluetoothにて運用しています。今までBluetooth PANを経由してJoinを使い、親スマホを操作してきました。常時BT PANに接続してれば問題ないんですが、「画面がオンの時だけBT PANにつなぐ」運用をしていると、Joinの再接続が遅れることがまぁまぁある。

 

と言うことで逆方向Watchdroidを使ったらもう少し快適そうなのでやってみた。

 

なお、画面がオンのときだけBT PANに繋ぎにいくAutomateフローの例は↓のとおり。省電力効果が大きい。


フルAndroidスマートウォッチでの基礎的なAutomateの例 - diablo3cs’s diary

 

 

逆方向Watchdroidとは


逆方向WatchDroidによってBluetooth経由でスマホに通知を送る - diablo3cs’s diary

 

通常使用するのと逆にもWatchdroidを入れて、時計側から親スマホに通知を送る。この通知を受けて、親スマホのマクロ起動をする。

 

 

時計側WatchDroidPhoneの設定

ちっこい画面でめんどくさいですが、やるしかありません。

  • アプリはAutomateのみを許可。
  • Automateの自動フィルターはオフにする。
  • 手動フィルターは適当に。

 

  • 通知→ソーシャル通知→通知の動作→「画面をオンにする」を有効。オンの画面じゃないとTaskerといえども反応出来ない。
  • 新しい通知スタイル、有効。
  • 「通知に触れない場合、スマートウォッチでレコードを生成します」を無効。ただしこれはWatchdroidの通知画面を利用する場合で、システム上の通知notificationを利用する場合はオン。ややこしいな。
  • 「タスクバーから通知を破棄すると~」有効。
  • 音声通知を発行する、オフ。
  • サイレントモードで振動する、有効。
  • 振動時間ゼロ。これで通知が来た際に音も振動も鳴らない。
  • 通知を表示する時間、最短の5秒。

 

  • スポーツと心拍数、電池の同期をオフ。

 

 

スマホでWatchdroidAssistantの通知をキャッチする by Tasker

watchdroidの最初に全画面表示される、システム上の通知notificationじゃない、通知画面をキャッチする。システム上の通知notificationをキャッチする場合は、通知が履歴に登録される場合の通知を利用するので、5秒待たなくてはいけない。

 

https://drive.google.com/file/d/1cypagbzS9wxBOF69LlhdISB-KCuh5WGE/view?usp=drivesdk

 

今回作製したTaskerのプロファイル。AutoInputプラグインを使用している。やっていることは、

 

  1. WatchdroidAssistantがforegroundに来たとき、
  2. それが通知ならタイトルを%titleofwd に、本文を%textofwdに格納する。title of watchdroid。
  3. %titleofwdが、「Hotspot On」ならばwifiテザリング開始。
  4. %titleofwdが、「Hotspot Off」ならばwifiテザリング終了。
  5. %titleofwdが、「Call via WD」ならば、%textofwdの番号に電話開始。

 

 

 

↓プロファイルのDescription

 

Profile: If WatchDroidAssistant is foreground, Then DO2 (15)
Restore: no
Event: App Changed [ Output Variables:* Package:com.lumaticsoft.watchdroidassistant ]
Enter: Anon (16)
A1: AutoInput UI Query [ Configuration:App Package: com.lumaticsoft.watchdroidassistant
Variables: titleofwd Timeout (Seconds):20 Continue Task After Error:On ]
A2: AutoInput UI Query [ Configuration:App Package: com.lumaticsoft.watchdroidassistant
Variables: textofwd Timeout (Seconds):20 ]
A3: If [ %titleofwd ~ Hotspot On ]
A4: WiFi Tether [ Set:On Keep Wi-Fi when turning on:Off ]
A5: Say [ Text:Hot spot on Engine:Voice:default:default Stream:3 Pitch:5 Speed:5 Respect Audio Focus:On Network:Off Continue Task Immediately:Off ]
A6: End If
A7: If [ %titleofwd ~ Hotspot Off ]
A8: WiFi Tether [ Set:Off Keep Wi-Fi when turning on:Off ]
A9: Say [ Text:Hot spot off Engine:Voice:default:default Stream:3 Pitch:5 Speed:5 Respect Audio Focus:On Network:Off Continue Task Immediately:Off ]
A10: End If
A11: If [ %titleofwd ~ Call via WD ]
A12: Call [ Number:%textofwd Auto Dial:On SIM Card: ]
A13: End If

 

↑ここまで

 

あとはスマートウォッチ側で

Automateにてスマートウォッチ側で通知を生成すればOK。ただし発行した通知は貯まっていくので、自動的に通知キャンセルするフローを組むと良い。今回の場合、以下の動作をスマートウォッチから親スマホにさせられる。

 

  • タイトルに「Hotspot On」、wifiテザリング開始。
  • タイトルに「Hotspot Off」、wifiテザリング終了。
  • タイトルに「Call via WD」テキストに電話番号、電話発信開始。

 

 

おまけ

逆方向Watchdroidを入れている場合のBrave Proの電池消耗具合。

 


f:id:diablo3cs:20210318133430j:image

だいたい1時間当たり3%くらい。30時間ちょい。まぁBrave Pro は何でかバッテリー消耗具合が安定しないのでご参考まで。

 

フルAndroidスマートウォッチでのジェスチャー系アプリの一覧

フルAndroidなスマートウォッチにて、動作を快適にするジェスチャー系のアプリを幾つかピックアップしてみた。なお個人的に使用しているのはエッジジェスチャー

 

 

気をつけること

  1. アプリドロワー(パイコントロール)機能の有無。
  2. ショートカット起動への対応の有無。
  3. 有料か、広告付きか、フリーか。

 

特に2番はAutomateやTaskerとの連携が使用できるかどうかに関わる、大きな評価項目です。

 

 

エッジジェスチャー


Edge Gestures - Apps on Google Play

 

私の愛用。

  1. パイコントロールあり。左右下エッジ合計で最大30件まで。とは言え、丸画面の場合は実行数は少なくなる。
  2. ショートカット起動機能あり。
  3. 有料。200円。

 

  • ほぼfluid navigation gesturesの上位互換。こっちで出来ないのはエッジのバーの分割くらいで、それもフルAndroidスマートウォッチの狭い画面では、分割しても使いようがない。 
  • 地味に便利なのは「引っ張ってスライドして音量の変更」や「引っ張ってスライドしてタスク切り替え」。
  • ものすごく色々セットできるが、数が多過ぎて私は半分も設定してない。現実的に「右に引いて上にスワイプ」と「上に引いて右にスワイプ」を区別して操作するのは、狭い画面では難しい。
  • フルAndroid機では、左の端からスワイプで「戻る」機能がOSレベルで割り当てられているが、エッジジェスチャーで適切に設定すればオーバーレイで上書きっぽくできる。元々の「戻る」はあんまり動きが良くないので、私はエッジジェスチャーの方を使ってる。
  • 有料だけあって、機能追加も結構ある。
  • 開発元はスクエアホーム(ホームランチャーでそこそこ有名な模様、タイル形式のホームアプリ)のところ。それもあって、今後もアプデは期待できる。

 

 

Fluid Navigation Gestures


Fluid Navigation Gestures - Apps on Google Play

 

  1. アプリドロワー機能なし。
  2. ショートカット起動機能あり。
  3. フリー。または280円のプロ版。

 

  • 残念ながら、最終アプデが2019年。死んでる。
  • エッジジェスチャーほど多機能でなくてもよければコレ。
  • 有料とフリーでの機能差って有るんか?
  • エッジからスワイプと、スワイプあんどホールドの2つが各バー毎に設定できる。数は少ないが十分ではある。

 

 

Smart Touch


Smart Touch (Easy Touch - Assistive Touch) - Apps on Google Play

 

  1. アプリドロワーあり。というかそれのみの機能。15個+フエィバリットアプリ10個まで。
  2. ショートカット起動あり。
  3. 広告付き、または有料。

 

  • 画面の左右どちらかの端に、派手なサークルをセットする。このサークルをタッチするとサークルのドロワーが現れる。
  • このサークルをくるくる回して動作を選ぶ。ちょっと楽しい。
  • エッジジェスチャーやfluid navigation gesturesのような一発動作は出来ない。
  • わたしはあまり魅力感じないが、海外だと使ってる人が多い印象。

 

 

Gesture Control


Gesture Control - Next level navigation - Apps on Google Play

 

  1. アプリドロワーなし。
  2. ショートカット起動あり。
  3. 機能制限のフリーまたはpro版。

 

  • fluid navigation gesturesの下位互換かなぁ。
  • アプリ起動の機能はpro版じゃないと解放されない。

 

 

Floating Tool box


Floating ToolBox - Assistive Touch - Apps on Google Play

 

  1. アプリドロワーあり。というかドロワーだけの機能。
  2. ショートカット起動機能なし。
  3. 広告付き、または有料。値段は忘れた。

 

 

  • 画面上にフローティングのサークルが現れる。これをタッチすると、登録したアプリのアイコンが現れる。
  • 登録できるのはアプリだけ。バック入力やホームヘ戻る入力も登録出来ない。
  • 同じ系列でも、Smart touchのほうが大分高機能のような…。 
  • 某有名海外スマートウォッチレビュワーのオススメらしい。所詮はちゃんと使って無い人のオススメか。残念だわ