与手机基站定位方式类似,都需要采集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。
1、如果手机连其他WiFi也信号不佳,可能手机存在软件或者硬件故障,可以先将手机重置为出厂状态排除下,或者由手机售后服务中心专业人员对手机软、硬件进行全面检测。
2、如果手机只是连某个WiFi信号不佳,建议用如下方法排查:
(1)WiFi路由器运行出现软件错误,建议将WiFi路由器断电重启试试。
(2)登录WiFi路由器web后台,检查WiFi路由器配置是否人为调低了WiFi路由器的无线发生功率,导致WiFi信号不佳。
(3)减少手机与WiFi路由器之间的距离和物理障碍物,确保良好的WiFi信号覆盖质量。
(4)检查WiFi路由器、手机周围是否有较强的无线电干扰源,影响到WiFi信号的质量。
(5)拿正常的手机测试下WiFi看是否能搜到,如果也搜不到WiFi信号,可能WiFi设备存在硬件故障。