浅析无线定位技术

标签: 无线 技术 | 发表时间:2011-09-28 22:01 | 作者:xelz 小明
出处:http://www.cnblogs.com/

大家都知道iPod Touch是没有电话和GPS模块的, 那么它是如何实现定位的呢?

其实就是现在最流行的Wi-Fi定位,其原理与基站定位类似:

  1.每一个无线AP都有一个全球唯一的MAC地址,并且一般来说无线AP在一段时间内是不会移动的

  2.设备在开启Wi-Fi的情况下,即可扫描并收集周围的AP信号,无论是否加密,是否已连接,甚至信号强度不足以显示在无线信号列表中,都可以获取到AP广播出来的MAC地址

      

  3.设备将这些能够标示AP的数据发送到位置服务器,服务器检索出每一个AP的地理位置,并结合每个信号的强弱程度,计算出设备的地理位置并返回到用户设备

  4.位置服务商要不断更新、补充自己的数据库,以保证数据的准确性,毕竟无线AP不像基站塔那样基本100%不会移动

      

这样的位置服务商现在来说只有Skyhook和Google两家.他们收集位置数据的方式也是相似的

  1.主动采集:Google的街景拍摄车还有一个重要的功能就是采集沿途的无线信号,并打上通过GPS定位出的坐标回传至服务器;

    Skyhook在美国及欧洲一些国家也是直接开着信号采集车采集AP和基站的信号数据,相对来说覆盖城市没有Google多,目前中国仅有少数城市有覆盖,并且他们在包括中国在内的多个国家招募有偿工作者,以协助Skyhook收集位置数据。当然你也可以直接在其网站上提交一个MAC地址。

      

  2.用户提交: 通常是以静默方式向同时拥有Wi-Fi和GPS的终端用户收集位置数据

    Android手机用户在开启“使用无线网络定位”时会提示是否允许Google的定位服务手机匿名地点数据;

    同样的Skyhook的最大客户Apple也在iPhone的User Guide中说明会以不能识别用户身份的方式收集位置数据。

      

 

使用这种方式定位一般来说需要与位置服务器进行即时的网络交互,Android正是如此,最好的证明就是关闭电话和GPS后,单单打开Wifi但不连接任何一个无线网络或者连接一个没有接入互联网的网络时,是无法进行定位的。实际测试的时候,发现这种情况下部分软件仍然可以定位,但是无论将设备移动到哪里,应用中的位置始终不会变化。因为Android的API中提供的方法是LocationManager.getLastKnownPosition,只要是通过这种方式获取到的位置数据,Android是不会立即定位的,而是将最后一次定位的数据返回给应用,除非应用发起更新位置的请求。


但是正是在网络交互这一点上,Apple让人觉得不可思议。前几天在touch上安装了一款地图软件,并下载了离线地图,因为touch不接入WLAN是没有其他办法联网的,有了离线地图会方便很多.一次外出时,打开地图竟发现,没有连接任何无线网络的情况下,touch竟然准确地标出了我的位置,走了几步发现地图上的标记也准确地移动到了新的坐标.但是系统自带的Google Map及部分网络软件都无法定位。

 

我们知道通过无线可以定位,但是Touch是如何做到在没有网络交互的情况下定位?

一开始我猜测是离线地图中包含位置元数据,地图应用自行收集环境信息进行定位测算,测试如下:

  将该地图应用卸载,重新安装,安装成功后第一次打开前即断开Wi-Fi连接(不关闭),然后打开地图应用,定位成功,只不过地图无任何显示

      

是不是很离奇呢,也就是说并不是离线地图的功能,难道是...iOS?

为此我做了个简单的实验,Safari是支持HTML5的,于是我想到了GeoLocation API:

  

javascript:navigator.geolocation.getCurrentPosition(function(position){alert(position.coords.latitude+"\n"+position.coords.longitude);},function(err){alert(err.code)});

 

先完全退出Safari,然后打开,直接将这段js敲进地址栏访问,如果成功获取到位置信息,就显示出经纬度,否则显示错误码

 

测试结果如下:

 

>开启wifi不连接任何网络(随着移动,坐标会变)


 

>关闭wifi(无论怎么移动始终是同一个坐标,后来在地图软件中测试也是如此)

 


可以看出,在开启Wi-Fi而不连接网络的情况下,iOS仍然何以提供定位服务,而关闭Wi-Fi后其实跟Android无网络的情况相同,不是实时的定位

实验至此,基本上可以确定,是iOS缓存了历史地点及附近一定范围内的位置数据(并且范围不小,因为曾经去到一个从未去过的10公里外的度假村,无连接状态仍然成功定位)位置的计算直接在本机进行。

PS:其实还有一点挺困惑的,内置的Google Map为什么不能定位呢?难道是因为Google用自己的服务而不用与Apple合作的Skyhook的服务吗(Google Map在已有地图缓存的情况下定位时有与Google服务器交互的数据包,但不能断定就一定是用于定位的数据)?再者,GoogleMap在定位时状态栏会显示系统的定位服务图标,表明调用了系统Api,却始终无法定位。

 

既然谈到HTML5定位,必然不能不提桌面浏览器,目前主流的浏览器都已经支持HTML5。W3C草案所提出的Geolocation API是个访问地理位置信息的高层接口,该接口与实现设备紧密相关,API本身对下面的位置信息一无所知。常见的位置信息来源主要包GPS、IP、RFID、AP MAC、cell ID等。那么它的定位效果如何呢?

测试结果如下:(Dell E4300/Ubuntu 10.10 32bit/FF6.0 & Chrome15dev)

  无线开启、任意联网状态:较准确的定位

  无线开启、不联网:无法定位

  无线关闭、有线联网:可定位、偏差较远

  无线关闭、不联网:无法定位

 

第一种:只要无线开关是打开的,周围有无线网络,不管是否连接无线网络、是否是通过无线接入互联网,只要可以接入互联网即可进行准确定位

第三种:应该是通过IP定位

第二、四种:无法连接位置服务器,故无法定位(如果能定位就超神了~)

 

下面的图可以体现定位时的网络交互(测试时无其他任何网络活动)

  

检索下IP即可得知是Google的位置服务 。好在W3C标准要求浏览器争得用户同意后才可提供数据给第三方网站,否则要天下大乱了。。。

 

无线AP的覆盖面越来越广,在美国城市基本上地面上任意一点都有3个以上的无线网络覆盖,国内大中城市也紧跟步伐,无线网络变得越来越密集,以此种方式定位成本低,速度快,如果能将精确度提高到10M,相信大多GPS都要下岗了,只要有无线网络环境,对比GPS有绝对的优势,还不会受天气和建筑物的影响。

 

声明:本文中插图所用iPod Touch与淘宝网无关,左上角图标为个人兴趣而改造。

作者: xelz 发表于 2011-09-28 22:01 原文链接

评论: 1 查看评论 发表评论


最新新闻:
· 玩手机游戏也能创造吉尼斯世界纪录:Kiip联手吉尼斯世界纪录,获胜玩家将载入史册(2011-09-28 22:58)
· 微软三星达成Android专利交叉许可协议(2011-09-28 22:32)
· 阿里旺旺出现大面积故障 用户无法登陆(2011-09-28 22:10)
· 窝窝团回应本周裁员70%传闻 称消息子虚乌有(2011-09-28 21:19)
· 11个针对开发者的Google Labs产品推荐(2011-09-28 21:10)

编辑推荐:Web前端开发中的MCRV模式

网站导航:博客园首页  我的园子  新闻  闪存  小组  博问  知识库

相关 [无线 技术] 推荐:

无线输电技术

- ndv - 张志强的网络日志
博客 » IT技术 » TED ». 三个月前,我买了一对电力线,现在还在为我的电视机供应网络. 当时我称该类技术为未来的数据传输方式,现在看来还是低估了技术换代的速度. 也许还没等到电力线的普及,电线自己就已经消失. 今天看到TED的一个讲座,Eric Giler演示无线传输电力. 在手机上安装上一个小接收器,就能进行无线充电.

浅析无线定位技术

- 小明 - 博客园-首页原创精华区
大家都知道iPod Touch是没有电话和GPS模块的, 那么它是如何实现定位的呢?. 其实就是现在最流行的Wi-Fi定位,其原理与基站定位类似:.   1.每一个无线AP都有一个全球唯一的MAC地址,并且一般来说无线AP在一段时间内是不会移动的.   2.设备在开启Wi-Fi的情况下,即可扫描并收集周围的AP信号,无论是否加密,是否已连接,甚至信号强度不足以显示在无线信号列表中,都可以获取到AP广播出来的MAC地址.

无线充电是一场技术革命吗?

- - 极客范 - GeekFan.net
最近看到报道称韩国一家研究中心开发了一套新无线充电系统,一次可以同时对五米之内的40部智能手机充电,这种充电技术有可能会彻底淘汰传统充电方式. 我知道像诺基亚这些手机厂商已经推出了可以使用的无线充电器. 无线充电看似是一项新的技术,其实发展的时间已经较长. 2007年,麻省理工学院的研究团队把共振运用到电磁波的传输上而成功“抓住”了电磁波.

德国开发出可让灯光无线传输800Mbps数据流的技术

- 11 - Engadget 中国版
引用来源 | 此文章网址 | 转寄此文章 | 回应.

HP 发布全系列支持 Google 云打印技术的无线打印机

- Aki - cnBeta.COM
去年4月 Google 第一次对外宣布了他们的云打印计划,这一功能不但可以让远程无线打印成为现实,更解决了手持设备打印不方便的老大难问题. 截至今日,Chrome 中的云打印已经基本可用,而另外一方面 Google 的合作伙伴 HP 也在今天隆重发布了全系列支持云打印的无线打印机,用户可以从 Cr-48,移动版 Gmail 和 Google Docs 等支持云打印的应用中直接打印到这些打印机上.

作为未来之星的无线充电技术又发力了

- l - 果壳网 guokr.com - 果壳网
我们给手机、相机等数码产品充电时不得不考虑到的一个问题就是——节能. 我们通常使用的传统充电器会浪费掉大量宝贵的能源,而我们自己却浑然不知. 近日,日本信息通信研究机构(NICT)宣布研发出了一个高效的无线电力传输系统,它不仅有节能的效果,还能够给设备无线充电. 所谓的“无线充电”就是利用一种特殊设备将电源插座的电力转变为可充电的电波,从而在扔掉电线的情况下直接对电子设备充电.

支持 Qi 无线充电技术的 AQUOS PHONE f SH-13C by Sharp 日本推出

- FPb - Engadget 中国版
在刚刚发布的一批日系手机,以规格来说 AQUOS PHONE f SH-13C by Sharp 算是没那么显眼的一部,没有裸眼 3D 屏幕、没有 3D 相机,甚至连前置镜头都没有. 不过这部 SH-13C 还是有其特色,就是在防水防尘功能之余,它同时原生支持 Qi 制式的无线充电,是第一部上市的相关设备.

美首次研制全双工无线技术 使网络吞吐量加倍

- 建军 - cnBeta.COM
据美国物理学家组织网近日报道,美国科学家最新研制出的“全双工”技术使手机等无线设备能用同一个频率与无线基站“交谈”并“倾听”其发射出的信号,改变了需要两个频率才能完成这一任务的现状,最新突破将使无线网络运营商在不新建基站的情况下,让网络吞吐量加倍. 以前,人们一直认为全双工无法实现. 领导该研究的莱斯大学电子与计算机工程系教授阿素托史-萨布哈瓦尔和同事去年首次证实了全双工的可行性.

日企业称500米无线电力传输技术实验成功

- - 穿过记忆的河流
日企业称500米无线电力传输技术实验成功. 来源:环球网   2015-03-14 .   据《读卖新闻》报道,日本一家企业12日宣布一项无线电力传输技术试验取得成功,即在不通过电缆的情况下,以微波的形式将电力输送到500米以外的地方. 该实验的成功使得人类向未来实现宇宙太阳能发电迈进一步.   报道称,日本三菱重工业今年2月24日实施了这一实验.

前端技术

- - CSDN博客综合推荐文章
随着互联网产业的爆炸式增长,与之伴生的Web前端技术也在历经洗礼和蜕变. 尤其是近几年随着移动终端的发展,越来越多的人开始投身或转行至新领域,这更为当今的IT产业注入了新的活力. 尽管Web前端技术诞生至今时日并不长,但随着Web技术的逐渐深入,今后将会在以下几方面发力. JavaScript的兄弟们.