5

私はこの主題についていくつかのスレッドを漏らしているのを見つけました、しかしそれらを読んだ後、私は私の問題について明確な考えを持っていません。

外部デバイス(Tomtomデバイスのようなもの、つまりアクセサリではない)があり、このデバイスをAndroidデバイスに接続したいと考えています。また、USB接続を使用して外部デバイスとAndroidデバイスの間でシリアル通信を行いたいと考えています。(現時点では、RS232インターフェースを使用して外部デバイスと他のAndroid以外のデバイスとの間で通信を行っていますが、外部デバイスはUSBケーブルを使用して通信を処理できます)

私が読んだように、3.1以降はUSBAPIをサポートしています。

USBケーブルを使用して外部デバイスと通信するAndroidアプリケーションを開発できますか?つまり、デバイスにデータを送信する方法とデバイスからデータを受信する方法の両方で、Androidデバイスを「ディスプレイ」として使用したいと考えています。

事前にどうもありがとうございました。

4

3 に答える 3

12

私は基本的にあなたが説明していることと同じことをしています。私はまだ初期段階ですが、いくつかの制約の下でそのようなコミュニケーションを管理しました:

  1. USB Host API をサポートするデバイスが必要です。API 自体は Android 3.2 程度から存在していますが、すべてのデバイスがそれをサポートしているわけではないようです。>4.0 を実行しているデバイスのほとんどは動作するはずですが、それでもデバイスごとにチェックする必要があります。私は現在、Acer Iconia Tab A510 を使用しています。これは今のところ動作しているようですが、いくつか問題があります。
  2. Neil が言うように、USB API は低レベルなので、USB チップセット用のドライバーが必要になると思います (あなたの側、つまりデバイスにあるもの)。私が選択した FTDI チップセットに取り組んでいるオープン ソース プロジェクトがあるので、私はここで非常に幸運でした。それもあなたのケースである場合は、プロジェクトを確認する必要があります。

これが役立つことを願っています。私が言ったように、私はこのエコシステムで働き始めており、まだ多くの「場所」を回避する方法を見つけなければなりません.

乾杯、アシエール。

于 2012-10-17T08:53:54.663 に答える
1

現在、adb インターフェイスは一方向です。フローは adb を使用してホスト PC によって制御されます。あなたの要件を見ると、ソースコードを開き、USB ドライバーを再調整して、双方向の通信を可能にする必要があるようです。その後、アプリケーションが USB 経由でメッセージを送信できるようにする独自の API を設計する必要があります。現在の Android モデルではサポートされていないため、これには多くの作業が必要になります。

于 2012-10-04T11:18:49.353 に答える
0

デバイスを接続している Android デバイスがホスト モードをサポートしている場合は、USB API が役立ちます。ただし、USB 要求バッファー (URB) で通信するのは低レベルの API です。現在、この API を使用してシリアル抽象化を作成していますが、現在放送する準備ができていません。

Android 以外のデバイスがホストとして機能できる場合、Royston が示唆するように、adb ルートが最適である可能性があり、API バージョン 12 以降の API バンドルでこれを行う方法の例があります。

于 2012-10-08T00:08:24.847 に答える