博客首页|TW首页| 同事录|业界社区
2012-04-17

为什么iPad-WIFI版无3G模块也可以准确定位?

(文:王英雄)

经常会问到这样的问题:为什么iPad-WIFI版无3G模块也可以准确定位?使用IPHONE定位时,只需要大约2秒钟,所在的街道就立刻闪现在屏幕中央了。难怪乔布斯也说:“It’s really cool”,这个功能确实神奇呀。以前基站定位和GPS定位,不是定位时间很长就是误差能大到上千米,而iPhone定位出的中心点距离我所在也就是几十米。

要解决这个问题,就要搞明白iPad和iPhone的定位原理。先说一下iPhone是怎么定位的?我来解释一下,iPhone能够通讯和定位有三种途径,分别是GPS、运营商基站、WIFI热点。分别来看一下。

*GPS:GPS是英文Global Positioning System(全球定位系统)的简称。GPS是美军研制全球卫星导航定位系统 ,一共有24颗卫星组成。在全球的任何一个地方,任何一个时间点都能够看到3颗以上的卫星。GPS定位的主要特点是全球真正的定位唯一,定位精度最高可以达到1-5米的级别,缺点是必须在户外能够接收到卫星信号灯的地方且定位时间较长。

*运营商基站:运营商基站信息有其唯一编码的存在,所以可以很快的定位出其大概位置,精度为1-5公里。好处是无论在室外还是室内,只要有运营商基站的地方都可以定位。

*WIFI热点:WIFI本身不带定位能力,但WIFI的三个特点,一是WIFI热点很少移动,二是所有的WIFI都会有全球唯一的标示——MAC地址。

我们每个人的iPhone手机实际上是Apple地图系统的信息收集器,当我们在户外时,手机就会把你收集到的WIFI的MAC地址、GPS位置信息、运营商基站编码同时发给Apple服务器。服务器就知道这个路由器的准确地理位置。那么以后没有GPS的设备用此路由器的MAC可以实现定位。

有人要问?如果我并没有链接WIFI是不是就得不到位置信息呐? 这个答案是否定的。原因是iPhone在找寻WIFI的SSID的时候,就能够获得WIFI的MAC地址,也就是说WIFI免费给iPhone提供了位置标记,无论有没有连上这个WIFI。即未连接的WIFI一样可以获得此WIFI的MAC地址。

有的哥们还要问,为什么我们在办公室里也可以定位,但定位是写字楼的门口? 这也是一个好问题,原因也简单,Apple的地图系统有一套算法,比如你在上班的路上走着,进入写字楼,连上你办公室的WIFI,且你的基站信息表明你没有离远,而且和你有同样行为的用户有很多,那么服务器认为你办公室的WIFI的位置在你的写字楼门口。

我们的iPad(WIFI版) 虽然没有3G模块,也就是没有运营商基站信息,但是一样可以很准确的定位,原理是iPhone联网时把相对应的环境信息(WIFI的MAC地址)传给服务器,每个iPad只要能够上网并在后台把WIFI的MAC地址传给服务器,服务器自然能够反馈当前WIFI的准确位置。也就是为什么iPad-WIFI版无3G模块也可以准确定位的原理。

Apple实际上采用的是Skyhook公司的技术,这家公司好像最近在跟Google就这个技术打专利官司。这种技术虽然受服务范围限制,而且没有方向、速度等数据,不能导航,更不能离线使用。不过它有比GPS更优越的地方,就是在人口、楼群越密集的地方,使用的效果会更好。GPS启动时间长,在室内是无效的,天气不好的时候表现也欠佳,楼群太密集的地方也不太好用。而这些因素都被WIFI定位克服了。

另外关于GPS的几个吐槽:1、GPS虽然非常准确,但是因为在国内由于有个神秘的“有关部门”,行政上要求地图必须有偏移。造成GPS和地图位置的偏差。2、GPS卫星向手机发送的信息是单项传输的,GPS只给用户传播当前准确时间,用户用几颗卫星的时间差计算出当前位置。3、因为需要高精度,所以GPS计算位置的时候会用到很神奇的相对论知识用来修正位置偏差。4、GPS定位在3颗星工作时可以位置,在4颗星定位时,可以定位海拔高度(登山爱好者的挚爱)

2007-07-09

      好几天没写blog,最近几天比较烦闷,有东西也不想写。今天不讨论电信业和sp了,写篇技术文档吧。
    大家有没有这样的感觉QQ在传文件上明显要快于MSN,很多朋友在问为什么。是QQ比MSN做的好吗?msn是微软的产品,微软不可能做不好的。那为什么呐?其实道理很简单,QQ采用的是UDP链接,而MSN采用的TCP链接。

下面是TCP和UDP的描述:


    TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。我们来看看这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。
    UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。比如,我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其实“ping”命令的原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。例如,在默认状态下,一次“ping”操作发送4个数据包(如图2所示)。大家可以看到,发送的数据包数量是4包,收到的也是4包(因为对方主机收到后会发回一个确认收到的数据包)。这充分说明了UDP协议是面向非连接的协议,没有建立连接的过程。正因为UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如TCP协议高。QQ就使用UDP发消息,因此有时会出现收不到消息的情况。


    上面有没有看明白?没看明白也不要紧,我通俗的说一下,就是msn在传文件的时候需要建立可靠的链接,所以速度比较慢,而QQ是不需要建立这种可靠的链接的,所以QQ传输速度比较快。


 

2007-06-07

 大家都知道空中网(wap.kong.net)是不允许通过opera在计算机上查看的,但是有一方法。

方法很简单,就是用opera访问 http://x0.kong.net/cp/wml2html?url=http://kong.net   这个地址。

        本方法是blog原创哦。blog.spforum.net 首发。

       

        请斑竹加精呀。







今天论坛上有个帖子

http://bbs.spforum.net/viewthread.php?fid=1&tid=140201  3G门户,撒谎要撒得完美点

 

里面有个跟帖很有意思说的是

还需要更多的证据吗?

看图,呵呵,这个图是3G门户的图书业务,点击“下页”后的URL跟踪记录,为什么每次翻页都需要多一次302跳转呢?还不是为了多赚一次PV!

请各位看清楚URL中的tryid参数,目前设置为1,撒谎最厉害的时候,tryid=3,也就是说,每翻一次页都需要做3次跳转,多赚了3倍PV!

他的抓图(点击可以打开)



并没有得到笔者的情况.

 

也就说3G并没有通过这个地方作弊,那么上面的结论是怎么得到的呐,我想是他点击了下一页,再翻页的时候有一个跳转,所以得到的结果(多一个跳转算不算是作弊呐?不好说,因为很多程序就是这样开发的.)

我的抓图(点击可以打开)

 

网站作弊,特别是PV作弊很容易的一件事情,我想3G门户没必要通过这种技术手段来完成.

阅读全文(217) | 回复(2) | 引用通告(0) | 编辑

在ASP中发送Email时往往需要一个COM组件支持,如果你没有第三方的Email组件,你可以使用IIS本身提供CDONTS  EMail组件。这个组件使用时需要安装和启动SMTP服务。这个组件的名称为CDONTS.DLL,使用前需要使用RegSvr32注册这个组件。

  CDONTS组件提供了一系列对象,包括AddressEntry、Attachment、Attachments、Folder、Message、Messages、NewMail、Recipient、Recipients、Session,我们经常使用的是NewMail对象。下面是NewMail对象提供的方法和属性:
x:\Inetpub\mailroot目录有读写权限。

用CDONTS发送邮件
代码演示 –> http://www.ccopus.com/code/sample/SMTPmail.asp

*注,Windows xp, Windows 2003 默认没有附带CDONTS.DLL,必须手动安装,你可以从Windows 2000的system32中得到该文件,
如果没有,也可以在这里下载(下载CDOv1.2 CDONTS.DLL 394KB),安装方法:
Step1: 将该文件拷贝至 %SystemRoot%\\System32 下;
Step2: 开始 -> 运行 -> Regsvr32 cdonts.dll;
Step3: 确认

EDGE是一种基于GSM/GPRS网络的数据增强型移动通信技术,通常又被人们称为2.75代技术。2003年一度倍受忽视的EDGE成为移动通信市场的亮点,先后有美国的CingularWireless和AT&TWireless、智利的TelefonicaMoviles、我国香港特区的CSL和泰国的AIS开通了基于EDGE的服务。与此同时,一些欧洲的移动运营商对EDGE也开始表现出兴趣,其中TIM和TeliaSonera都明确表示将采用EDGE技术