第11卷第2期2012年4月北京工业职业技术学院学报JOURNALOFBEIJINGPOLYTECHNICCOLLEGEɴ.2Vol.11Apr.2012收稿日期:2012-01-10项目项目:2011年北京工业职业技术学院青年基金课题(BGZYQN201120)。作者简介:郭蕊(1983-),女,河南平顶山人,工学硕士,讲师,主要从事学生管理与通信网络的研究工作。基于Android平台的GPS定位系统的设计与实现郭蕊(北京工业职业技术学院信息工程系,北京100042)摘要:Android是目前发展最快、最具市场前景的智能操作系统。从GPS应用的系统需求着手,建立基于Android平台的GPS系统,对各主要功能模块进行了详细的研究和分析。结果表明,系统设计合理,便于在不同平台间移植和升级,具有广阔的应用前景。关键词:Android;全球定位系统;网络协议中图分类号:P228.4文献标识码:A文章编号:1671-6558(2012)02-54-05DesignandImplementationofGPSPositioningSystemBaseonAndroidPlatformGuoRui(DepartmentofInformationgEngineering,BeijingPolytechnicCollege,Beijing100042,China)Abstract:Androidisthefastestgrowingandmostmarketprospectsintelligentoperatingsystem.Beginonsystemre-quirementsofGPSapplication,theGPSsystembaseonandroidisdesigned.Mainmodulesofthissystemareana-lyzedindetail.Theresultshowsthattheisprovedtobedesignedfairy,andeasytoportandupgradeindifferentplatforms.Itwillbewidelyusedinthefuture.Keywords:android;globalpositioningsystem;netwokprotocol0引言随着全球定位系统(GPS:GlobalPositioningSys-tem)的迅速发展,越来越多的研究机构致力于GPS的应用研究,将其广泛用于各个方面。当前的GPS定位系统主要采用单片机,windowsmobile(CE)和Linux的方式。但是,单片机功能单一,几乎无扩展性,无法支撑第三方软件;而windowsmobile(CE)操作性、交互性不高且系统成本较高;Linux则开发难度较大。Android操作系统是目前最为火热的手持设备操作系统,它不仅仅是一个手机系统,更是一整套包含硬件的解决方案,选择该系统,也就意味着选择了丰富的硬件产品及丰富的研发资源[1]。鉴于Android的优势以及GPS的广泛应用,众多研究者把目光投向了Android和GPS的结合,力求使GPS以其更简单地方式应用于人们的日常生活,因此如何在Android平台中开发GPS定位系统成为了目前的一个研究热点[2]。本文从GPS定位系统的实用化角度出发,在第2期郭蕊:基于Android平台的GPS定位系统的设计与实现Android平台下以一种简单快捷的方式获取位置信息。在系统中,采用自上而下的模块设计,通过GPS模块获取GPS信号,并通过数据采集处理模块对接收到的GPS信号进行封装处理,实现了数据传输的适应性。通信模块能够准确地将数据发送传输,并在后台服务器显示,为今后的监控应用提供了扩展功能。1GPS原理GPS定位的基本原理是根据高速运动的卫星瞬间位置作为已知的起算数据,采用空间距离后方交会的方法,确定待测点的位置。GPS系统包含3大部分:空间星座部分、地面监控部分和用户设备部分。空间星座部分由24颗卫星组成,均匀分布在6个轨道面上,每个轨道面有4颗卫星,同时位于地平线以上的卫星数目随时间和地点而异,至少为4颗,最多为11颗。GPS卫星的空间配置,保证了任何时刻,任何地方均可以同时观测到至少4颗卫星。每颗卫星装有2台铷钟和2台铯钟(1台工作,3台备用),为GPS卫星提供高精度的时间标准[3]。地面监控部分包括1个主控站、3个注入站和5个监测站,设有GPS用户接收机、原子钟、进行数据初步处理的计算机和收集当地气象数据的传感器,而监测站获取卫星观测数据并将这些数据传送至主控站,并由主控站对地面实行全面控制,推算和编制卫星星历、钟差、导航电文和其它控制指令等,依靠注入站注入到相应卫星的存储系统,并检测注入信息的正确性[4]。用户设备部分是直接面向用户的部分,主要是接收GPS卫星发射的信号,以获得必要的定位信息和观测量,并对数据处理、解算以完成定位工作[5]。GPS具有全天候、全球覆盖、定位精度高、快速高效等特点,对人类活动的影响极大,应用价值极高。它可以从根本上解决在地球上的导航定位问题,以其简便的观测、精密的全球定位、优异的实时性、丰富的功能、良好的抗干扰性能、极强的保密性等特点,满足了不同用户的需求,使其获得了广泛的应用[6]。2Android平台下GPS定位系统的设计方案2.1整体设计方案该系统应适用于所有采用Android系统的移动终端,系统可靠并且易于改进及升级,具备一定的可扩展性。在设计上采用客户端+服务器的模块化方法,利用JAVA编程在Android开发平台中运行程序,创建跟踪读取GPS信息获取用户的位置信息,将其存入后台服务器,并显示在map中。重点解决GPS信号的数据采集和信息处理,以及如何和通信模块建立连接发送位置信息。系统结构如图1所示,主要包含前端系统和后端服务系统,监控系统可做扩展使用,本文不做详细说明。图1系统结构图前端系统主要是客户端,包含GPS模块,数据采集处理模块以及通信模块,如图2所示。其中,数据采集模块集中采用Android的API模块,获取GPS模块中的GPS信号;通过数据处理模块对获取的GPS信号进行数据封装使其适应于网络传输协议;通信模块最终将已处理完成的数据传输至服务器。55北京工业职业技术学院学报第11卷图2前端系统组成后端服务器系统将数据存储记录,以供GPS位置服务,通信服务,地图服务,WEB服务等。2.2软件实现整体软件实现使用Andriod2.3.3操作系统。由于希望更多的利用Google提供的服务,开发环境SDK选择的是与Andriod2.3.3对应的GoogleAPIs。代码编写环境选择了JAVA开发中广泛使用的开源IDE:Eclipse。通过界面调用GPS设置类的方法,将GPS监听器注入。当GPS坐标满足设定情况下数据反馈到界面进行显示,同时数据监听调用通信类的方法将坐标值通过无线网络发送,如图3所示。图3系统编程实现编程中将GPS模块和数据采集模块相结合,利用Android提供的API从平台的GPS模块,获取设备当前位置。主要包括3个功能函数和一个监听器:(1)设置GPS参数:openGPSSettings();(2)获取最新的GPS坐标位置:getLasGpsModel();(3)updateWithNewLocation(Locationlocation);(4)GPS监听器:LocationListenerll=newLoca-tionListener()。工作流程是:首先打开系统的实用GPS设置;然后在获取最新坐标的时候,将重新构建过的GPS坐标监听器注入到软件中。当GPS坐标发生变化时候,监听器即可获取该坐标数值,在publicvoidonLocationChanged(Locationarg0)方法中进行处理。这里的处理包括两部分:一个是更新界面上的坐标数值和地理位置数值;另一个是调用通信模块的处理,将坐标值发送到服务器端。数据处理模块将数据封装后送至通信模块传输,因此编程中将数据处理和通信模块结合实现为软件提供与服务器之间的通信服务。其中,通信协议采用超文本传输协议(HTTP:HyperTextTransferProtocol)。主要采用2种方法:(1)构建通信消息内容模型:CreateMsg(Loca-tionlocation);(2)发送消息:SendMsg()。当GPS定位模块获取到新的坐标时,即调用本模块的构建消息模型方法,将GPS数据构建成本软件所需要的格式,然后在调用消息发送方法来发送数据到远程的服务器。65第2期郭蕊:基于Android平台的GPS定位系统的设计与实现3实验结果及效果分析3.1界面设计分析本系统的界面本着简单明灵活的设计理念,如图4所示,上方文本框显示本系统的经纬度坐标值和本地地址(街道和城市地标名称等);下方的开始按钮为开始GPS定位;退出按钮为退出当前应用。同时,Android界面中使用XML语言来描述界面的布局和构成,使用的字符串值均在xml文件中定义的,如果需要修改界面某些控件的名称,仅仅修改此文件就可以达到目的,创造了良好的修改和管理环境,使系统在应用方面更便捷。图4系统界面3.2软件测试结果及分析测试中,采用索爱Z1iAndroid智能手机加载本系统程序,通过HTTP协议将位置信息反馈给dell服务器,在某单位车辆实验场实际环境中使用车载设备和定位系统联合调试,测试结果显示,可以在服务器的地图上监控到车辆实际的位置,能够较好地实现GPS定位功能。系统实际显示效果如图5所示。图5系统测试结果其中,背景地图使用了卫星影像,上方为地图操作工具,左上方为地图放大级别标尺。地图上的圆形图标为当前车辆位置。车辆位置会随着车辆的运动实时变化图标后面的蓝色线条为车辆行驶的轨迹。在本系统的设计中,充分考虑了Android系统易扩展性和高效率等优点,集中使用了Android系统各接口API模块,使系统从开发效率和运行效率75北京工业职业技术学院学报第11卷上都有较大的提升,并能够稳定运行于所有Android系统,具有很强的适应性,在一定程度上满足了人们对位置的需求。同时,本系统可有效地运用于车辆监控,并为其它应用提供了相应的接口,具有可扩性和可维护性。4结论GPS全球定位系统现在正被应用于全世界范围的工具导航、地理定位、时间精调以及武器精密制导等各领域。随着GPS技术的进一步发展,GPS的应用对我们日常生活的影响越来越大,甚至会改变我们的生活方式。Android操作系统以其强大的功能及开发资源赢得了越来越多人的亲赖。因此,本文采用google的Android平台,依据网络传输协议HT-TP,将实时获取的位置信息通过数据的处理发送至服务器,并存入数据库用以记录用户去过的位置,可用于监控及调度等。测试分析结果显示,本文的设计方案简单有效,可适用于Android系统的移动终端,使成果具有很大的适应性,并且为服务器向移动终端发送命令也预留了相应的衔接端口,具有一定的扩展性。该实现方案完全能够满足GPS定位的需求,系统运行良好,对GPS应用的扩大及普及提供了一定的参考价值。参考文献[1]公磊,周聪.基于Android的移动终端应用程序开发与研究[J].计算机与现代化,2008(8):85-89.[2]刘正,陈强.基于Android的GPS应用中的研究与开发[J].中国西部科技,2010(11):15-16.[3]邱致和.GPS原理与应用[M].王万义,译.北京:电子工业出版社,2002.[4]公磊,周聪.基于Android的GPS测量系统开发[D].南昌大学,2008.[5]鲍雍荣.GPS软件接收机的C_Matlab实现[D].上海交通大学,2007.[6]宋延昭.嵌入式平台开发及在GPS中的应用[D].北京邮电大学,2006.(责任编辑:刘莉宏櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂櫂)(上接第53页)3.7本安电源设计多接口通讯管理器本安电源主要为各本安通讯接口提供电源,从而使各通讯接口实现本安特性。根据