ターゲットは実際の距離を持つことではありません。もっと単純なものです。
ターゲットは、別のデバイスが非常に近いかどうかを確認することです。正しいか間違っているか。10 cm または 15 cm が近いと仮定すると、チェックは true になり、さらに離れたデバイスはチェックに失敗し、false になります。
私の最初のアプローチは api のメソッドを使用するfetchUuidsWithSdp()
ことでしたが、失敗しました!
デバイスが数 cm 離れていても、大きな部屋の反対側にあっても、遅延は同じように見えました。
ブルートゥースがなくても、どんな解決策も受け入れられます。たとえば、私はwifi ダイレクト p2pプロトコルにまったく慣れていません。距離を大まかに推定するのに役立つものがそこにあるかもしれません。
編集:受信信号強度インジケーター( RSSI )について読んでいます。これは、デバイス間の距離の大まかな推定という特定のケースに使用できます。しかし、精度を向上させるために何かを組み合わせる必要があるかもしれません。
編集:ラルガの答えをテストしました。私は接続を確立し、デバイス間でピンポンするためのマイナーなプロトコルを持っていました. 1 バイト
でピンポンしたときの平均レイテンシは、非常に近い場合は 22.6000 ミリ秒、部屋の反対側の隅では 22.6087 ミリ秒でした。1024 バイト
でピンポンしたときの平均レイテンシは、非常に近い場合は 40.3173 ミリ秒で、部屋の反対側のコーナーでは 32.3138 ミリ秒でした。
結局のところ、実際には、レイテンシーは距離に関する情報を伝えません!
ありがとう!