2011-08-16 4 views
4

특정 위치에서 Wi-Fi 강도를 기반으로 건물에서 스마트 폰을 얼마나 잘 지향 할 수 있는지 알아 보는 데 관심이 있습니다.Wi-Fi 신호 강도를 기반으로 iPhone 또는 Android 기기의 위치를 ​​파악할 수 있습니까?

적어도 서구 ​​세계에서는 Wi-Fi가 보편화되고 있으며 스마트 폰을 갖고 있다면 가장 가까운 Wi-Fi 허브가 거의 항상 가까이에 있습니다. 당신의 이웃들도 매우 자신의 것을 소유 할 가능성이 높습니다. 그래서 당신은 다양한 수준의 리셉션과 품질에서 많은 무선 인터넷을 즐기실 수 있습니다.

iOS와 Android가 실시간 신호로 무선 신호의 원시 데이터에 액세스 할 수 있도록 허용하는 경우 개발자는 데이터를 정규화하고 분석하는 알고리즘을 제안하여 객체가 주어진 공간에서 어디에 있는지 아주 잘 파악할 수 있습니다. 전화기를 옆으로 돌리면 다른 신호 강도 판독 값을 낼 수 있지만 처음에는 수동으로 보정 한 다음 수작업으로 보정하여 높은 수준의 정확도를 제공하는보다 일반적인 패턴에 적용하여 수집 한 데이터를 사용할 수 있습니다 장기적으로는.

예를 들어 주방에서 거실로 이사한다는 것을 인식하는 앱과 같이 TV 및 기타 등을 제어 할 수있는 remote control 모드로 자동 전환됩니다. 침실로 이동하고 프로필을 완전히 변경하여 자동 모드로 전환 한 다음 화면 보호기로 시계를 표시합니다.

현재 API에서 가능합니까? 그런 종류의 데이터를 얻는 데 필요한 것이 무엇인지, 데이터를 분석하고이를 정상화하여 방을 구별하는 것이 얼마나 정확한지 알아내는 것이 얼마나 힘든가요?

부연 설명 :

  • 좀 더 UI/UX 디자이너/개발자와 같은 기술 자나 수학자, 아니다 (JS 주로)
  • 나는 이것이 현재의 API와 가능하다면 그것은 이론적 여부를 묻는 있어요 현재 API가 현재 API를 지원하지 않는 경우 가능합니다.

답변

4

예, 몇 가지 가정 사항을 제공한다면 이는 실제로 해결할 수있는 문제입니다.

Android OS에는 액세스 포인트의 신호 dBm을 분석 할 수있는 기능이 있습니다 (관심있는 개발자의 경우 BroadcastReceiver 및 WifiManager의 SCAN_RESULTS_AVAILABLE_ACTION 인 텐트 참조).

신호가 AP에서 멀어지면 신호는 정량화 가능한 속도로 저하됩니다. 신호가 AP를 벗어날 때 신호 강도를 알면 (스펙이 상자에 있음) 장치에 도달하면 신호가 이동해야하는 거리만큼 올릴 수 있습니다.

여기 가설이 적용되는 곳입니다.당신과 AP 사이의 어떤 것이라도 신호 저하에 영향을 미칩니다. 그래서 당신이 거실에 있다고 말하면, 당신과 당신의 액세스 포인트 사이에 두 개의 벽이 있습니다. 신호가 다른 상태에 도달하면, 썰매가 당신과 AP 사이의 두 벽을 망치로 부수고 측정을했습니다. 당신과 AP 사이의 경로를 차단하는 것이없는 장소에서만이 방법을 사용하는 것이 가장 좋습니다.

또한 2D 공간의 단일 지점에 도착하려면 최소 3 개의 AP가 필요합니다. 내가 아는 대부분의 사람들은 자신의 집에 3 개의 AP가 설치되어 있지 않기 때문에 이웃에게 AP의 위도/경도 위치를 요청해야합니다.

모두 해결할 수있는 문제이지만 추가 감각 데이터 (집안의 3D지도, 여분의 AP, 가속도계, GPS 등)를 포함시키지 않는 한 집의 맥락에서 제대로 작동하지 않을 수도 있습니다.) 솔루션을 제안했다.

+0

거의 모든 사람들이 요즘 (서구 세계에서) 집안에 무선 AP를 가지고 있다고 가정하면 이론적으로 물리적 LAT/LONG 좌표를 사용하지 않고 (거실, 침실, 주방 등) 상대적인 "위치"를 만들 수 있습니까? 내 주변 환경의 다른 사람들이 Wi-Fi AP를 사용하고 있다는 사실에 대해 알고 싶습니다. – Eli

+0

예, 물론입니다. 집과 같은 정적 모델에서는 알려진 AP (이웃을 포함) 각각에 대해 바닥 평면도의 각 평방 피트에 대한 모든 신호 강도의 매핑을 생성 할 수 있습니다. 해당 데이터와 AP의 현재 판독 값을 기반으로 휴대 기기를지도에 있어야하는 위치를 정확히 찾아 낼 수 있습니다. – snoll

0

아니요, 현재 API에서는 불가능합니다.

잠재적으로 최소한 액세스 포인트와의 거리를 얻을 수 있다고 생각하지만, 움직이지 않는 포인트가 아니라면 무엇이 좋을까요.

액세스 포인트는 잠겨 있거나 GPS가 장착되어 있어야 자신의 위치를 ​​알 수 있습니다. 현재 내 집에서 원하는 곳 어디에서나 Wi-Fi 라우터를 이동할 수 있기 때문에 ...

+0

아니요. 내 집에서 특정 지역을 거실이라고 생각하고 다른 침실을 "사무실"로 간주하고 GPS 데이터를 고려하지 않고 상대방 위치 만 고려하면 내 전화를 "가르 칠"수 있습니다. 꽤 유용 할 수 있습니다. 와이파이 사이트는 대개 꽤 움직이지 않으며 오랫동안 (한 번에 적어도 몇 개월) 자리에 있습니다. 그리고 내 전화기는 SSID를 통해 해당 전화기를 인식 할 수 있으며 위치에 고유 한 2-3 개의 SSID를 "확인"하여 "알려진"위치에 있음을 알 수 있습니다. – Eli

+0

어디서나 Wi-Fi 라우터를 이동할 수 있지만 자주 발생합니까? 대부분의 경우 Wifi 라우터는 이동하기가 번거롭기 때문에 장소에 고정되어 있습니다. 좋은 장소를 찾은 후에는 그렇게 할 필요가 없습니다. – Eli

관련 문제