欢迎来到学术参考网

面向Java手机GPS数据采集与无线 网络传输系统的研

发布时间:2016-04-01 08:04

  目前,作为GPS与GIS典型集成应用系统(如个人导航系统、GPS车辆监控系统等)的核心技术都涉及到如何在移动环境下完成GPS数据的采集与无线网络传输。国内外对该技术的实现主要是采用笔记本电脑、PDA或专用硬件作为硬件平台,以及GPS、GSM或GPRS等相关外设。由于系统涉及的硬件较多,项目投资和开发周期较长,使得这些系统只能局限于某些行业。

  面向Java手机GPS数据采集与无线网络传输系统使用的硬件平台为Java手机(如388、A388c、Nokia921D等),目前的Java手机操作系统都支持标准的J2MEMIDP1.0Java标准。GPS为MotorolaM12GPS模块,网络通讯介质为GPRS。

  目前,GPSOEM数据接收模块的制造技术比较成熟,市面上的产品较多(如Motorola、Tremble等)几乎所有GPSOEM模块都支持波特率为4800bits/s的NMEA0183协议。此外,为了提高GPSOEM模块与相关设备的通讯效率,多数GPSOEM模块还提供了更高效的通讯数据格式与控制命令61。如MotorolaM12GPS模块提供了9600bits/s、57600bits/s、115200bits/s等GPS数据通讯速率,以及更高效紧凑的GPS二进制方式的定位数据信息、更精细的二进制控制命令等,所有这些新増特性非常适合小型、嵌入式设备(如Java手机)对GPS数据的采集。

  Java手机提供了用户GUI、内部RMS数据库、TCP/IP、Http网络通讯、串行通讯协议等API。基于这些API,开发人员可以开发出各种无线应用程序(如网络游戏、数据采集等)。由于Java语言特有的跨平台特性,遵行J2MEMIDP1.0标准的Java应用程序几乎可以在所有不同厂家、不同型号的Java手机上运行,因而Java手机应用程序兼容性特别好。作为移动用户定位用的GPS数据格式比较简单,而且数据量也不大,简单的经祎度定位坐标信息不过几十个字节,因此,可以直接使用Java手机采集、存储、传输GPS数据。

  目前,国内支持无线数据通讯的网络有GSM、GPRS(generalpacketradiosrvice通用分组无线业务)、CDMA、CDPD等。其中,GPRS具有高速传输、永远在线、按量计费和自如切换等优点,其峰值数据传输可达53.6Kbps,超过GSM技术的3~5倍。因此,GPRS数据的传输速度完全可以满足GPS空间定位数据传输的需要。

  1系统体系结构设计与实现

  系统米用Java手机与通过GPS串行通讯口采集GPS数据。Java手机将采集的GPS数据通过以下两种方式传输:①通过串行通讯将GPS数据传送到PC台式计算机上,并以数据文件OJTF-8)格式存储;②直接利用GPRS或GSM网络以SMS方式将采集的GPS数据直接提交到Internet上,这种方式非常适于对重大险情精确地点的报警(图1)。

blob.png

  结构,系统由移动客户层、GIS应用服务层和数据库层组成。服务器采用支持J2EE的Weblogic7来构架,并管理Web应用程序和数据库;数据库采用MYSQL支撑。同传统WebGIS相比较,此系统网络客户端为Java手机用户,系统通讯介质为无线GPRS网络(图2)。

blob.png

  1.1移动客户层

  移动客户层是具备GPRS数据通讯Java手机(如Motorola388、Nolda9210等)以及与其相连的GPS模块,负责采集移动用户的GPS定位数据和其他相关信息(如地名)。移动客户层提供了与用户交互的GUI,用户可以填写地名,将地名与采集的GPS定位数据对应存储。该数据存储于Java手机,或直接通过无线互联网将数据提交给GIS应用服务层。移动客户端的软件可以通过PC机与Java手机通过串行通讯、红外线通讯安装,或利用J2ME的OTA功能直接通过GPRS自动下载到Java手机,并完成客户端软件的安装。

  1.2GIS应用服务层

  由于本系统只涉及GPS数据的采集与无线网络传输,该GIS应用服务层的功能比较简单。从功能上主要分为两大部分:①OTA服务器构架,它属于GIS应用服务的表示层,用于为移动客户端提供客户端软件的传输,通常移动客户端获取客户端软件后,就不再与OTA服务器构架通讯;②GIS逻辑事物层,它负责与移动客户交互,将数据校验并写入数据库层的数据库。应用服务层的功能通过部署在Weblogic7上的JSP网络应用程序实现对客户端的响应,完成对数据库的操纵。

  1.3数据库层

  本系统选用MySQL系统来存储管理数据库。MySQL是一个真正多用户、多线程的SQL数据库服务器。MySQL由一个服务器守护程序MySQL和很多不同的客户程序及数据库组成。WS应用服务层通过MySQL的JDBC驱动程序实现对采集的GPS数据的存储。其逻辑层之间的关系见图3从逻辑功能上区分GIS应用服务层与数据库层是两个独立的实体而其物理结构可以位于同一台网络服务器。

  2试验与分析

  系统的试验主要围绕Java手机对GPS数据的采集以及GPS数据无线网络的传输这两个核心内容进行。试验中使用的Java手机是Motorola388,GPS为MotorolaM12通讯网络为GPRS。Motorola388是摩托罗拉公司2002年推出的集PDA与传统通话于一体,支持J2ME的手机,其屏幕分辨率为240X270,可以显示16级灰度的PNG图像。Motorola388的内置Java虚拟机支持标准的J2MEMIDP1.0、LWT用户GUI显示、标准的串行通讯、GSM/GPRS无线网络通讯以及Http协议。系统为Java应用开发人员提供了640K的应用程序运行内存和1.4Mb的数据存储空间。而M12GPS也非常适合与Java手机数据通讯[5。

  2.1Motorola388对GPS数据的采集试验

  2.1.1Motorok388与M12GPS采用NMEA0183协议通讯

  使用MotorolaM12GPS的二进制控制命令40404369012B0D0A(十六进制数据),将GPS数据的数据格式转化为NMEA0183格向通讯,即M12GPS不停地发送NMEA0183定位信息数据,Motorola388只需截获所需的定位数据即可。打开Motoiola388串口,对GPS数据进行读取,Motorola388几乎每次都出现系统挂起或串行通讯超时等现象。其主要原因是:M12GPS数据的输出速度与Motorola388对串行通讯数据处理的速度不匹配造成的,Motorola388无法及时处理GPS发送来的大量数据,从而被GPS数据“淹没”,导致系统挂起。该现象是Motorola388以及其他Java手机共有的特性,与笔记本电脑、PDA对GPS串行通讯数据处理性能完全不同。

blob.png

  2.1.2Motorola388与M12GPS交互通讯

  为了避免Motorola388在对M12GPS数据采集的过程中GPS数据传输与Motorola388数据接收、处理速度的不匹配,通讯双方只能采用握手交互通讯的方式,才能完成数据采集与处理。即Motorola388向M12GPS发出定位数据请求命令,M12GPS模块返回给Motorola388定位数据,通讯的双方在双向交互中完成数据传输,从而解决了在串行通讯中Moto:rok388被M12GPS数据“淹没”的问题。

  将Motorola388与M12GPS的通讯速率切换到9600bit/s,Motorola388通过串口向M12GPS发送M12格式定位二进制控制命令:40404862002A0D0A(十六进制数据)Motorola388可以迅速、准确地获得M12GPS发细的数据格式说明可参阅M12用户手册。将Motorola388对串口的GPS数据读写频率,分别按照每次读写间隔时间为1s、2s、3s、4s频率读写50次测试,对读取的数据按照数据自身的Checksum校验[51,得到有效的GPS数据,结果如表1所示。

blob.png

  考虑到GPS模块自身解算定位数据的错误,对于计算能力有限的Motorola388手机,串口GPS的读写频率至少要间隔3s,过高的采样频率要消耗大量的系统资源、手机电源电能、GPS电源电能,并没有很大的实际意义。因此,Motorola388可以完全满足导航与车辆监控对GPS数据采集的要求。

  2.2GPS数据无线网络的传输

  目前,GPRS无线网络的实际传输速率在30Kbit/s左右,而GPRS手机与特定网站的交互速度取决于GPRS手机到该网站的路径、路由的速度、网站服务器的硬件性能、服务器的负荷等诸多因素,很难得到一个确切的数据传输速率。237.117进行数据传输(图5)通常在6~10s以内(包括了传输到服务器,服务器返回信息给用户)Motorola388手机可以将数据传输到服务器,并返回服务器响应信息。

blob.png

  GPS与相应的地图匹配、显示,就可以实现GPS车辆监控。

  Java手机通过采集GPS数据,并与手机内部预先存储的地图数据(或通过无线互联网从服务器获得)匹配,即可实现个人导航系统,完成基于位置的服务(LBS)。由于人类日常生活行为的85%与地理空间位置有关,因此,手机、GPS、GIS、GPRS技术的结合为广大手机用户提供了位置服务,必然会有广阔的市场前景。


上一篇:基于Java和XML技术的 异构信息系统数据集成框架应

下一篇:Java异常处理机制的研究