无线局域网环境下的图书馆定位系统研究与实现
丰江帆, 王倩, 刘兆宏
重庆邮电大学计算机科学与技术学院 重庆 400065
摘要

对现有的室内定位算法进行分析,在传统指纹定位的基础上提出基于无线接入点筛选的室内定位方法,同时构建一种适用于图书馆定位系统的地图数据模型。设计实现基于WLAN的图书馆定位系统,采用客户端服务器的体系结构,客户端基于Android平台,服务器采用SSH三大框架进行搭建,通过实验证明该系统能够满足图书馆室内定位的需求。

关键词: 无线局域网; 接收信号强度; 图书馆定位系统
Research and Implement of Library Positioning System in Wireless LAN Environment
Feng Jiangfan, Wang Qian, Liu Zhaohong
College of Computer Science and Technology, Chongqing University of Posts and Telecommunications,Chongqing 400065, China
Abstract

This paper analyzes the existing indoor positioning algorithms, then proposes a wireless access point screening method,and designs a user adaptive indoor positioning system using WLAN. At the same time,a map data model in library positioning system is realized. The system uses C/S architecture, while the client is based on Android operating system, and the server is based on SSH structures. Experiment results prove that the system can meet the demand of indoor positioning.

Keyword: Wireless local area network; Received signal strength; Library positioning system
1 引 言

传统借阅书库全封闭的借阅模式和繁琐的手工检索已逐步被淘汰,取而代之的是全方位开架借阅模式,在这种情况下读者往往不能快速找到所需书籍,造成寻架不便的问题[ 1]

针对这种问题,可以增加计算机设备,利用图书管理系统为读者查找图书提供方便,而这种方法需要一定的经济投入,而且不能随时随地为用户提供查询服务,不能直观地为读者导航。随着无线通信技术和智能终端的快速发展,无线局域网(Wireless Local Area Networks,WLAN)已广泛分布在图书馆、机场、校园、商业区等各种场所,PDA、笔记本、智能手机等移动终端设备中也都内置了无线网卡。因此,本文提出了一种基于WLAN的图书馆定位系统,可以用于图书查找、定位导航、寻找同伴等服务,读者下载客户端程序并安装在移动终端上,就能够随时随地进行查阅,而且能在图书馆中实现定位导航。

现有的WLAN定位技术主要分为基于信号到达时间(TOA)[ 3]、信号到达角度(AOA)[ 4]和基于接收信号强度(RSS)的指纹定位技术。然而,在无线局域网覆盖的室内环境中,由于各设备之间很难实现同步,并且Wi-Fi信号存在较严重的衍射和绕射等非直线传播情况,同一用户Wi-Fi信号的各条多径分量在时间上相当接近,因此需要对设备的分辨率进行改进,以区分时间上非常接近的各条多径分量。所以,基于TOA或者AOA的定位技术不适合室内环境。基于接收信号强度的指纹定位技术与以上两种方法相比,不需要添加额外的硬件设备来进行时间和角度的精确同步与测量,并且能充分利用现有广泛覆盖的无线局域网设施,降低了部署成本,提高了定位精度。

在研究现有的指纹定位技术的基础上,本文设计实现了一种用户自适应的图书馆定位系统。在实际应用中,由于基于无线接入点(Access Point, AP)信息太多会造成数据冗余,而且非移动通信运营商部署的AP位置经常会发生变化,为解决该问题,本文提出了一种AP筛选的机制,提高了系统的稳定性,并且设计了一种适用于图书馆室内定位导航的地图数据模型。实验证明,该系统具有良好的定位效果,可以应用到多种服务中。

2 基于AP筛选的室内指纹定位方法

指纹定位方法[ 5]一般分为两个阶段:离线采集阶段和在线定位阶段。

(1)离线采集阶段需要构建信号强度数据库。将室内环境划分为大小相同的网格,对每个网格进行编号,同时记录网格的坐标。采集信号的时候,遍历每个网格采集Wi-Fi的信号强度、AP的MAC地址、SSID等数据。数据采集完成后,根据采集到的室内AP进行整理并设置优先级。室内Wi-Fi信号主要来源于三类AP:

①运营商部署的AP,例如SSID值为CMCC或者China Net的AP。这种AP通常部署在天花板上,不会经常移动,因此将这种AP的优先级标记为1。

②单位科室部署的AP,这类AP通常也是在天花板上部署,但是可能由于单位或者科室调整线路而变换位置,因此将这种AP的优先级标记为2。

③个人部署的AP,这种AP会随着室内家具的变动或者人员连接网络的需要随意变换位置,因此将这种AP的优先级标记为3。

这样,在定位阶段先匹配运营商部署的AP信息,即使用户自己部署的AP 位置发生变动,对于整个系统的定位结果影响不大。

(2)在线定位阶段,用户走到某个位置,利用智能移动终端采集Wi-Fi信号数据。将终端采集到的Wi-Fi信号按照优先级分类,再在每组分类中按照信号强度进行排序。终端接收到AP发送的信号在分类排序之后,将前5个最强信号的方位数据、信号强度、AP的MAC地址、SSID上传至服务器。服务器端根据用户发送的数据,按照方位信息进行查找,在和用户所在方位一致的数据中,匹配信号强度数据。根据优先级为1的那组中发送最强信号强度的AP和AP的MAC地址在数据库中进行查找,找出这个AP的所有信号强度数据,然后在找到的这个集合中,查找排位第二的AP的所有相关数据。直到遍历所有用户采集到的信号。然后通过KNN算法[ 6]进行计算,得到相似度最大的那组数据。

3 基于WLAN的图书馆定位系统的设计
3.1 图书馆室内定位系统需求分析

由于目前大多数定位系统都是基于Windows平台进行模拟室内定位。实际定位过程中,室内移动用户几乎不可能使用笔记本电脑作为移动终端,因此本文采用使用Android平台的智能手机作为移动终端,设计实现了一种用户自适应的图书馆定位系统。本系统适用于部署了无线局域网的图书馆进行室内定位,还可以用于馆藏推荐、导航等服务中。该定位系统能够满足以下需求:在图书馆中,读者利用终端设备能够扫描局域网内的AP,获取其信号强度数据;读者根据客户端进行选择,查询图书,找到图书所在位置;对读者的位置进行准确定位,以便实现导航;利用现有的无线局域网环境,在室内AP变动的情况下,不影响室内定位系统的准确度;用户能够自己选择合适的精度进行定位;定位系统还应该具备界面友好、客户端容易操作等特点。

3.2 图书馆室内定位系统框架

由于移动终端,如智能手机、PDA等设备存储空间、计算能力有限,因此本文设计的定位系统采用服务器客户端体系结构,如图1所示:

图1 室内定位系统框架

客户端的主要功能是查询图书,根据书名或者图书编号查询图书借阅情况,并且根据图书编号对应的书架编号找到对应的地理信息;向服务器发送定位导航请求;采集周边位置的AP信息构建信号强度数据库;在线定位阶段将采集的Wi-Fi信息上传到服务器中;显示定位结果;室内地图显示。

定位服务器负责定位算法的计算和数据库的管理。在服务器端采用指纹定位方法进行计算。数据库管理系统包括AP信息管理、地图数据管理、图书信息管理等。在AP数据中需要存储无线AP的MAC地址、SSID、信号强度。地图数据管理中需要存储地图数据和室内地图中每一个小区域对应的书架号。在图书管理中,需要记录每本书对应的书号和书架信息。图书表记录图书编号、名称、作者、借阅情况、所属书库、所在书架等信息。书架表记录书架编号、所在书库、书架藏书类别等信息。这样用户在查找图书时,通过查找图书所在的书架,定位到该书架,通过导航系统,找到该书架所在的位置并进行借阅。

客户端和服务器之间采用HTTP协议实现通信。客户端使用Android平台搭建。服务器端使用SSH(Struts+Spring+Hibernate)三大框架,其数据处理流程如图2所示:

图2 数据处理流程

(1)终端用户向服务器发送HTTP请求;

(2)Session Manager接受请求,然后发送相应的参数到定位模块中;

(3)根据定位算法在数据库中查询相应的记录;

(4)返回查询结果;

(5)返回用户的位置。

3.3 图书馆地图数据模型设计

由于本文设计的图书馆定位系统采用的是指纹定位算法,因此在常规的数据模型中添加了网格数据,指纹定位中将室内地图分成大小相同的网格,用网格来估计表示每个位置点。图书馆定位导航中,地图数据模型设计如图3所示:

图3 地图数据模型设计

Library表示图书馆。Floor表示楼层,其中Floor Name表示楼层的名称,Relative Floor 表示相对楼层,因为很多图书馆中有地下室,那么地下室的名字可能是车库,相对楼层就是1;Room表示的是图书馆中各个书库;Grid表示图书馆中需要定位导航区域划分的网格;Bookshelf表示书架。每个网格对应一列书架的一部分,因此网格中记录了书架号和部分图书编号,这样在定位时可以根据图书编号,对应到相应的网格进行定位导航。每个书架对应一系列图书,因此Book ID表示该书架对应的图书的编号范围。在定位导航时,根据需要查找的图书号,找到对应的书架,根据书架和图书编号找到网格,根据网格号找到对应的房间和楼层,完成定位导航。

4 基于WLAN的室内定位系统的实现
4.1 实验环境

实验环境为某图书馆三楼。根据参考文献[7]的研究,为了保证精确定位,每个位置都需要收到来自3个AP的信号强度,因此在整个实验环境内已知位置部署了5个AP,还有运行商部署的AP分布在天花板上。AP型号为DWL-2000AP+A。实验环境如图4所示,其中星号表示为无线AP。

图4 实验环境示意图

本文的定位系统采用MyEclipse8.5进行开发,服务器为Tomcat6.0,数据库选用Oracle10.0,操作系统为Windows XP,选择能够接收无线信号Android系统的三星智能手机I908E作为移动终端。

4.2 实验步骤

为了使用户能够更好地体验定位服务,在离线阶段采集多重粒度网格的数据库,这样用户在定位的时候可以选择自己需要的定位精度。网格越小,需要采集的数据越多,这样定位精度会提高,但是响应时间会增加。在实验中,将待定位区域划分成1*1米和2*2米两种粒度的网格。在数据库中同时记录该网格的位置信息和书架信息。实际应用中,可以采集多种粒度网格,用户在定位的时候可以选择不同的定位精度。

在每个网格中采集周边AP发送的Wi-Fi信号强度,及AP的SSID、MAC地址等信息,如图5所示:

图5 手机信息的显示

SSID是无线AP的名字,通过SSID可以看出这个AP是移动、电信等运营商部署的还是用户自己部署的。数据采集完成以后,在每个网格的数据中添加网格的位置信息,添加该位置的书架号、图书类型等,存储在数据库中。

在线定位阶段,用户发送定位请求的同时,将用户所在位置的Wi-Fi信号的接收信号强度、AP的MAC地址、SSID上传至服务器。根据基于AP筛选的室内指纹定位方法计算定位用户自身位置。通过在客户端输入书名进行查询,找到对应的书架位置。然后根据自身位置和查询到的书架位置进行导航。

4.3 实验测试结果

本文采用欧氏距离来计算坐标和实际坐标之间的误差。定位区域测试10组数据,在同样的实验环境中,AP位置没有发生变动的情况下,分别在1*1米和2*2米两种网格的数据中进行计算,结果如表1所示:

表1 不同网格粒度的定位结果

可以看出,网格边长是2米的情况下定位平均误差是5.59米,网格边长是1米的情况下定位平均误差是2.14米。可见,网格越小,定位精度越高,这样用户可以根据自己的需要进行不同的选择。实验证明该定位系统能够较好地满足室内定位的需求。

如果使用1米的网格进行定位计算,在用户并发访问的情况下系统从发出定位请求到接收到定位结果的定位时间响应如表2所示:

表2 定位系统的时间响应

可以看出,该定位系统有较快的响应速度,当用户增多的情况下,多用户并发向系统发送定位请求时,系统响应时间会变长。从单个用户定位时间来看,该定位系统能够满足图书馆定位的需求。

5 结 语

通过对指纹定位技术的研究,本文设计了一种用户自适应的室内定位系统,并在Android平台上进行了实现。读者只需下载客户端并安装在手机上即可使用。实验证明了该定位系统能够较好地满足室内定位的需求,可用于图书馆、校园等场所的导航或者图书推荐,同时也可以分析读者的位置信息,挖掘出读者喜欢的图书类别等信息,以便图书馆的管理和图书更新。在未来的工作中,有以下几个方面需要进一步完善:

(1)数据库中存储了大量的指纹数据,应设计更加完善的匹配机制,以快速查找数据,减小定位响应时间。

(2)以往的定位系统是基于静态的无线局域网环境,而实际中,AP可能会发生变动,如何在AP动态变化的情况下,实时更新指纹数据库,实现高精度的定位,为读者提供更优质的服务。

参考文献
[1] 孙发, 廖文献, 潘鹏程, 图书馆书架定位系统的设计与实现[J]. 现代图书情报技术, 2008(12): 95-98.
(Sun Fa, Liao Wenxian, Pan Pengcheng. Design and Implementation of Library Shelf-location System[J]. New Technology of Library and Information Service, 2008(12): 95-98. ) [本文引用:1] [CJCR: 1.073]
[2] Schon S, Bielenberg O. On the Capability of High Sensitivity GPS for Precise Indoor Positioning[C]. In: Proceedings of the 5th Workshop on Positioning, Navigation and Communication. IEEE, 2008: 121-127. [本文引用:1] [JCR: 1.616]
[3] Ciurana M, Cugno S, Barcelo-Arroyo F. WLAN Indoor Positioning Based on TOA with Two Reference Points[C]. In: Proceedings of the 4th Workshop on Positioning, Navigation and Communication. IEEE, 2007: 23-28. [本文引用:1] [JCR: 1.616]
[4] Wann C D, Yeh Y J, Hsueh C S. Hybrid TDOA/AOA Indoor Positioning and Tracking Using Extended Kalman Filters[C]. In: Proceedings of Vehicular Technology Conference. 2006: 1058-1062. [本文引用:1]
[5] Bahl P, Padmanabhan V N. RADAR: An In-building RF-based User Location and Tracking System[C]. In: Proceedings of the IEEE INFOCOM 2000. New York: IEEE Computer and Communications Society, 2000: 775-784. [本文引用:1]
[6] 汤丽, 徐玉滨, 周牧, . 基于K近邻算法的WLAN室内定位技术研究[J]. 计算机科学, 2009, 36(4): 54-56.
(Tang Li, Xu Yubin, Zhou Mu, et al. Research on K Nearest Neighbors Algorithm Under the Indoor WLAN[J]. Computer Science, 2009, 36(4): 54-56. ) [本文引用:1] [CJCR: 0.61]
[7] Roos T, Myllymaki P, Tirri H, et al. A Probabilistic Approach to WLAN User Location[J]. International Journal of Wireless Information Networks, 2002, 9(3): 155-164. [本文引用:1] [CJCR: 0.61]
[8] 梁尧, 徐玉滨, 邓志安, . 用于WLAN指纹匹配定位的室内接收信号强度特性研究[J]. 计算机科学, 2009, 36(4): 39-41. (Liang Yao, Xu Yubin, Deng Zhian, et al. Properties of Indoor Received Signal Strength for WLAN Location Fingerprinting[J]. Computer Science, 2009, 36(4): 39-41. [本文引用:1] [CJCR: 0.61]