web-dev-qa-db-ja.com

Android USBホストからシリアルへの接続?

どうやらAndroid 2.3.4と3.1では、USBアクセサリにアクセスできるようになりました。

ラップトップにUSBケーブルを接続したArdupilot Mega(Arduinoベース)ボードを持っていますが、COM7と115,200ボーを介した単純なシリアル通信プログラムを使用してそれに接続できます。これにより、コマンドラインインターフェイスに入ることができ、コマンドを発行してログを取得できます。

Ardupilot MegaボードとUSBで通信するAndroidアプリを書くことは可能ですか?

私は多くの同様のスレッドを見てきましたが、それらのほとんどはUSB以前のホストでした。

18
Hein du Plessis

sb-serial-for-Androidは、まさにこのニーズのために書かれた私のオープンソースライブラリです。 AndroidのUSBホストサポートを使用して、FTDIおよびCDC-ACM USBシリアルデバイスをサポートします。ルートやADKは必要ありません。ほとんどのArduinoと会話できます。

プロジェクトはまだ始まったばかりですが、基本的なサポートはいくつかのプロジェクトに対して十分に機能しています。 ディスカッションリスト もあります。

14
mik3y

残念ながら、ライブラリは mik3yの回答 (ここを参照: mik3y/usb-serial-for-Android =)長い間死んでいるようです。多くの問題と待機中のプルリクエストがあります。また、LGPLライセンスは、誰もがそれをforkして維持することを禁止します。

しかし、希望を失わないでください。有効な代替品があり、MITライセンスの下にあります。 felHR85/UsbSerial

EDIT:mik3yのライブラリの維持されているフォークを見つけました。しかし、ライセンスやreadmeは更新されていないので、所有者はmik3yに接続しておらず、単にそれを取得して改善したと思います。私たちがこのライブラリを必要としているので、彼がライセンスのために問題に遭遇しないことを願っています。 kai-morich/usb-serial-for-Android を参照してください

1
Jakub Turcovsky

Slick USB 2 Serial Libraryで説明されているライブラリをチェックアウトできます。

これにより、一般的なUSB-シリアルアダプターがAndroid USBホストモードを持つデバイスでrootにする必要なく動作します。

0
SlickDev

多分。 Android開発者ブログ のAndroidオープンアクセサリの発表)をご覧ください。ArduinoMega ADKは互換性があります。ArdupilotMegaについては不明です。

彼らのページから:

Android 3.1プラットフォーム(Android 2.3.4にもバックポートされている)は、Android外部USBを許可するオープンアクセサリサポートを導入しますハードウェア(Android USBアクセサリ)]は、特別な「アクセサリ」モードでAndroid搭載デバイスとやり取りします。Android搭載パワードデバイスがアクセサリモードの場合、接続されたアクセサリは、 USBホスト(バスに電力を供給し、デバイスを列挙)およびAndroid搭載デバイスがUSBデバイスとして機能します。Android USBアクセサリは、Android搭載デバイスに接続し、シンプルなプロトコルに準拠するように特別に設計されています(Androidアクセサリプロトコル)アクセサリモードをサポートするAndroid搭載デバイスを検出できるようにします。アクセサリは、充電電力として5Vで500mAも提供する必要があります。以前にリリースされたAndroid搭載デバイスの多くは、USBデバイスとしてのみ機能し、接続を開始できません。外部USBデバイスを使用する場合Androidオープンアクセサリのサポートにより、この制限が解消され、アクセサリが接続を開始できるようにすることで、Android搭載デバイスのさまざまなデバイスと対話できるアクセサリを構築します。

注:アクセサリモードは最終的にデバイスのハードウェアに依存し、すべてのデバイスがアクセサリモードをサポートするわけではありません。アクセサリモードをサポートするデバイスは、対応するアプリケーションのAndroidマニフェストの「uses-feature」要素を使用してフィルタリングできます。詳細については、USBアクセサリ開発者ガイドを参照してください。

以下のディストリビューターのリストは、現在Android Open Accessory互換の開発ボードを生産しています:

Arduinoストアは、ATmega2560に基づいており、ADKファームウェアをサポートするArduino Mega ADK(EU諸国または非EU諸国)を提供します。DIY Drones RC(ラジコン)およびUAV(無人航空機)愛好家向けのArduino互換ボードを提供します。 Microchipは、PICベースのUSBマイクロコントローラーボードを提供します。 Modern Deviceは、ADKファームウェアをサポートするArduino互換ボードを提供します。 RT Corpは、Android ADKボードデザインに基づくArduino互換ボードを提供しています。SeeedStudioは、ADKファームウェアをサポートするArduino互換ボードを提供しています。SparkFunのIOIOボードにADKファームウェアのベータサポートが追加されました。

0
Zoot