wifi定位技术

wifi定位是iphone升级到1.1.3之后新加的应用服务,拿到机器后开始试用一下wifi定位。在美国达拉斯,定位按钮被按下后,旋转了大约2秒钟,所在的街道就立刻闪现在屏幕中央了。难怪乔布斯也说:“It's really cool”,这个功能确实神奇呀。

以前用过GSM定位,那个误差能大到数公里,而wifi定位出的中心点距离我所在也就是50米。随后我到网上查了一下关于这个技术的文章,了解到了下面的情况。

做这项技术是由一家成立于2003年叫Skyhook Wireless(http://www.skyhookwireless.com/)的公司。在SkyHook主页上可以下载一个叫Loki的软件,是PC上用的,也支持wifi定位,不过好像只能在xp用。还没升到1.1.3的iphone用户可以先试试Loki。

这个技术的原理是利用下面三条事实:

  • wifi热点(也就是AP,或者无线路由器)越来越多,在城市中更趋向于空间任何一点都能接收到至少一个AP的信号。(在美国,每个点收到3、5个AP信号的情况相当多见。中国也会越来越多的)
  • 热点只要通电,不管它怎么加密的,都一定会向周围发射信号。信号中包含此热点的唯一全球ID。即使距离此热点比较远,无法建立连接,但还是可以侦听到它的存在。
  • 热点一般都是很少变位置的,比较固定。

这样,定位端只要侦听一下附近都有哪些热点,检测一下每个热点的信号强弱,然后把这些信息发送给网络上的Skyhook的服务器。服务器根据这些信 息,查询每个热点在数据库里记录的坐标,然后进行运算,就能知道客户端的具体位置了,最后坐标告诉客户端。容易理解的是,收到的AP信号越多,定位就会越 准。

不过,一次成功的定位需要两个先决条件:

  • 客户端能上网
  • 侦听到的热点的坐标在Skyhook的数据库里有

第一条不消说了,不管是wifi还是edge,只要能连上Skyhook的服务器就行。

第二条是Skyhook的金矿所在。对于Skyhook如何知道每个AP的坐标信息有两种说法:

     1.  有一种说法是靠网友自己搜集,然后发给Skyhook,Skyhook会付钱。  
     2.  不过官方网站上的说法是开着车满大街转悠,边走边采集AP信号,并用GPS定位,从而就有了坐标信息。而且他们会定期重新开车采集数据,以适应热点的变化。

相对之下,第2条更靠谱,而且成本并不高。比方说采集北京,设备上一个带GPS和wifi的PDA足以,然后装到出租车上,每月给司机200、 300的,让他就正常拉客人。只要有3、5个司机合作,数据就采集下来了,并不断地更新。司机也一定会很乐呵,这纯粹是无成本的额外收入呀,还能享受一下 GPS。

这里有一个此服务已经覆盖的区域的电子图:http://www.skyhookwireless.com/howitworks/coverage.php。可以看到我国的北京、香港和台北是有这个服务的。所以现阶段在大陆地区只有北京能用,不知道在中国有没有其他网络应用可以实现wifi定位。

wifi 定位精度比GPS要低,受服务范围限制,而且没有方向、速度等数据,不能导航,更不能离线使用。不过它有比GPS更优越的地方,就是在人口、楼群越密集的 地方,使用的效果会更好。GPS启动时间长,在室内是无效的,天气不好的时候表现也欠佳,楼群太密集的地方也不太好用。而这些因素都被wifi定位克服 了。

我想这还不是真正的定位,这就是个玩具,真正的定位是用wifi信号定位,我正在研究这个

转载于:https://www.cnblogs.com/-OYK/archive/2012/02/17/2355863.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/262881.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux定时任务启动

/sbin/service crond stop /sbin/service crond start /sbin/service crond restart

不要62

题目 试题描述杭州人称那些傻乎乎粘嗒嗒的人为 62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除…

myssh

http://blog.csdn.net/infon/archive/2007/04/17/1568309.aspx http://blog.csdn.net/infon 转载于:https://www.cnblogs.com/tries/archive/2008/04/11/1148121.html

队列,排队买饭

1 /*这题的错误是和同学熬夜找出来的呃 。。。*/ 2 3 #include<stdio.h> 4 #include<string.h> 5 int main() 6 { 7 int front,rear,i,f,j,n,t,q[10000]; 8 char s[20]; 9 scanf("%d",&n); 10 rear 0,front0; 1…

CentOS 7 下的 Firewall

CentOS 7 默认实用的用Firewalld作为防火墙&#xff0c;摒弃了原先的iptables。但是内核还是使用iptable作为管理参考文档https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Firewalls.htmlhttp://www.myhome.net.tw/2…

POJ 1091(数论)

题目大意是给定两个整数n和m&#xff0c;求出长度为n1满足条件的数列data的个数&#xff0c;数列的要求下&#xff1a;1&#xff09;1<data[i]<m,for1<i<n2)data[n1]m;3&#xff09;这个n1个数满足&#xff1a;存在x1,x2,...,xn,xn1,满足x1*data[1]x2*data[2]...x(…

你真的了解.NET中的String吗?

你真的了解.NET中的String吗? Terrylee&#xff0c;2005年12月25日 概述 String在任何语言中&#xff0c;都有它的特殊性&#xff0c;在.NET中也是如此。它属于基本数据类型&#xff0c;也是基本数据类型中唯一的引用类型。字符串可以声明为常量&#xff0c;但是它却放在了堆中…

没有动任何配置文件,今天就出现了修改的JSP内容在页面不体现。依然是老的页面内容...

2019独角兽企业重金招聘Python工程师标准>>> 现象&#xff1a; 没有动任何配置文件&#xff0c;今天就出现了修改的JSP内容在页面不体现。依然是老的页面内容 问题分析: 既然可以用过&#xff0c;所以系统应该是检测文件更新的&#xff0c;之所以不重新编译JSP&…

DIV中class和id的区别

1.class是设置标签的类&#xff0c;id是设置标签的标识;2. 使用方法不同&#xff1a; class属性用于指定元素属于何种样式的类,如样式表可以加入.content1 { color: red; background: #ff80c0 } 使用方法&#xff1a;class"content1" id属性用于定义一个元素的独…

新浪微博api(.net)时间格式问题

Tue May 03 09:30:23 0800 2011 以前研究sinaapi的时候被这个时间格式纠结了好久&#xff0c;还自己写了一个函数去处理这种格式。最近在网上看到一个代码&#xff0c;很方便就解决了这个问题&#xff08;我就说.net怎么会没有这方法呢&#xff09;。 System.Globalization.Cul…

php代码上线,实现版本切换

以下为现有php业务&#xff0c;代码上线方式。实现&#xff1a;4套环境版本切换。[roothz-web-01 htdocs]# cat release.sh #!/usr/bin/env bashwork_dir/mnt/var/www/htdocs release_dir/var/www/htdocs# app environment app_env$1 # build release file path build_file_pat…

PWA

转载于:https://www.cnblogs.com/QianDingwei/p/11359160.html

Windows XP SP3?转自作者: 孤单的鸽子,  出处:天极yesky, 责任编辑: 袁绍龙

经过测试和检查之后&#xff0c;我们认为&#xff0c;SP3并未为Windows XP系统引入任何新的功能&#xff0c;它仅仅是一款安全升级和BUG修正补丁程序集……原文&#xff1a;http://winsystem.ctocio.com.cn/windowsxp/321/7492821.shtml目前&#xff0c;互联网上围绕Windows XP…

asp.net与JAVASCRIPT函数的相互调用

1.如何在JavaScript访问C#函数? 方法一&#xff1a; &#xff08;1&#xff09;、首先建立一个按钮&#xff0c;在后台将调用或处理的内容写入button_click中; &#xff08;2&#xff09;、在前台写一个js函数&#xff0c;内容为document.getElementById("btn1").…

汇编推荐书籍

1.《深入理解计算机系统》&#xff0c;必看&#xff01; 2.《see mips run linux》 &#xff0c; 千万不要认真看&#xff0c;看这本书的目录和小标题&#xff0c;了解mips需要学习些什么&#xff0c;而不是通过这本书来学基础知识&#xff0c;不懂的概念上网查就可以了&#x…

创建表头固定,表体可滚动的GridView(转)

本方法只需要设置一个GridView的宽度&#xff0c;其它宽度不需要设置。测试环境&#xff1a;IE6&#xff0c;Firefox通过。 C# <% Page Language"C#" AutoEventWireup"true" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional/…

3G与4G到底有何区别?

对每一个手机用户来说&#xff0c;3G和4G都是手机术语词典中最神秘的词汇&#xff0c;然而在任何卖手机和平板电脑的地方你都能发现它们的身影。当你想买一部手机的时候&#xff0c;通常不清楚该选择哪一种&#xff0c;但有一点要明确——不要随便追求高的数字。这篇文章将帮助…

海尔5D净水洗热水器引领中国制造未来

在过去的一段时间里&#xff0c;智能家居与物联网相继成为热潮&#xff0c;云计算与大数据开始被应用于不同领域的情况下&#xff0c;越来越多的智能家居产品也开始走入普通消费者生活之中……在这些独特的产业创新风起云涌的情况下&#xff0c;越来越多的行业开始推动着中国制…

Lambda表达式——注重过程的编程思想

一、使用匿名内部类的匿名对象创建线程和Lambda表达式写法 Lambda表达式写法不用去定义一个Runable接口的实现类&#xff1b; 二、方法入参是一个接口或者接口的实现类 三、对某个类的一些对象实例进行排序 其中&#xff0c;数组创建时候使用的是静态初始化&#xff0c;里面存放…

[转] STL中map用法详解

一&#xff0e;Map概述 Map是STL的一个关联容器&#xff0c;它提供一对一&#xff08;其中第一个可以称为关键字&#xff0c;每个关键字只能在map中出现一次&#xff0c;第二个可能称为该关键字的值&#xff09;的数据处理能力&#xff0c;由于这个特性&#xff0c;它…