有人做过wifi定位吗?
Skyhook公司是第一个开发这项技术的公司。
这项技术的原理是利用以下三个事实:
wifi热点(也就是AP或者无线路由器)越来越多,更倾向于在城市的任何一点都能收到至少一个AP的信号。(在美国,每个点接收3或5个AP信号是相当普遍的。中国会越来越多)。
只要热点通电,不管怎么加密,肯定会向周边发出信号。该信号包含该热点的唯一全局ID。即使离这个热点很远,无法建立连接,还是能听到。
一般热点很少改变位置,相对固定。
这样定位端只需要监听附近有哪些热点,检测每个热点的信号强度,然后将这些信息发送到Skyhook的服务器上。服务器根据这些信息,查询数据库中记录的每个热点的坐标,进行运算,然后知道客户端的具体位置,再把坐标告诉客户端。想想看,只要接收到的AP信号越多,定位就会越准确。原理就是这么简单。
然而,成功的定位需要两个先决条件:
客户端可以上网。
拦截到的热点坐标在Skyhook的数据库里。
第一种就不用说了,不管是wifi还是edge,只要能连上Skyhook的服务器就行。
第二个是天勾的金矿所在地。它是怎么知道每个AP的坐标信息的?有一种说法是,网友自己收集,发给Skyhook,由后者付费。但是官网上说开车逛大街,边走边采集AP信号,用GPS定位,从而得到坐标信息。而且,他们会定期再次开车收集数据,以适应热点的变化。第二种比较靠谱,成本也不高。比如收北京,一辆带GPS和wifi的PDA就够了,然后放到出租车上,一个月给司机200、300元,让他正常拉客。只要三五个司机配合,数据就会收集起来,不断更新。司机也会很开心的。完全是无成本的额外收入,还能享受GPS。
当然和无线wifi万能钥匙一样,没有那么复杂。他们先通过手机和基站定位得到路由器的地理数据,然后和数据库里的数据进行匹配,因为无线wifi一般都是十几米二十几米,这就是所谓的定位技术。