4

これまでのところ、Androidフォンから複数のデバイスと通信できることがわかっています。しかし、私の場合は、2 つの「類似した」デバイスを接続したいということです。

私の理解では、2 つのデバイスを接続する必要がある場合は、別の UUID を使用する必要があります。Bluetooth チャット アプリケーションは、UUID をハードコーディングすることを提案しています。

今のシナリオは、物理的な銃がBluetooth経由で電話に接続される(ショットなどを追跡するために)ゲーム用にプログラミングしていることです。ここで、銃のベンダーにすべての銃の UUID をハードコードするように依頼できます。電話は一度に 1 つの銃に接続できます。簡単です。

要件は、ユーザーが複数の銃を持っている可能性があることです! すべての銃に対して単一の UUID をハードコーディングしている場合、複数の銃を接続する方法がわかりません。また、ガンチップで UUID をハードコーディングしていない場合、接続する UUID をどのように見つけることができますか?

4

1 に答える 1

7

UUID は一意のデバイス識別子ではありません。UUID は、Bluetooth デバイスが使用しているプロトコルを識別するために Bluetooth Service Discover Protocol によって使用される一意の識別子です。Bluetooth.org には、一般的な UUID のリストがあります。

銃のUUIDを知っているか制御できると仮定すると(できるように聞こえます)、電話をBluetoothサーバーとして設定できます(銃が使用するのと同じUUIDを使用)。銃は、同じ UUID を使用してクライアントとして接続します(銃はおそらく Android を使用していないことはわかっていますが、参考になるサンプル コードがいくつかあります)。

もちろん、特定のニーズに合わせてクライアント/サーバー モデルを反転する必要がある場合もあります。これらのサーバー スレッドとクライアント スレッドは、必要な数だけ作成できる必要があります (ハードウェアが課す接続デバイス数の制限内で)。

于 2013-05-09T14:10:22.123 に答える