wifi技术定位与手机基站定位方式类似,都需要采集wifi接入点的位置信息。
最早开发这个技术的是Skyhook公司。
这个技术的原理是利用下面三条事实:
wifi热点(也就是AP,或者无线路由器)越来越多,在城市中更趋向于空间任何一点都能接收到至少一个AP的信号。(在美国,每个点收到3、5个AP信号的情况相当多见。中国也会越来越多的)
热点只要通电,不管它怎么加密的,都一定会向周围发射信号。信号中包含此热点的唯一全球ID。即使距离此热点比较远,无法建立连接,但还是可以侦听到它的存在。
热点一般都是很少变位置的,比较固定。
这样,定位端只要侦听一下附近都有哪些热点,检测一下每个热点的信号强弱,然后把这些信息发送给Skyhook的服务器。服务器根据这些信息,查询每个热点在数据库里记录的坐标,进行运算,就能知道客户端的具体位置了,再把坐标告诉客户端。可以想想,只要收到的AP信号越多,定位就会越准。原理就是这么简单。
不过,一次成功的定位需要两个先决条件:
客户端能上网
侦听到的热点的坐标在Skyhook的数据库里有
第一条不消说了,不管是wifi还是edge,只要能连上Skyhook的服务器就行。
第二条是Skyhook的金矿所在。它怎么知道每个AP的坐标信息的呢?有一种说法是靠网友自己搜集,然后发给Skyhook,Skyhook会付钱。不过官方网站上的说法是开着车满大街转悠,边走边采集AP信号,并用GPS定位,从而就有了坐标信息。而且他们会定期重新开车采集数据,以适应热点的变化。第二条更靠谱,而且成本并不高。比方说采集北京,设备上一个带GPS和wifi的PDA足以,然后装到出租车上,每月给司机200、300的,让他就正常拉客人。只要有3、5个司机合作,数据就采集下来了,并不断地更新。司机也一定会很乐呵,这纯粹是无成本的额外收入呀,还能享受一下GPS。
当然像无线wifi万能钥匙,就没有这么复杂,他们是先通过手机和基站定位获得路由器的地理数据,在和数据库的数据进行匹配,因为无线wifi一般也就十几米二十几米,这也就是所谓的定位技术。