×

Android平台WiFi定位系统详解

消耗积分:1 | 格式:rar | 大小:0.6 MB | 2017-10-16

分享资料个

近年来,随着城域无线基础网络的发展,热点(AP)的覆盖率大幅度提高,由于定位服务需求的增加以及WiFi应用领域的扩大,WiFi定位成为一种有效的定位方式。GPS卫星定位是最主要的定位方式,它需要在相对空旷、高层建筑不密集的地方获得较准确的定位,当人们处在室内或高楼林立的市区,定位精度明显降低甚至不能定位。此时,利用无处不在的WiFi网络将能够弥补GPS定位的不足。目前大多数的WiFi无线定位算法主要为:基于到达时间、到达角度、到达时间差的模型定位及基于接受信号强度(RSSI)的位置指纹定位算法,由于位置指纹算法的无线定位方式不需要已知AP的位置信息及准确的信道模型,该算法在定位性能以及可用性上具有更大的优势。因此,本文首先设计了整体的系统框架,通过研究分析了该算法目前存在的问题,提出了改进方案,并在Android平台上实现完整的定位系统。
  1系统整体设计
  本系统的设计目标是在Android智能终端上实现实时WiFi定位系统,该系统包括客户端、数据服务器以及定位服务器。为了使定位过程和服务器通信过程相对独立,分别设置了专门用于定位的AP热点和客户端与服务器之间的通信AP热点,可有效降低系统环境搭建的初期成本。本方案的系统框架如图1所示。其中的通信AP热点需要与局域网相连,保证定位区域内WiFi信号良好,确保数据传输及处理的及时性。客户端和服务器端通过TCP连接实现可靠传输。
  Android平台WiFi定位系统详解
  图1系统框架图
  2系统实现
  2.1客户端模块设计
  本系统采用客户端/服务器(c/s)的网络架构,客户端的定位过程主要包括WiFi无线信号扫描、数据传输、界面显示等,该过程的流程图如图2所示。
  Android平台WiFi定位系统详解
  图2客户端定位模块流程图
  WiFi信号扫描是利用Android API提供的WiFiManager类实现。首先,判断WiFi是否开启;其次取得WiFiManager及WmInf0对象,通过startScan()、getScanResuits()等方法开始扫描并得到扫描结果mScanResult;最后,将数据传递给服务器端进行定位计算。Android平台为用户提供丰富的界面显示控件,本设计使用ListView显示服务器返回的定位位置信息。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !