8

3.0 まで SDK を介して iPhone の Bluetooth 機能にアクセスできないことはわかっていますが、その領域でデバイスを見つけるのにどれくらいの時間がかかりますか? エリア内のデバイスの数に依存していますか? 範囲内に約 5 台のデバイスがある場合、それらすべてを検出するためのスキャンにかかる時間は 5 秒未満ですか、それとも 30 秒を超えていますか?

多くの未知の要因があることは承知していますが、時間が最小限の場合に起動時に Bluetooth スキャンを実行できるかどうか、またはスキャンを実行しようとしていることをユーザーに伝える必要があるかどうかを判断しようとしています。大幅に遅れます。他の Bluetooth デバイスが利用できないため、これを実際にテストすることはできませんが、どのように設計できるかを理解しようとしています。

4

2 に答える 2

20

API で何ができるかはわかりませんが、これの基礎となる Bluetooth Host Controller Interface (HCI) コマンドは「Inquiry Command」です。

これにより、一定時間および/または一定数の応答でデバイスについて問い合わせることができます。

私は Bluetooth の初心者であり、専門家ではありませんが...

低電力モードの Bluetooth デバイスから少なくとも 1 つの応答を取得するには 1.28 秒かかるため、照会時間はその期間の倍数で最大 61.44 秒 (48 期間) になるため、時間範囲は 1 (1.28 秒) になります。秒) ~ 48 (61.44 秒)。

ただし、1.28 秒以内に応答できるデバイスがいくつかある可能性があります。

また、受け入れる応答の数 (1..255) または 0 を指定して無制限にすることもできます (例: 時間がなくなるまで)。

お探しのデバイスが見つかった場合は、お問い合わせをキャンセルすることもできます。

Bluetooth 2.1 + EDR ファームウェアを搭載した CSR bluetooth チップを使用してデスクから非科学的なテストを行い、チップ UART を介したデバッグ出力でチップ上で照会を実行します。各問い合わせを 10 回実行し、結果の平均を取得しました。

  • 1 回の問い合わせ時間 (1.28 秒) で、平均 10 個の一意の Bluetooth アドレスが得られました。
  • 5 回の問い合わせ時間 (6.4 秒) で、平均 23 個の一意の Bluetooth アドレスが得られました。
  • 10 回の問い合わせ時間 (12.8 秒) で、平均 29 個の一意の Bluetooth アドレスが得られました。

私は「ユニーク」と言いますが、実際には結果は同じアドレスを何度も何度も繰り返しました。

ただし、この周辺 (私のオフィス) の Bluetooth デバイスのほとんどは低電力モードではないため、これは「現実世界」を代表するものではありません。おそらく、PC、ラップトップ、およびテスト キットをデバイスのクラスで除外できたと思います。それは、携帯電話、発見可能なヘッドセットなどを取得します...

照会を RSSI と組み合わせて、信号が最も強いデバイスを取得することもできますが、それらが必ずしも最も近いとは限りません。

あなたのシナリオでは、時間とデバイスの数に基づいて照会を行うことができます (例: 4 * 1.28 秒または 10 台のデバイス)。

要約すると、問い合わせを行うことができる最短時間は 1.28 秒で、10+/- になる可能性があります。エリア内のデバイスが起きており、近くにある場合。

Bluetooth 環境が飽和している場合、または (同じ部屋で電子レンジが使用されている) 場合、範囲内のすべてのデバイスを見つけるのに時間がかかることがあります。

于 2009-05-08T14:29:05.463 に答える
4

これは古い質問であることは知っていますが、後でこの質問を見つけた人のために何かを追加できると思いました.

Simon Peverettが言及しているように、デバイスの検出は、Bluetooth ホスト コントローラー インターフェイスによって実行される、基礎となる「照会コマンド」によって実行されます。Bluetooth 仕様 V4.0、ボリューム 2、パート E、セクション 6.1.4 では、仕様には次のように記載されています。

一般的な問い合わせが Bluetooth デバイスによって開始された場合、問い合わせ元が十分な応答を収集し、早期に問い合わせ状態を中止することを決定しない限り、問い合わせ状態は TGAP(100) 以上続くものとします。

他の場所では、TGAP(100) は 10.24 秒であると説明されており、Bluetooth デバイスがデバイス検出を実行する時間間隔の推奨値として説明されています。

つまり、照会を実行するための最小時間の適切なベースラインは、10.24 秒、つまり、照会コマンドが時間を測定する 1.28 秒の期間のうちの 8 秒です。

于 2014-04-26T21:53:27.300 に答える