基于RSSI的室内定位系统设计与实现

  • 格式:pdf
  • 大小:605.11 KB
  • 文档页数:5

嚣戮 移动互联网”专题{i 

基于R S S I的室内定位系统设计与实现 

孔勇平,钟致民,杨广龙,张玉良 

(中国电信股份有限公司广州研究院,广东广州510630) 

【摘要】 

【关键词】 当前,手机定位技术尤其是室内定位技术的发展仍然不够成熟,已经成为制约LBS发展的瓶颈。在研究定位技术 现状和发展趋势的基础上,提出~种新的室内定位方法,它依靠手机接收到的基站、Wi.Fi ̄DGPS信号即可完成 室内环境的精准定位,具有简单、方便、灵活的优点,能够满足LBS的发展需求。 RSSI Wi.Fi 基站LBS Android 

中图分类号:TN929.53 文献标识码:A 文章编号:1006—1O1o(201 4)一05—0()34—05 

l引言 

近年来,随着无线通信技术和移动智能终端的广 

泛应用,基于移动的LBS应用服务发展迅猛。早期的 

LBS系统主要应用于快速救援,比较典型的有美国的 

E911系统和欧洲的E112系统。随着GPS的普及,LBS 

的应用范围扩至军事、交通、物流、医疗、民生等领 域,用户可以查出到兴趣点的最优路径等信息”】。近两 年来在3G宽带移动互联网和智能手机的带动下,以手 

机为移动载体的LBS系统被广泛应用。其主要特点是室 内室外都可以进行定位,定位精度高。 

目前市场上应用于手机平台的室内LBs软件较 

少,本文将基于Android平台创建一个应用于室内环境 的LBS系统平台,可以根据客户的位置提供相应的服 

务,该系统可以应用于众多的室内场所,如超市、书 

店、博物馆、火车站和商店等 l。 

2基于Android的室内定位系统结构 

2.1移动端平台的选择 

Android平台是谷歌并购Android后在2007年1 1月 

收稿日期:2014—03—03 责任编辑:左永君zuoyongjun@mbcom.cn 

34 l 发布的一款新的手机操作平台。Android基于Linux内 

核,采用了软件叠层的架构。最底层是Linux核心层, 

以c语言进行开发,它作为软硬件之间的抽象层,隐藏 

了硬件细节而为其上层提供了统一服务。在核心层之 

上,是由函数库Libraries和运行 ̄t(untime构成的中间 

层,用c++开发而成。其中P.untime中包括了Android 

核心库和Dalvik虚拟机。核心库主要提 ̄Java编程语言 核心库中可能用的功能,Dalvik虚拟机的作用则是为 

每一个Android应用程序提供一个运行环境。中间层 

之上是Android的应用层,它包括了应用软件及框架设 

计。通过这个开放的平台,开发者们可以通过框架API 

尽情发挥自己的想象力,利用Iava语言编写出各种各样 

的应用软件p】。 正是由于Android采用了上述软件分层结构,开 

发者无需过多了解其他层次,而只需把应用层作为一 

个有机整体对其进行理解并作进一步开发。与此同时 

Android的下层体系又能对上层提供很多服务,非常有 

利于标准化工作。同其他的手机平台相比,Android拥 

有的Linux内核在网络性能方面更为出色,对硬件平台 

的适应性更好。另外,Android手机提供的无线w卜Fi 

以及GPS等功能,使用户可以非常方便地联网(本系 统的设计就是应用了Android平台自带的Wi—Fi无线网 

络连接设备,在程序中可以非常方便地调用及停止此 功能 )。基于Android平台的以上特点,本系统选择 

Android为LBS系统的底层平台。 

2.2定位技术的选择 

这几年室内无线定位技术迅速发展,一些新型定 

位技术在商场、大型楼宇、工厂等场景中得到了广泛 

应用,比如wi—Fi技术、蓝牙技术、ZigBee技术等。 通过对比,本文选择Wi—Fi技术作为室内定位的主要 

技术手段,配合手机的GPS功能,可以实现室内外全 

覆盖定位。与其他技术相比,wi—Fi技术具有诸多优 

点,如:无线电波的覆盖范围广,可以在整栋大楼中 

使用;传输速度快,利于实时交互;成本低,无需额 

外设备。 

当前,Wi—Fi定位技术主要分为四种:TOA(基 

于信号到达时间的定位)、TDOA(基于信号到达时 

间差的定位)、AOA(基于信号到达角度的定位)、 

RSSI(基于信号强度的定位方法)。这四种方法中, 

RSSI方法不需要增加额外的硬件设备就可以进行定 

位,在室内网络环境稳定时,其定位结果较为稳定精 

确,因此本文采用RSSI定位算法。 

2-3定位流程 

利用RSSI进行定位,需要在区域内布置多个AP, 

然后将区域划分成多个子区域,分别采集子区域内的 AP信号强度,采集时可以根据区域大小决定采集数据 

的密度 】,然后将信号强度数据上传到服务端,这样就 

可以据此绘制出位置一信号强度分布图。 

当客户端进入这些区域时,手机将会自动实时采 

集这些AP信息点发出信号的强度,将这些数据传到服 

务端,在服务端将客户端传来的每个AP点的信号强度 

值与已经采集的信号值进行比对,通过一定的算法得 

到最接近于实际信号强度值附近的目标区域,从而对 

用户进行定位,并将定位结果返回给客户端。 定位流程如图1所示。 

3室内定位系统的结构设计 

本文的LBS室内定位系统可以分为三大部分:客 

户端、服务端、数据库。客户端用于采集室内信号强 

度信息、位置信息,被定位端实时上传数据,定位端 

请求定位。服务端用于管理客户端的设备信息、位置 ;i“移动互联网”专题戮; ; 

[ 用户 ] 采l定If 显 集 I 位I l 示 

l 采集端l J定位端I l被定位端『 , J l f l f 委 

室内定位管理平台 

处 返 指 理 回 纹 数 结 匹 据 果 配 1 r , 1 —) l L—苎筑物信息,自动采集数据多模指! —一 

图1 定位流程图 

信息,查看状态信息,并完成定位算法。数据库用于 存储信号强度信息和室内位置信息。 

系统结构如图2所示: 

采集多模信号 (GPS/Wi—Fi/CDMA /GSM/GPS) 

j I 信号过滤 =工 

i I 信号过滤 

、薹 公共位置服务API 

环境识别l f坐标偏转 

算法调度 二[ 定位算法 路网修正 — 一 逆编码 

『位置,Wi-Fi/C1) ̄/GSMI 

图2系统结构图 多模采集信号 Wi—Fi/cDIn/ GS艟/GPS 

信号过滤 

多模数据上传『 

4室内定位系统的实现 

如前所述,本系统主要分为客户端、服务端、数 

据库三部分,其中客户端主要实现用户数据采集和定 

位显示,服务端主要实现设备管理、位置管理等管理 

功能,数据用于存储数据信息。系统的物理结构如图3 

l350 5 2 14年第期l

 嚣戮 移动互联网”专题;i 

所示,软件结构图如图4所示。 

图3物理结构图 

厂一 定位表l I位置表I 

厂 --__ 采集入库I ...... l I l---■ 采集终端卜_ _一 注册心跳I I位置管理I ._( 

定位端L_ __一 {定位请求I -● 定位管理1l l l I 被定位端L _一 1指纹上报I 终端管理I4-=- !!!里 竺 竺 j I l I 终端 Tomcat ̄务器 Web呈现 通讯前 置模块 

图4系统模块图 

根据功能的不同将系统划分为以下几个模块:终 

端设备管理模块,指纹数据管理模块,位置信息管理 

模块,运行时管理模块,定位服务管理模块。 

4.1终端设备管理模块 

在使用系统时,终端设备第一次与平台建立连 

接后,需要在平台上注册,并在平台端生成一个注册 

码,对设备类型进行授权。当完成这些操作后,平台 

向终端发送注册码以及设备参数。 

4.2指纹数据管理模块 

当终端采集设备连接到平台时,采集端可以通过 

wi—Fi、宽带网络等通信方式,将采集到的指纹数据 

直接上传至平台,省去人工上传的附加动作。如果采 

集终端由于某些原因不能和平台建立连接,无法保证 

数据实时的传送到平台中心,那就可以通过平台提供 

的离线导入功能,将采集到的指纹数据上传至平台。 

4-3位置信息管理模块 

位置信息是对实体建筑物在平台上的模型进行 

36 I 转换,平台将一个位置划分为建筑物信息、楼层信 

息、楼层内部房间及公共空间等。通过对位置信息的 

管理,可以将一个实体建筑物划分为可分开管理与维 

护的位置单元,从而可以在各个细分位置单元进行如 

数据采集与定位结果展示等操作。每个建筑物都有对 

应的楼层平面图,为了在平台端更直接地细分位置单 

元、建立更为详细的位置信息,平台支持在楼层平面 

图上直接标注房间及公共空间等细粒度维度信息。 

楼层平面图需为标准SVG格式,在建立楼层时可 

同步上传对应的楼层平面图SVG文件。位置信息添加 

是建立位置信息的基础,通过手工建立位置信息及位 

置邻接关系,将现实实体模型转换为平台可识别的数 

据模型。位置信息是进行数据采集及定位结果显示的 

基础。由于用户可能不能及时上传楼层平面图SVG文 

件,该模块可以直接通过手工输入的形式进行位置信 

息的添加。 

可以对已经添加的位置信息进行修改与删除操 

作,同时可以添加新建筑物,选择对应的建筑物可以 

添加新的楼层信息,选择建筑物楼层信息可以添加新 

的房间及公共空间信息。 

当进行删除操作时,如果选择删除建筑物信息, 

那么该建筑物下的楼层、房间及公共空间信息也将随 

之删除;如果选择删除楼层信息,则该楼层下的房间 

及公共空间信息也随之删除。可单独删除房间及公共 

空间信息。 

终端采集设备在进行采集数据工作时,需要先下 

载对应的位置信息;当终端采集设备首次下载位置信 

息或者需要更新位置信息时,终端采集设备需要连接 

到平台。 

4.4运行时管理模块 

运行时管理主要针对当前连接到平台且正在运 

行的终端设备,包含采集端、定位端、被定位端等终 

端设备,其功能包括手工删除在线设备、重置在线设 

备、修改在线设备参数等。它是定位端查询可被定位 

终端设备、向平台发起定位请求的基础模块。 

为有效管理终端设备,每个终端设备在启动、运 

行和关闭过程中,都会在指定时间范围内向平台发送 

心跳包信息,以便平台动态掌握终端运行状态。平台