2011-08-16 34 views
4

我有興趣瞭解基於特定位置的wifi強度,智能手機如何在建築物中定位。是否可以根據wifi信號強度來確定iPhone或Android設備的位置?

無線網絡連接變得無處不在,在西方世界,至少,如果你擁有智能手機你最有可能有你附近的至少一個無線集線器,幾乎在所有時間。你的鄰居很可能也擁有一個,所以你有不同程度的接待和質量的無線網點。

如果iOS和Android允許以現場速度從wifi信號中訪問非常原始的數據,開發人員可以拿出算法對數據進行規範化和分析,以獲得對象在特定空間中的位置的相當牢固的概念。確實,只要將手機翻過來就可以發出不同的信號強度讀數,但可以先手動進行校正,然後使用手動校正收集的數據並將其應用於更通用的模式,以獲得高準確度從長遠來看。

這可能會有很多應用程序,例如,一個應用程序可以識別您正在從廚房移動到客廳,並且會自動切換到remote control模式,以便您控制電視機和其他設備。移動到臥室,徹底改變配置文件進入靜音模式並顯示一個時鐘作爲屏幕保護程序。

這可能與當前的API?如果沒有,那麼需要什麼才能獲得這種數據,以及分析它並對其進行規範化以便準確地區分房間有多難?

澄清:

  • 我不是一個工程師或數學家,更像UI/UX設計師/開發(JS爲主)
  • 我問這是否可能與現有的API和它是否是理論上如果目前的API目前不支持,可能會出現這種情況

回答

4

是的,如果您做出一些假設,這確實是一個可解決的問題。

Android OS具有您需要能夠分析接入點信號dBm的功能(對於那些感興趣的開發者,請參閱WifiManager上的BroadcastReceiver和SCAN_RESULTS_AVAILABLE_ACTION意圖)。

隨着信號離開AP,信號以可量化的速率降級。如果您知道信號離開AP(盒子上的規格)和信號到達設備時的信號強度,那麼您可以拿出信號必須經過的距離,以降低信號質量。

這是假設發揮作用。你和AP之間的任何事情都會對信號衰減產生影響,所以如果你進來了,比如你的起居室,並且你和接入點之間有兩堵牆,那麼信號將以不同的狀態到達,那麼如果你接着去一個大錘,把你和AP之間的兩個牆壁擊碎,然後進行測量。最好只在沒有阻止你和AP之間的路徑的地方使用它。

此外,您需要至少3個AP才能到達2D空間中的單個點。大多數我認識的人沒有3個AP在他們的房子裏,所以你需要問你的鄰居AP的經緯度位置。

總而言之,一個可解決的問題,但不一定在您的家庭環境中運行良好,除非您要包含額外的感官數據(房屋的3D地圖,冗餘接入點,加速計,GPS等) )想出一個解決方案。

+0

假設現在幾乎每個人都在他們家裏有無線接入點(西方世界),理論上我可以創建相對的「位置」(我的客廳,臥室,廚房等),而不涉及實際的LAT/LONG座標,並且依靠事實上,我周圍的其他人有無線接入點? – Eli

+0

是的,絕對。在靜態模型中,比如你的房子,你可以基本上爲每個已知的AP(包括你的鄰居)在平面圖的每平方英尺內創建一個信號強度映射。根據這些數據和來自AP的當前讀數,掌上電腦可以確定它在地圖上的位置。 – snoll

0

不,目前的API無法實現。

我想,可能至少,你可以得到一個接入點的距離,但有什麼好處,除非他們點是不動的。

接入點需要要麼被鎖定,或用GPS裝,這樣你就可以知道他們的位置爲好。因爲目前,我可以將我的無線路由器移動到我想要在我家的任何地方......

+0

不完全。如果我可以「教」我的電話,將我家中的某個區域視爲「客廳」,將另一個視爲「臥室」,將另一個視爲「辦公室」,而不考慮GPS數據,只考慮相對位置可能非常有用。 無線上網點通常很穩定,並保持很長一段時間(一次至少幾個月)。而且我的手機可以通過他們的SSID識別這些人,並通過「查看」2-3個獨特的SSID來實現它在「已知」位置。 – Eli

+0

你可以在任何你喜歡的地方移動你的Wifi路由器,但是它經常發生嗎?大多數情況下,Wifi路由器都被鎖定,只是因爲移動它們是一件麻煩的事情,而且在找到合適的位置後無需這樣做。 – Eli

相關問題