2011年5月14日土曜日

Android USB Host and Accessory

USB Host and Accessory

Android はさまざまな USB 周辺機器と、Android USB accessories (Android accessory プロトコルを実装したハードウェア)を次の2つのモードでサポートします。
 ・USB Accessory mode
 ・USB host mode


USB Accessory mode

USB Accessory mode では、外部の USB ハードウェアが USB Host として振る舞います。accessory の例として、ロボットコントローラ、ドッキングステーション、医療装置、音楽機器、キオスク端末、カードリーダーなどいろいろあります。これにより、ホスト機能がない Andorid-powered デバイスが USB ハードウェアとやりとりすることができます。Android USB accessory は Android-powered デバイスで動作するようにデザインされていなければなりません。つまり、Android accessory communication protocol が付いていなければなりません。


USB Host mode

USB Host mode では、Android-powered デバイスはホストとして振る舞います。デバイスの例としては、デジタルカメラ、キーボード、マウス、ゲームコントローラなどがあります。広い範囲のアプリケーションや環境向けにデザインされた USB デバイスは、デバイスと正しく通信できる Android アプリケーションとやりとりすることができます。

以下の図は2つのモードの違いを示したものです。Android-powered デバイスがホストモードの場合、USB host として振る舞い、バスに電力を供給します。Android-powered デバイスが USB accessory モードの場合、接続された USB ハードウェア(この場合は Android USB Accessory)が USB host として振る舞い、電力を供給します。。




USB accessory と host モードは、Android 3.1 (API level 12) もしくはそれ以降のプラットフォームで直接サポートされます。より広い範囲のデバイスをサポートするために、USB accessory モードは add-on library として Android 2.3.4 (API level 10) にもバックポートされています。デバイスメーカーはデバイスのシステムイメージに add-on library を含むかどうか選ぶことができます。

注意: USB host と accessory モードのサポートは、プラットフォームのレベルに関係なく最終的にはデバイスのハードウェアに依存します。<uses-feature> エレメントを使って、USB host と accessory をサポートするデバイス向けにフィルターすることができます。詳しくは USB accessoryhost ドキュメントを参照してください。

-----

Debugging considerations

USB accessory もしくは host 機能を使っているアプリケーションをデバッグする場合、USB ハードウェアを Android-powered デバイスに接続していることがほとんどでしょう。この場合、USB を介して Android-powered デバイスと adb 接続することができません。しかし、ネットワーク接続を介して adb にアクセスすることができます。ネットワークを介して adb を有効にするには、

1. Android-powered デバイスとコンピュータを USB を介して接続する

2. コマンドプロンプトで

    > adb tcpip 5555

  と入力する (/platform-tools/ にパスを通しておく)

3. コマンドプロンプトで

    > adb connect <device-ip-address>:5555

  と入力する

  adb logcat などのコマンドで、Android-powered device が接続されているかどうか確かめる

---
*#*#4636#*#* に電話をかけるとWifiの情報がとれます。[Wifi information] - [Wi-Fi Status] に移動して Refresh Status ボタンを押すと IPaddr に ip address がでます。
おおいしさん、ありがとうございます!
---

4. コマンドプロンプトで

    > adb usb

  と入力して、USB を listen するようにセットする

0 件のコメント:

コメントを投稿