wifi定位是iphone升級到1.1.3之后新加的應用服務,拿到機器后開始試用一下wifi定位。在美國達拉斯,定位按鈕被按下后,旋轉了大約2秒鐘,所在的街道就立刻閃現在屏幕中央了。難怪喬布斯也說:“It's really cool”,這個功能確實神奇呀。
以前用過GSM定位,那個誤差能大到數公里,而wifi定位出的中心點距離我所在也就是50米。隨后我到網上查了一下關于這個技術的文章,了解到了下面的情況。
做這項技術是由一家成立于2003年叫Skyhook Wireless(http://www.skyhookwireless.com/)的公司。在SkyHook主頁上可以下載一個叫Loki的軟件,是PC上用的,也支持wifi定位,不過好像只能在xp用。還沒升到1.1.3的iphone用戶可以先試試Loki。
這個技術的原理是利用下面三條事實:
•wifi熱點(也就是AP,或者無線路由器)越來越多,在城市中更趨向于空間任何一點都能接收到至少一個AP的信號。(在美國,每個點收到3、5個AP信號的情況相當多見。中國也會越來越多的)
•熱點只要通電,不管它怎么加密的,都一定會向周圍發射信號。信號中包含此熱點的唯一全球ID。即使距離此熱點比較遠,無法建立連接,但還是可以偵聽到它的存在。
•熱點一般都是很少變位置的,比較固定。
這樣,定位端只要偵聽一下附近都有哪些熱點,檢測一下每個熱點的信號強弱,然后把這些信息發送給網絡上的Skyhook的服務器。服務器根據這些信息,查詢每個熱點在數據庫里記錄的坐標,然后進行運算,就能知道客戶端的具體位置了,最后坐標告訴客戶端。容易理解的是,收到的AP信號越多,定位就會越準。
不過,一次成功的定位需要兩個先決條件:
•客戶端能上網
•偵聽到的熱點的坐標在Skyhook的數據庫里有
第一條不消說了,不管是wifi還是edge,只要能連上Skyhook的服務器就行。
第二條是Skyhook的金礦所在。對于Skyhook如何知道每個AP的坐標信息有兩種說法:
1. 有一種說法是靠網友自己搜集,然后發給Skyhook,Skyhook會付錢。
2. 不過官方網站上的說法是開著車滿大街轉悠,邊走邊采集AP信號,并用GPS定位,從而就有了坐標信息。而且他們會定期重新開車采集數據,以適應熱點的變化。
相對之下,第2條更靠譜,而且成本并不高。比方說采集北京,設備上一個帶GPS和wifi的PDA足以,然后裝到出租車上,每月給司機200、300的,讓他就正常拉客人。只要有3、5個司機合作,數據就采集下來了,并不斷地更新。司機也一定會很樂呵,這純粹是無成本的額外收入呀,還能享受一下GPS。
這里有一個此服務已經覆蓋的區域的電子圖:http://www.skyhookwireless.com/howitworks/coverage.php。可以看到我國的北京、香港和臺北是有這個服務的。所以現階段在大陸地區只有北京能用,不知道在中國有沒有其他網絡應用可以實現wifi定位。
wifi定位精度比GPS要低,受服務范圍限制,而且沒有方向、速度等數據,不能導航,更不能離線使用。不過它有比GPS更優越的地方,就是在人口、樓群越密集的地方,使用的效果會更好。GPS啟動時間長,在室內是無效的,天氣不好的時候表現也欠佳,樓群太密集的地方也不太好用。而這些因素都被wifi定位克服了。
我想這還不是真正的定位,這就是個玩具,真正的定位是用wifi信號定位,我正在研究這個
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/NewMap/archive/2009/03/17/3999337.aspx
posted on 2010-12-09 23:54
zhaoyg 閱讀(1019)
評論(0) 編輯 收藏 引用 所屬分類:
other