APP下载

基于Android平台的校车管理系统设计与实现

2018-05-23周盖文勇军樊志良唐立军

智能计算机与应用 2018年2期

周盖 文勇军 樊志良 唐立军

摘 要: 针对目前国内高校校园规模大、多校区运行的交通问题,设计实现了基于Android平台的校车管理系统,系统采用Android开发平台、利用GPS获取位置信息结合百度地图显示校车的实时轨迹,通过校车信息查询管理和系统用户的信息管理模块,实现校车的管理;通过校车的实时位置信息及历史运行轨迹,实现校车的监控。测试结果表明系统运行稳定可靠,具有较强的实用性和良好的扩展性。

关键词: Android;GPS;百度地图;校车管理

Abstract:Aiming at the traffic problems of large campus and multi-campuses in China a school bus management system based on Android is designed and implemented. The system uses Android development platform and GPS to obtain the location information and display the real-time trajectory of school buses. Through the information inquiry management of school bus and information management module of system user school bus management is achieved. Through the school bus' real-time location information and historical running track school bus monitoring is achieved. Test results show that the system is stable and reliable with strong practicality and good scalability.

Key words: Android;GPS;Baidu map;school bus management

引言

近年来随着高等教育事业的蓬勃发展 中国高校的校园规模也在逐渐扩大,高校拥有多个校区运行已经成为一种常态。如何解决师生来往于各校区之间的交通问题,增强对校车的信息化管理,建立校车信息化、智能化管理系统,是高校交通管理的重要手段[1-2]。目前,校车的管理方式主要有2种。一是人工管理,这种方式对校车基础信息的管理方式落后,并且缺乏对于校车运行信息的有效管理和校车运行位置的实时监控[3-4]。二是Web管理,这种方式需要校车管理人员及乘客在固定位置的Web监控端前才能使用,不能随时随地查看校车的运行状况,实时性、便携性较差[5-6]。本文结合Android设备的开源免费、价格低廉、便于携带、平台稳定的特点[7],对基于Android平台的校车管理系统进行研究和探索。

1 系统分析

为改善目前的校车管理系统功能,需要建立一个智能化、信息化的校车实时管理系统。该系统能实现对校车基础信息和校车运行信息的操作处理,以及对校车实时位置的跟踪记录,方便学校管理部门对校车运行的管理与监控。系统除用户管理模块外,还需设置校车定位模块、校车信息管理模块、行驶线路管理模块实现对校车管理,实时位置监控模块、历史轨迹管理模块实现对校车监控。系统功能模块如图1所示。

2 系统实现

2.1 系统总体架构设计

系统总体结构如图2所示。系统使用自带GPS定位模块的Android设备作为GPS定位数据获取终端。定位终端安装在校车上,通过GPS模块获取校车的定位数据,将获取的定位数据通过3G/4G网络传输给校车管理平台。管理平台将定位数据进行格式化处理后存入Mysql数据库中。用户终端分为Web终端和Android终端,用户终端需要访问校车位置时,向校车管理平台发送请求,校车管理平台解析该请求后将指令返回对应的定位数据,终端将返回的数据结果定制显示在百度地图上。

2.2 用户管理模块

用户管理模块分为用户信息管理和角色管理。用户信息管理中将所有用户归为4类,分别是:超级管理员、普通管理员、驾驶员、普通用戶。角色管理对所有的角色提供对应的功能权限划分。超级管理员具有最高的权限等级,可以访问系统中所有的数据,同时能管理和设置所有用户角色的访问权限。

用户管理模块中有注册、登录、密码找回等功能。对各功能的阐释研究可见如下。

(1)用户注册。需要对用户进行实名制认证,系统的服务对象为高校师生,高校师生的工号/学号绑定个人身份信息且唯一,使用高校师生的工号/学号作为实名认证的判断条件具有良好的可辨性。用户注册流程如图3所示。下面,将针对这一设计展开如下分析论述。

① 输入用户名、密码、工号/学号和手机号码,提交注册;

② 系统判断输入的用户名是否未被注册。若用户名已存在,则提示用户名已被注册使用,返回注册界面,重新输入用户名;

③ 用户名未被注册,则继续判断工号/学号是否有效。工号/学号不存在或者已被注册使用时,系统提示工号/学号无效,返回注册界面,重新输入工号/学号;

④ 当工号/学号有效时,系统发送注册验证码到手机,用户从手机中获取验证码,进行验证码输入验证,三次验证未通过时,返回注册界面,重新输入手机号码;

⑤ 注册验证码且验证通过时,将用户与工号/学号、手机号码绑定,保存用户名信息,并提示注册成功。

(2)用户登录功能。即对用户输入的用户名和密码进行判断,用户登录成功则进入系统用户主界面。

(3)密码找回功能。需要用户输入工号/学号和手机号码,工号/学号和手机号码匹配时,系统发送验证码到手机号码,用户填写正确才能进行密码重新设置。

2.3 校车定位模块

(1)设备标识符。定位终端通过设备标识符与校车信息绑定,用于接收校车的GPS位置数据。设备标识符由设备的IMEI号、SIM序列号、WIFIMAC地址组成,可确保设备标识符的唯一性,同时可以作为令牌与后台进行数据通信。

设备标识符获取方法如下:

① 调用Android的context.getSystemService()方法获取Android设备访问权限;

② 调用getDeviceId()方法获取设备的IMEI号;

③ 调用getSimSerialNumber()方法获取设备的SIM序列号;

④ 调用wm.getConnectionInfo().getMacAddress()方法获取设备的WIFIMAC地址;

⑤ 返回IMEI号、SIM序列号、WIFIMAC地址作为设备标识符。

(2)定位初始化。定位初始化流程如图4所示。驾驶员出发前,通过与校车绑定的Android定位终端进入定位终端签到界面进行签到,定位终端将输入驾驶员的用户名、密码、连同定位终端设备标识符传给后台服务器,后台服务器对驾驶员的用户名、密码的权限进行认证,认证成功后绑定驾驶员信息与定位终端;选择本次校车的线路和起始站点,验证该时段是否包含有该起始站点的校车线路,验证通过,将定位终端与线路信息进行绑定,定位终端开始定位。

(3)定位数据获取。通过百度地图[8]获取GPS定位数据过程可分述如下:

① 配置权限,初始化百度地图locationClient类。LocationClient类是定位的核心类;

② 设置定位SDK参数,包括定位精度、定位结果坐标系、定位间隔时间、地址描述、数据传输频率;

③ 实现BDLocationListener结果监听接口,异步获取定位结果。定位结果包括定位时间、经纬度数据、速度、方向、位置描述;

④ 将最新获取的GPS定位数据字段传输给后台服务器,后台通过Haversine公式和莱以特准则处理GPS数据,剔除异常数据,完成定位数据的获取。

研究可知,Haversine公式用来计算2个经纬度点之间的距离d,计算公式具体如下:

根据莱以特准则[9-10]选择3*D(x)作为阈值判断GPS定位数据是否异常,D(x)为标准差。设置每5 s传输一次定位数据,传输次数count =1,由于校车在市区行驶车速规定不得高于60 km/h,一次传输最大距离为83.33 m(以60 km/h时速行驶),设D(x)=83.33 m,得到阈值为250 m。若d

2.4 校车信息管理模块

校车信息管理模块可以对车辆基本信息进行增、删、查、改等操作,此处的校车信息中包括有:校车车牌号码、购入时间、校车使用年限、核载人数、车辆生产厂商、车身颜色等基本的车辆项目内容。

2.5 行驶线路管理模块

行驶线路管理模块包括:校车停靠站点管理和校车行驶线路管理。其中,校车停靠站点包括站点经度、纬度、站点名称及站点描述信息;校车行驶线路由校车停靠站点及发车时间所组成。系统通过建立校车行驶线路与校车停靠站点的多对多关联关系,就可应用校车线路的发车时间或经过站点来索引执行线路查询等操作。

2.6 实时位置监控模块

实时位置查询,即查询指定校车当前时间的最新位置。通过车牌号码查询该校车当前时间的位置信息,系统从数据库的实时位置存储表中查询并取出该校车的最新定位数据(包括经纬度、速度、方向、记录时间),初始化百度地图,调用地图的map.addOverlay()方法将该定位数据覆盖到百度地图,显示校车实时位置。

2.7 历史轨迹管理模块

历史轨迹管理模块通过车牌号和时间来查询获取系统内历史轨迹表内的历史轨迹记录,将历史轨迹记录按先后顺序分解成单个位置定位数据的点数组,初始化百度地图,在地图中调用BMap.Polyline()方法把点数组连接成折线,再调用Map.addOverlay()方法将折线添加覆盖到百度地图,由此实现了历史轨迹的回放。

3 系统测试

测试功能包括用户管理功能、行驶线路功能、校车信息管理功能、校车定位功能、实时位置查询功能、历史轨迹回放功能,系统功能测试见表1。

测试结果表明,系统运行稳定可靠,定位精确,实时位置显示直观,相较于PC端系统的应用欠缺,该系统能随时随地对校车进行监控与管理,具有良好的便捷性和实用性。

4 结束语

基于Android平台设计了高校多校区运行的校车管理系统,方便对校车信息查询管理以及系统用户的信息管理,实现了校车的实时位置信息监控及历史运行轨迹直观显示。测试结果表明系统运行稳定、可靠,具有良好的扩展性和实用性。

参考文献

[1]鐘岚,汪永超,毛明刚,等. 基于B/S的通用车辆管理信息系统研发[J]. 计算机工程与设计,2007,28(7):1695-1698.

[2] 章童,丁雪峰,邵云梦,等. 基于校园卡系统的校车管理应用及实现[J]. 华中师范大学学报(自然科学版),2017(S1):200-204.

[3] 金建设,杨斌,于晓海,等. 基于传感网与云计算的校车安全监控系统设计[J]. 计算机测量与控制,2014,22(6):1790-1792,1796.

[4] 王正军. 基于GPS/GIS/GPRS的车辆监控系统的研究与开发[D]. 广州:华南理工大学,2014.

[5] 孟俊宏. 基于Android系统的车辆移动监控终端的设计与实现[D]. 长春:吉林大学,2015.

[6] 徐兵,廖友成,刘文杰,等. 基于Android平台的车载导航系统研究[J]. 计算机测量与控制,2014,22(2):601-603.

[7] 鲍萍萍,陈光,王鹏辉,等. 基于Android平台的车辆监控系统设计[J]. 实验室研究与探索,2016,35(12):72-78.

[8] 周浩. 基于百度地图API地震应急避难场所信息地图化动态显示的实现[J]. 地震工程学报,2015,37(S1):114-118.

[9] 张小红,左翔,李盼,等. BDS/GPS精密单点定位收敛时间与定位精度的比较[J]. 测绘学报,2015,44(3):250-256.

[10]林艺芳,李汪彪,苏伟达,等. 一种航标定位的GPS异常点快速判别及剔除方法[J]. 现代电子技术,2008(17):4-6.