
新しいAndroidは、 ホスト(ホストモード)とデバイス(アクセサリーモード)の 2つのUSBモードをサポートしています 。
ホストモードでは、すべてがシンプルで明確です。これは、キーボード、マウス、デジタルカメラ、外部ドライブなどをAndroidデバイスに接続することです。
しかし、デバイスのUSBモードでは、すべてが非常に興味深いものになります。 このモードでは、外部USB機器がAndroidデバイスのホストとして機能し、そのような外部機器はドッキングステーション、ロボットコントローラー、診断および音楽機器、スポーツシミュレーター、カードリーダーなどです。 Android用のUSB機器はプロトコルをサポートする必要があります( Androidアクセサリ通信プロトコル )
スキームに従って、2つのモードの違いを明確に理解できます。

AndroidデバイスがUSBホストとして機能する場合、バスに電力を供給します。 AndroidデバイスがUSBデバイスモードの場合、バスはそれに接続された機器から給電されます。
USBホストおよびUSBデバイスモードは、Android 3.1(APIレベル12)以降でサポートされています。 USBデバイスモードは、デバイスの大規模なセットをサポートするライブラリとしてAndroid 2.3.4(APIレベル10)にも移植されます。 機器メーカー自身が、このライブラリをシステムイメージに追加するかどうかを決定します。
Androidオープンアクセサリー
Android用USB機器の開発のために、Android Open Accessory Development Kit(ADK)が提案されています。これは、Android用USB機器の実装であり、 Arduinoベースのレイアウト、アクセサリーモード用のファームウェアコード、機器と対話するAndroidアプリケーションを含みます。
ハードウェア開発キットはRT-ADKとRT-ADSのセットで 、彼らは私たちに〜390ドルで販売しようとしています。

これは単なるArduino Mega2560ですが、 Circuits @ Home USBホストシールドはボードに組み込まれ、センサーとコントロールのセットが組み込まれています。 このようなセットは最大100ドルかかります。

Arduinoのさまざまなセンサーとインジケーターに加えて、たとえばUSBデバイスをロボットに変換できる拡張カード(Arduinoシールド)が多数あります。
Google I / O 2011でのAndroid Open Accessory APIおよび開発キット(ADK)のプレゼンテーション
Android Open Accessoryは、Androidデバイス用の多数の異なるアクセサリの出現に貢献するはずです。
将来的には、USBインターフェースに加えてAndroid Open AccessoryもBluetoothをサポートする予定です。