基于Android的出租车智能管理系统的研究与设计
2016-03-08贾兴苇王丹志
贾兴苇++王丹志
摘要:现代社会发展出租车智能管理系统能有效缓解有限的交通资源与日益增加的市民出行需求的矛盾。针对现有出租车打车软件存在的各种问题,本系统将电召软件与计价器、智能顶灯、监控终端、空车牌等硬件设备有机地结合在一起,以电召司机端软件作为重点,实现了普通运营、同一地点合乘、不同地点合乘等运营流程和订单记录查看、电子围栏设置等其他功能,达到了“界面简洁友好”、“操作简单直观”、“功能完整齐全”的要求。经过专业测试人员系统测试,本系统能准确方便地实现用户的需求,数据采集、统计准确率达到98%及以上,车辆数据上传到后台服务器及时准确。已经在广州市白云区试运营,并取得了良好的效果。
关键词:计算机科学与技术;Android客户端;出租车电召;车联网;智能拼车
中图分类号:TP319
文献标识码:A
DOI: 10.3969/j.issn.1003-6970.2016.01.010
0 引言
出行是衣食住行几大必要需求之一,而随着经济的发展,人们的出行在越来越快速、便利的同时也面临着车辆过多、道路交通堵塞的问题,而这在大城市中尤为突出。所以,改善和发展城市交通系统迫在眉睫。近些年,出租车行业得到了极大的发展,作为城市公共交通的重要组成部分,给城市交通带来了活力,方便了人们的出行,成为当前城市出行方式的主要选择之一。然而,出租车运营仍然存在客流分布不均造成空载时间长、上下班高峰供不应求、打车费用不断上涨、出租车管理和服务不规范等问题。此外,由于出租车载客量有限,并且多数情况下是单乘载客,浪费资源。
要解决以上这些问题,就要将传统的出租车与乘客之间的被动等待转化为主动联系,在出租车司机与乘客之间搭建方便、快捷的通信桥梁,来降低出租车空载率,减少乘客等待时间,实现资源的优化配置。
本课题基于Android的出租车智能管理系统则具有以下特点:在Android平台上实现客户端与服务器端的基本交互功能;将高德地图嵌入Android平台内,实现单机的GPS定位,并将经纬度信息传给服务器,处理后存入数据库;将服务器端的数据库内,记录的可用位置信息传递至客户端,并逐个显示在客户端(客户端分为:乘客端和司机端)的地图上;客户端自行选择单个拟打车对象(乘客端)或单个拟载客对象(司机端),开启点对点交互请求,分为电话通信和手机生成订单服务两类;客户端实现乘客端提交预约订单,司机端处理预约订单的功能。传统的打车软件只涉及用户所使用的安卓手机,而本系统把电召和出租车本身的计价器,通信盒,预灯等硬件集为一体,不仅方便司机的使用,也便于交管部门的管理,能真正为解决现代城市交通堵塞问题提供帮助。
1 系统需求分析与架构设计
1.1 需求分析
出租车智能管理系统司机端致力于提高司机接单效率的同时给用户提供优秀的信息呈现形式以及良好的用户体验。纵观现在的一些打车软件,往往是乘客端做的不错,但是司机端却差强人意,有的是表现形式单一,局限于文字描述和地图呈现两种模式,枯燥乏味,难以吸引眼球;有的是界面过于花哨,让人应接不暇,找不到重点。而本系统软件界面由专业美工人员设计,简洁大方,以黄色为基础色调,按钮、弹窗等为红色背景色,且以广州市标志性建筑物的浮雕式图案作为背景,深受广州本地司机群体的喜爱。呈现方式上结合了文字、图片、地图等多种方式,清晰直观且大方美观。
出租车智能管理系统司机端考虑到司机在开车期间不方便过多地操作终端,且司机把过多精力放在终端操作上也存在行车安全隐患,所以尽可能地使终端和软件操作简单化。在软件使用工程中,绝大多数功能只需司机简单的点击屏幕就可实现,且屏幕点击反应灵敏,对连续点击等易出错的操作能正确清楚地加以识别。在终端表面还有上下左右方向键和确认、取消等多个按键,辅助实现额外的功能,也可以在屏幕点击出现问题时代替实现操作。
1.2 系统硬件设计
系统硬件架构如图1所示,共囊括了十余种设备,系统以出租车调度屏为核心设备供用户操作使用,来完成系统的主要功能。系统中车载信息服务终端负责车辆与后台间的信息交互与控制,车载信息服务终端包括调度屏和监控终端两个设备。
调度屏:连接两路摄像头、计价器、后枕屏、CAN总线,计价器连接空重车牌。
监控终端:连接智能顶灯、紧急报警按钮、车控继电器、ACC信号。
调度屏安装在中控台中间位置,便于司机和乘客操作。中控台上包括调度屏和空重车牌,取消司机营运资格证牌,营运资格证在调度屏上显示。监控终端连接的外设和外部配件多,采用暗装方式。
1.3 运营业务流程设计
运营业务总共有三种情况,分别为:普通运营流程、同一地点合乘流程、不同地点合乘流程。
1.3.1 普通运营流程
司机接载乘客上车,压表后车载屏播报迎客信息。调度屏接收计价器发送的“重车”命令,同时调度屏LED屏无显示,状态“载客”灯亮。压表30秒之后计价器开始打票头。
乘客到达目的地后,司机起表,车载屏播报送客信息,乘客在10秒内将消费卡放置到车载屏的刷卡处进行刷卡消费,否则乘客需要支付现金进行消费。乘客刷卡完毕之后车载屏提示乘客对司机进行评价。乘客点击车载屏右侧的评价按键进行评价,完成之后车载屏提示评价成功,并上传本次运营纪录至后台。
1.3.2 同一地点合乘运营流程
司机在同一地点接到两位同意合乘的乘客则执行本流程。两位乘客上车之后司机压表,计价器开始计时,在计价器计时不超过30秒时长按IC键进入合乘优惠模式,车载屏显示合乘优惠计价界面。
在第一位乘客下车时,司机点击屏幕上的抵达键,此时计价器开始打印第一位下车乘客的车票,并向调度屏发送“收费”命令。此时车载屏播报第一位下车乘客的送客信息,乘客在10秒内将消费卡放置到车载屏的刷卡处进行刷卡消费,否则乘客需要支付现金进行消费。扣费完毕之后提示第一位下车乘客进行评价,第一位乘客评价完毕之后车载屏播报“感谢您的评价”,车载屏上的合乘优惠界面消失。
在第二位乘客下车时,司机起表,车载屏播报送客信息,乘客在10秒内将消费卡放置到车载屏的刷卡处进行刷卡消费,否则乘客需要支付现金进行消费。乘客刷卡完毕之后车载屏提示乘客对司机进行评价。乘客点击车载屏右侧的评价按键进行评价,完成之后车载屏提示评价成功,并上传本次合乘运营纪录至后台。
1.3.3 不同地点合乘运营流程
不同地点合乘的运营流程是针对需要合乘的两个乘客上车地点不在统一位置设置的合乘运营流程,这个流程也分为两种情况:第一个乘客先下车、第二个乘客先下车。
两个流程的区别主要在哪一个乘客先下车的流程上,因此在这之前的流程一样,如下述:
第一个乘客上车,司机压表,车载屏播报迎客信息,计价器开始计时。30秒后计价器开始打印票头信息。司机询问当前乘客是否同意合乘,如果乘客同意则在计价器开始打印票头信息之后短按计价器IC键通知车载屏允许合乘,此时车载屏允许司机接第二个乘客。
第二个乘客上车之后,司机长按计价器的IC键进入合乘优惠模式,车载屏语音播报“进入合乘优惠模式”,并显示合乘优惠计价界面。
(1)第一个乘客先下车合乘运营流程
一位乘客的车票,并向调度屏发送“收费”命令。此时车载屏播报第一位乘客的送客信息,乘客在10秒内将消费卡放置到车载屏的刷卡处进行刷卡消费,否则乘客需要支付现金进行消费。扣费完毕之后提示第一位乘客进行评价,第一位乘客评价完毕之后车载屏播报“感谢您的评价”,车载屏上的合乘优惠界面消失。
在第二位乘客下车时,司机起表,车载屏播报送客信息,乘客在10秒内将消费卡放置到车载屏的刷卡处进行刷卡消费,否则乘客需要支付现金进行消费。乘客刷卡完毕之后车载屏提示乘客对司机进行评价。乘客点击车载屏右侧的评价按键进行评价,完成之后车载屏提示评价成功,并上传本次合乘运营纪录至后台。
(2)第二个乘客先下车合乘运营流程
如果第二位乘客先下车,司机点击屏幕上的抵达键,此时计价器开始打印第二位乘客的车票,并向调度屏发送“收费”命令。此时车载屏播报第二位乘客的送客信息,乘客在10秒内将消费卡放置到车载屏的刷卡处进行刷卡消费,否则乘客需要支付现金进行消费。扣费完毕之后提示第二位乘客进行评价,第二位乘客评价完毕之后车载屏播报“感谢您的评价”,车载屏上的合乘优惠界面消失。
在第一位乘客下车时,司机起表,车载屏播报送客信息,乘客在10秒内将消费卡放置到车载屏的刷卡处进行刷卡消费,否则乘客需要支付现金进行消费。乘客刷卡完毕之后车载屏提示乘客对司机进行评价。乘客点击车载屏右侧的评价按键进行评价,完成之后车载屏提示评价成功,并上传本次合乘运营纪录至后台。
2 系统功能实现
电召司机端的主要功能模块包含司机资格证模块、导航地图模块、电召订单模块和功能菜单模块四大模块。司机资格证模块用于在待机或查验司机资格证时显示司机资格信息,导航地图模块显示由高德地图提供的导航信息,电召订单模块用于接收电召订单,功能菜单模块包括记录查看、多媒体娱乐等八个子模块。下面分别介绍不同模块的功能和适用环境。
2.1 司机资格证模块
本模块用于在车辆运行时显示司机资格证相关信息,便于乘客监督反馈运营途中遇到的问题。例图2-1为司机刷司机资格证登陆后的司机资格证界面。居中显示司机资格证信息,资格证信息为图片文件。调度屏中预存本车司机的资格证图片,最多10张,在终端安装发行时,系统远程下载。本车司机登陆后,按资格证号,从存储区检索出来后,用于显示。资格证信息包括司机头像、姓名、资格证号、服务单位、考核等级、发证日期、监督电话等。资格证上方为通知栏,通知栏左方显示的图标从左到右依次代表gps信号状态,3G信号状态,司机登陆状态,例图中显示的情况为gps未开启,3G已连接,司机已登录。通知栏右方显示当前日期和时间。
2.2 导航地图模块
本模块在车辆运行时为司机提供导航信息。例图2-2为接受电召订单后的地图界面。主体内容为地图信息或导航信息,地图及导航信息来源于高德地图。紫色直线代表导航线路,紫色圆圈代表车辆当前位置,绿色起标志代表订单起点位置。左边握手图标为电召订单按钮,点击后跳转到订单详情页面;左边握手图标上方为当前地图所用比例尺,例图中显示为1厘米代表100米;左边喇叭图标为订单信息播报按钮,点击时播放当前运行的电召订单的起点、终点、联系电话等具体信息;右边放大镜加号图标点击时控制缩小比例尺,放大地图;放大镜减号图标点击时控制放大比例尺,缩小地图;齿轮图标为菜单界面按钮,点击后跳转到菜单界面。
2.3 电召订单模块
本模块在终端接收到订单信息时显示订单信息并提供接单、拒绝功能。如图2-3所示,第一行显示即时电召订单,包括订单起点、订单终点、应召按钮、拒接按钮,点击应召按钮后接受订单并跳转到订单详情界面,点击拒接按钮后拒接订单。第二行类似显示预约电召订单。左下角返回地图按钮,点击后跳转显示地图界面,齿轮按钮点击后跳转显示菜单界面。
2.4 功能菜单模块
本模块为用户提供了包含丰富功能的菜单。界面如图4-5所示,从左到右从上到下依次为司机考勤、电召业务、调度监控、语音通话、营运业务、终端设置、管理设置、多媒体8个二级功能菜单按钮和返回按钮,点击前8个按钮会跳转显示对应的二级功能菜单界面,点击返回按钮返回地图按钮。每一个二级子模块均包含多个下级模块、页面,提供了考勤记录查看、电召订单记录查看、调度文本信息查看、拨出接听电话、运营记录查看、音视频播放等诸多功能,涵盖了多达四十多个具体功能需求。
3 系统测试
本系统结合了白盒测试和黑盒测试的方法严格执行单元测试、集成测试、系统测试等测试过程。
在软件开发过程中,开发人员在每个功能模块开发完成后进行了严格的单元测试,测试后统计Bug数量并提交相应的测试报告。然后改进Bug并提交Bug修改报告。
在系统测试过程中,由中国智能交通公司测试部专业测试人员采用黑盒测试的方法,对智能出租车管理系统的软硬件功能均进行了严格、完整的测试。在第一次测试中提出了300多个Bug,并按重要程度划分为4个等级后向开发人员提交了测试报告。开发人员认真改正了所有的Bug.最终由测试人员再次进行测试,并提交了系统性能报告,报告主要内容如下:
3.1 可靠性和可扩展性
3.1.1 可靠性
1.数据采集、统计准确率达到98%及以上。
2.调度屏进行语音通话后,能够立即进入数据通信状态,过渡时间应小于30秒。
3.具有良好的断线重连功能。
4.上线日起3个月试用期内发现的全部缺陷(不含“建议项”)数量与系统总代码行数的比例不超过0.1Bug/KLOC。
5.本系统需为出租司机提供全天业务调度服务,因此系统应具有较高可用性,具体要求为:调度屏系统服务时间:24小时。最大可接受故障恢复时间:4小时。每年恢复时间大于4小时的故障次数小于1次/5000小时。
3.1.2 可扩展性
1.扩展调度屏通用数据接口。
2.在调度屏应用程序微量修改后,可适应其他硬件后台调度系统。
3.扩展数据库存储空间,提高系统存储能力。
3.2 安全性
为保证数据安全性,调度屏与后台调度系统之间的交互信息采用自定义通信协议组包并完成校验,传输层协议为UDP协议。调度屏与后台调度系统之间要预留接口,支持对交互信息的加密处理。远程通信网络安全调度屏应至少支持采用APN拨号方式,其中,APN口令由后台调度系统同一管理,调度屏不提供具体管理功能。为了防止在信号不良的条件下出现断网问题,调度屏具备断网重连功能。主要是要能够及时检测3G连接状态,如果发现断网,则重新拨号,并重新与后台调度系统建立UDP通讯链路。
4 结论
总体来说,传统的打车软件只涉及用户所使用的安卓手机,而本系统把电召终端和出租车本身的计价器,通信盒,预灯等硬件集为一体,不仅方便司机的使用,也便于交管部门的管理,为真正提升现代城市出租车服务提供了可能,推动了城市智能交通系统的发展。
但是从用户使用习惯和软件实际效果来看,本系统仍然存在许多可以改进和完善的地方。例如,在视频、音频资源频繁调用的情况下软件会出现卡顿的现象;监控视频上传流畅程度高度依赖于当前的3G网络通畅状态,当3G网络状态不佳或者无网络的时候,延迟较大;硬件设备方面也还存在可以改进的地方,包括车载终端屏幕是电阻屏,在不使用点击棒用手指触摸时反应不灵敏;车内摄像头拍摄的照片和视频虽然满足目前设计需求,但与市面上常用的行车记录仪的清晰程度仍有差距。