基于GPS和GPRS的班车定位系统设计

2016-04-05 09:08刘涛肖磊
科技视界 2016年8期
关键词:电子地图定位车辆

刘涛 肖磊

【摘 要】为了解决一些单位员工在上下班路上等待班车,因不能及时获取班车当前的运行位置,造成时间浪费或者错过班车等问题,设计了一种基于GPS和GPRS技术的班车定位系统,结合手机电子地图,来实现车辆的实时定位,用户可以通过手机地图实时查看车辆的位置信息。

【关键词】车辆;GPS;电子地图;定位

【Abstract】Many employees often waste a lot of time or miss the bus when they waiting for the vehicle, because they cannot access to the bus position timely. This paper designed a system based on GPS and GPRS technology, combined with the mobile phone map, to achieve real-time positioning of the vehicle, the user can view real-time vehicle location information through the mobile phone map.

【Key words】Vehicle; GPS; Electronic map; Positioning

0 引言

很多学校和企事业单位都有自己的班车,会根据员工的居住地点,设置不同的线路和站点。比如,作者所在的单位,有早、中、晚三班班车,早班和晚班班车又分为三条不同的线路,每条线路有两辆班车,设置6至10个站点。在道路拥堵及极端天气情况下,经常会发生班车不能按照预定时间到达站点的现象。而欲乘坐班车的人员可能并不知道班车的运行情况,比如,在预定的时刻,班车未按时出现,这种情况究竟是班车还未到达,还是已经开过站点了,如果班车未到距离本站的距离还有多远,这种情况往往会造成乘车人员的焦急。如果能够实时采集班车的运行位置,并通过手机地图进行显示,那么用户就可以方便的查看班车的运行状态,获取班车的位置信息,以便决定是否继续等待,还是选择乘坐其他交通工具。本文设计了一种基于单片机和GPS定位技术的车载终端,实时获取车辆的经纬度信息,并通过GPRS网络将数据发送到服务器端,服务器监控程序接收数据并处理后,将数据存放到数据库。用户可以通过手机APP访问服务器,系统会根据不同线路不同班车,在电子地图上实时显示车辆当前的运行位置。

1 系统整体架构

系统的架构主要分为三个部分:车载终端、服务器监控程序、手机客户端,如图1所示。

车载终端放置在班车上,上面带有GPS模块,用来接收GPS卫星信号,获取车辆的经纬度信息,并通过GPRS网络传送至Internet网络,最终传送至服务器端[1]。服务器监控程序接收到车辆的数据后,会进行坐标的变换,转换成百度地图坐标,并存储到数据库中。手机客户端需要安装一个APP,可以选择不同的班车路线,定时向服务器发送查询请求,服务器会返回当前的车辆经纬度,并在电子地图上实时标注出来。

2 车载终端

2.1 硬件设计

车载终端主要由单片机、GPRS模块、GPS模块、串口模块、电源模块、LCD显示屏组成[1]。

其中,单片机采用8051系列STC12C5A60S2单片机,是整个终端设备的控制中心,它有两个全双工串行通信接口(UART1、UART2)。GPRS模块采用SIM900B,它是一款新型无线模块,可实现语音、SMS、数据的传输,并且功耗很低[2]。SIM900B与单片机是通过UART1串口通信的。GPS模块采用瑞士ublox NEO模块,定位精度可以达到2.5m,它与单片机通过UART2串口通信。RS-232串口主要用来与PC通信,实现单片机程序的下载,GPS模块采集的数据也可以通过该串口直接发送到上位机。LCD液晶采用 NOKIA5110,可以用来显示车辆的经纬度、速率、温度等信息。车载终端的工作原理是:GPS模块采集车辆的经纬度信息,通过UART2串口传送给单片机,单片机通过UART1串口发送给SIM900B模块,SIM900B模块采用GPRS方式发送到远端的服务器监控程序。

2.2 GPS信号处理

系统上电后,GPS模块每隔固定的周期就会返回以字符‘$开头的一定格式的数据[3],如$GPRMC,022451.00,A,3658.87945,N,11710.19702,

E,0.768,316.57,131115,A*63,其中GPRMC代表推荐的最小定位信息。GPRMC数据格式为:

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh。其中:<1>代表时间;<2>代表定位状态,如果为A,则表示定位有效,数据可以使用,如果为V,表示定位无效,数据舍弃;<3>代表纬度;<4>代表纬度半球;<5>代表经度;<6>代表经度半球;<7>代表地面速率[3]。

其中,经纬度为度度分分.分分分分(ddmm.mmmm)格式,在实际计算中需要转换成度分秒的格式。如接收的GPS信号中纬度是:3658.87698,计算步骤如下:

1)计算度

3658.87698/100=36.5887698

可以得到36度

2)计算分

3658.87698-36*100=58.87698

可以得到58分

3)计算秒

58.87698-58=0.87698

0.87698*60=52.6188

可以得到52秒

所以纬度是:36度58分52秒。

2.3 GPRS数据发送

为了区分不同的车载终端,需要为每个终端增加标识符,并与经纬度信息、速率等一起进行打包,生成一个新的字符串,通过GPRS模块发送到服务器监控中心。封装后的数据格式为:CarID,1,Lat:36.588640, Lon:117.102200,Spd:45.863950,Y。其中,CarID代表车辆的标识符,每个终端是唯一的,Lat代表纬度,Lon代表经度,Spd代表速率,Y代表字符串结束符。

GPRS模块与服务器之间的通信协议采用UDP协议。TCP是一种面向连接的协议,可以提供可靠的数据传输,但是以增加网络资源消耗作为代价,UDP是面向非连接的协议,使用UDP连接,当网络拥塞时,会丢弃部分数据包,但可以改善接收数据滞后的情况。班车定位系统对数据的实时性要求很高,超过一定时间的数据就没有参考价值了[4],因此我们采用UDP协议。

3 服务器监控程序

3.1 主要功能

服务端主要实现三个功能:(1)与不同车载终端的GPRS模块建立UDP连接,实时接收车辆的经纬度信息,并进行解析、坐标转换、存储,如图3所示;(2)响应手机客户端查询请求,定时向客户端返回班车经纬度信息;(3)存储车辆、班车路线等基本信息。

3.2 系统设计

服务器监控程序采用java语言实现,采用Struts+Spring+Ibatis的框架,使用MySQL数据库。

为了便于系统维护,将大部分处理逻辑放到服务器端实现,手机APP界面上的一些菜单数据也放到数据库中管理,这样如果APP界面有改动,比如班车路线、发车时间等发生变化,就不需要修改客户端程序,只需要修改服务器端程序,或修改数据库中的数据就可以,减少用户更新客户端的次数。

3.3 坐标转换

GPS模块采集的经纬度属于地球坐标,即WGS-84坐标,而我们国家出于安全考虑,将地球坐标重新进行加密,形成火星坐标。由于我们采用的是百度地图,需要在火星坐标的基础上进行二次加密,形成百度地图上的坐标。坐标转换顺序如图4所示。

4 手机客户端

手机端应用程序(APP)基于Android系统开发,整个系统的界面分为三部分:登录界面、线路选择界面和地图定位界面。登录界面如图5所示。

线路选择界面如图6所示。用户登录手机APP后可以选择查询的路线,在地图定位界面会用图标标出各个站点,绘制出该路线车辆的运行轨迹,及车辆当前的位置,并定时进行更新,用户可以很方便地查看该线路班车是否到达本站等信息,如图7所示。

5 系统测试结果

通过对不同线路、不同时间的班车进行真实测试,定位误差基本在3m以内,完全可以达到系统的需求。

6 结束语

该系统的设计与实现,可以极大的解决各企事业单位、学校等人员乘坐班车的问题,方便乘客及时查询车辆的实时位置,减少不必要的等待,节省花费在上班路上的时间,提升企业的人为关怀。后期系统还可以扩展更多的功能,比如车内温湿度的监测、车辆到达站点的时间预估、车内视频监控、历史轨迹回放等。

【参考文献】

[1]刘爽,贾传荧,贾银山,马文耀.基于GPS/GSM和电子地图的车辆定位系统设计与实现[J].辽宁石油化工大学学报,2005,25(1):82-85.

[2]李涛,马殷元,杨东.基于STM32的GPRS远程监测终端设计[J].电子世界,2012.06:126-127.

[3]郭涛,郝亮,曹景胜,王群,于继开.基于GPS的汽车电动助力转向模拟系统设计[J].汽车工程师,2014,12:34-37.

[4]郭龙.基于GPS/GPRS车辆远程监控系统车载装置的设计[D].南京:东南大学,2007.

[责任编辑:王楠]

猜你喜欢
电子地图定位车辆
《导航定位与授时》征稿简则
基于灵活编组的互联互通车载电子地图设计及动态加载
Smartrail4.0定位和控制
车辆
找准定位 砥砺前行
基于Mapserver的增强现实电子地图的设计与实现
冬天路滑 远离车辆
提高车辆响应的转向辅助控制系统
青年择业要有准确定位
电子地图在初中地理教学中的应用实践