1

ブルートゥースのより複雑な問題に飛び込む前に、基本をクリアしたいと思います。以下の基本的な質問があります。

  1. 2つのBluetoothデバイス(電話とBluetoothディスプレイ)がある場合。Bluetooth接続は電話によってのみ開始されるということですか。

  2. 電話からBluetoothディスプレイへのBluetooth通信が大量に発生するとします。どちらのデバイスも、いつでも他のデバイスにメッセージを送信できます。コミュニケーションの通常のデザインアプローチは何ですか。電話機がBluetoothデバイスに接続要求を送信することによってRFCOMMを介してBluetoothディスプレイへのソケット接続を最初に作成し、この接続が常に維持されるか、またはメッセージごとにソケット接続が確立され、その後ソケットが閉じられるということですか?それは再び開いて、次のメッセージのために閉じました。

  3. デバイスが近くの範囲に入るまで接続が開かれると、どのような結果になりますか。

  4. 電話とヘッドセットの場合の通常の通信方法は何ですか。

  5. それについての知識を得ることができるように、私はどんな参照も得ることができますか?

4

1 に答える 1

2

1)一般に、Bluetooth接続はどちらのデバイスでも開始できます。たとえば、電話とコンピューターを使用すると、どちらの側からでも接続を開始できます。電話とディスプレイまたはヘッドセットでは、1つのデバイスに入力インターフェイスがない場合があるため、電話から接続を開始します。デバイスは、マスター/スレーブの役割を交換するように役割の切り替えを自動ネゴシエートすることもできます。

2)交換するデータが継続的にある場合、または低遅延が必要な場合、通常、接続は切断されたままになります。交換するメッセージがまれな場合は、デバイスがnullパケットを交換することで接続の同期を維持しているため、接続を切断すると電力を節約できます。

3)範囲外のデバイスとの接続を維持することはできません。タイムアウト期間(秒単位)の間通信できない場合、同期が失われ、接続が切断されます。

4)電話/ヘッドセットはRFCOMM接続ではなく、HSP(ヘッドセットプロファイル)を使用していることに注意してください。アイソクロナス音声データの接続は、RFCOMMのような散発的なデータ接続とは本質的に異なります。

5)「実際の」デバイスがどのように通信しているかを確認する良い方法は、LinuxblueZスタックの一部としてhcidumpなどのツールを使用することです。これにより、デバイスを接続するときに発生するプロトコルメッセージを完全にスニッフィングできます。

于 2011-09-06T17:49:16.573 に答える