2022年1月17日月曜日

新連載【Android USB oscilloscope】(1) wifiデバッグはandroid11以降???

余っているAndroidスマホをオシロにしよう!

不定期連載開始です.
こちらの投稿で書いた構想の具現化です.
STM32でサンプル→USB→スマホ→Androidアプリでトリガかけたり表示
みたいなsystemを作ります.(hostはSTM32とします)

kotlinについて本を読んだりしてたのですが、kotlin文法やAndroid Studioの使い方にはそろそろ飽きてきて、USBライブラリでごちゃごちゃやってみたくなりました.

なのですが、USB device開発について疑問が生じました.

疑問点:
Android端末に接続するUSB deviceを開発するわけですから、Android端末のUSB portを占有します.ところがdebuggerのためにAndroid端末のUSB portが占有されてしまいます.いちいち差し換えるのは面倒です.どうすりゃいいの? てかみんなどうやってるの?

解答:
wifi経由でdebuggerが動くらしいです.それなら便利だ.
しかし、wifi debuggerはAndroid11以降じゃないと動かない.←10以前でも可能です
去年買った日常使い端末が11なので確認したらこんな風にワイヤレスデバッグがありました.ふ~ん、てかんじ.

debugには旧いAndroid7端末を使いたかったのですが、その野望は潰えました.

日常使いしている端末をdebugに使いたくないので中古でも買おうかと調べたところ、1万円ぐらいする.Android11は2020年9月にリリースされた比較的新しいバージョンなので端末も新しいからでしょう.
Android7の古い端末を11にupgradeできるとも思えないし、こりゃのっけからやる気が失せる展開です.

今週のどこかで秋葉に行くので中古屋を覗いてみますけど、¥4500税込みで売ってたら買うけど、¥1万じゃ買う気しないっす.

ーーーーAndroid11端末でwifi debugーーーー
気を取り直して、手持ちのAndroid11端末でwifi debugしてみます.あまり判り易くないです.

adb commandを使えばandroid10以前でもwifi debugできるらしいのですが今回それはさておきます.

以下で使うのはAndroid Studio 2020.3.1 patch4 windows版です.

手順1
Android11端末を開発者モードにする.netに情報がたくさんあるのでよしなにどうぞ.「7回押す」とかいうアレです.「ワイヤレスデバッグ」もONにしておく.

手順2
Android Studio → file → setting → plugins → "wifi"を検索 → インスト → RestartIDE
IDE restart後にエラーが出てる.依存関係がどーたらと云ってる.
Plugin error: Plugin 'ADB WiFi Connect' is compatible with IntelliJ IDEA only because it doesn't define any explicit module dependencies
エラー回避のため、いまインストしたpluginをここから削除した.
C:\Users\hira\AppData\Roaming\Google\AndroidStudio2020.3\plugins

どうやらインストすべきpluginはこっちだったらしい.エラーは出なくなった.
軽く地雷なのが、installed tabを押してチェックボックスを入れないと動く状態にならないので注意が必要.
wifiadbは有料だそうです.無料お試しは30日間.いまいちだなぁ.

手順3
そもそもわたしのdesktop PCに問題があるようです.
wifi debugの接続条件として、desktopとandriod11が同じアクセスポイントに接続できている必要があるそうです.まぁ当たり前か.現状のdesktop PCは有線接続オンリーなのでちょっと無理っぽい.

Amazonで「USB Wi-Fi 無線LAN 子機 5GHz 2.4GHz デュアルバンド」なるUSBドングルみたいなのを買ってdesktopにつけて、スマホとdesktopが同じAPに接続したところ、スマホのワイヤレスデバッグのところにdesktopとペア設定したとの表示が出るようになっていました.特に何もしてないけどこうなった.疑問はあるけどこのまま先へ進みます.

追記:Android Studioのdebug menuから表示させるQRcodeをスマホで撮影するやり方は何故か失敗.
windows shellから、adb pair 192.168.10.102:37821 のようにやるやり方で接続できました.スマホが表示するペア設定コードをwindows shellへ打ち込みます.

ただしこれでもまだAndroid Studioとのdebug通信は出来てないみたい.

手順4
adbをインストする必要があるみたいです.というのはウソでした.既にインストされています.shell画面でadbと打てばusageがザーッと出ますので.

手順5
Android Studio ToolsにWiFiADBが出るようになりましたのでクリックします.
スマホのワイヤレスデバッグ画面に出るIPとPORTを入力します.
スマホとdesktopが繋がりました.
Android Studioの画面上にtargetスマホが表示されるようになりました.これでよし.

手順6
Android StudioのPLAYボタンでbuild→downloadさせますが、スマホ側をUSBインストール許可にしなくちゃいけません.
ともあれwifi経由でdebuggerを動かすことができました.


かしこ

0 件のコメント:

コメントを投稿