2022年1月20日木曜日

【Android USB oscilloscope】(3) USB hostでうごくスマホ、ダメなスマホ(OTG)(usb-serial-for-android)

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

最終的にこのようなブロックにしたいです.スマホで波形を表示します.STM32がUSB hostで、スマホがUSB deviceです.
なのですが、今はUSB classを使いこなすお勉強中なので、スマホをUSB hostとしてUSB COMを動かしてみるところから着手しようと思います.
スマホをUSB hostにするということは、スマホのUSBをOTGで動かすことに相当します.

debugに使おうとしているHUAWEI P9 LiteはAndroid7で2016年製です(右のやつ).なんとこれが、2016なのにOTG非対応でありました.意外とダサいスマホでした.
上の写真の左のやつは、ASUS Zenfone Max Plus 2017年製です.これはOTG対応なんですね.OTG cableでOTG接続できました.

ーーーー
てなわけでhardware面のdebug環境は整ったのでCOMのsample codeをDLしてごにょごにょするわけなんですが、
なんてこった、全くわからない
Cみたくライブラリの.hを#includeしてとか、そうゆう作法がまるで通用しない.宇宙人のtoolかAndroid Studioは.あうあうぁ~

なおいま使っているversionはこれです.

USB hostのsampleとして検索によくひっかかるのがgoogleチームによるらしきusb-serial-for-androidがあります.

gitからDLします.まずandroid studioでgitを使えるようにします.その後URLを指定してCloneします.

cloneはつつがなく完了します.
ところがbuildさせるとエラーが出ます.JAVA version不一致です.
Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8
これをどう治したらよいのかで悩みました.settingでjava11にしてやるです.
これでbuild成功しました.
Zenfoneへusb-serial-for-androidをDLして、OTGでFT232Rを認識しました.

わからんことが多過ぎる.ソフト素人には難しすぎない? もうへとへと

ソフト素人とは: ソフト書きで金を稼いだ経験がまるで無い者を指す蔑称

2へ          4へ

かしこ

2 件のコメント:

  1. 10年以上前にEcllipseでアンドロイドアプリを開発しようとして,JAVAのオブジェクト指向についていけず断念しました。がんばってください。

    返信削除
    返信
    1. いやはや、これほどまでにわけわらんとは思わず、愕然としているところです.
      ぐぅぅ

      なんかJAVAの文字面が判りにくい気がします.C++は読みやすいんですけど.ぐぅぅ

      削除