AとBの2つのスマートフォンを持っていることを考えると、スマートフォンAを持っている場合、自分との関係でBの位置を特定する方法はありますか?
したがって、この画像の状況があった場合:
:
Bが位置(2、1)にあることがわかります。
Wi-Fi信号の強度を使用して位置を取得するなどの独創的な方法は、さらに歓迎されます。2台の電話の間に壁があるかどうかも判断できますか?
AとBの2つのスマートフォンを持っていることを考えると、スマートフォンAを持っている場合、自分との関係でBの位置を特定する方法はありますか?
したがって、この画像の状況があった場合:
:
Bが位置(2、1)にあることがわかります。
Wi-Fi信号の強度を使用して位置を取得するなどの独創的な方法は、さらに歓迎されます。2台の電話の間に壁があるかどうかも判断できますか?
私の知る限り、Bluetooth信号とWi-Fi信号はどちらも放射状に全方向に移動します。したがって、2つの端末間の距離を測定できる場合もありますが、これで正しい測定値が得られるとは思えません。円形領域の「側」にあるか、信号の発信元から等距離にある別の領域にあります。
GPSはあなたが探しているものを正確に提供するので明白な解決策かもしれませんが、これをオプションとして含めているかどうかはわかりません。デバイスの2つの座標セットを取得したら、デバイス1からのオフセット(N/SおよびE/W)を計算する必要があります。
これは、GPSによって与えられる精度について考えさせられます。これは、質問にBluetoothタグを含めていること、およびBluetoothの範囲が約15〜30フィート(タイプ2〜3)であり、GPSの許容誤差が25であることを考慮したものです。 -35フィート、これも良くないかもしれません。
2つのデバイス間で接続(Bluetooth)を取得できた場合、その範囲内での接続(Bluetooth)はすでにわかっていますが、どの方向であるかはわかりません。Android 2.1から信号強度の測定値を取得できます。既存のBluetooth接続のRSSI値をポーリングするにはどうすればよいですか?しかし、ここでも、ユーザーがあなたに対してどの方向にいるのか、どの方向にどれだけ近いのかを検出する方法がわかりません。地獄の他のデバイスはあなたの上またはあなたの下にある可能性があり、あなたは等しい距離を与えられたあなたの隣と実質的に同じ読みを得るでしょう。
これはすべて「静的」アプローチであり、両方のデバイスが静止していることを意味します。ただし、その値を測定してから左に一歩踏み出して再測定すると、ソースに近いか遠いかがわかります。そのため、デバイスの1つを少し試行錯誤するだけで、ただし、相対位置ですが、左に移動したことを手動で電話に伝えて再測定するか、電話の加速度計を監視するなど、より複雑なものを使用して、どの方向に移動したかを知る必要があるため、これは役に立たない場合があります。電話が移動し、信号の強さをマッピングします。
私は心を失っていますか?おそらく。
今のところ私に関する限り、答えはありません。ただ考えているだけです。アプリケーションが何をするかに応じて、他の実行可能なアプローチがあるかもしれません。これは私の頭の痛い答えなので、誰か他の人がそれを読んで、考えをぶち壊す代わりに、より精巧な答えを思い付くことができれば幸いです。
AからBまでの距離が数メートルを超える場合、AとBの両方のGPS位置を取得できれば、Location.distanceTo()とLocation.bearingTo()を使用してそれらの間の距離と方位を簡単に計算できます。メソッド。
物理的な環境によっては、物理的に近接している2つのGPSが同じ衛星を使用して計算し、エラーは両方で類似している可能性があります。そのため、場合によっては、GPSを使用すると短距離で機能することがあります。