APP下载

基于Android的车辆监控系统设计

2016-11-10李沁璘

大众科技 2016年2期
关键词:应用程序百度客户端

李沁璘

基于Android的车辆监控系统设计

李沁璘

(桂林电子科技大学信息与通信学院,广西 桂林 541002)

近年来飞速发展的社会经济和与日俱增的交通运输拥挤,使得现有的交通运输服务与管理手段已经无法满足人们对公路交通的需求。文章基于Android设计并实现了车辆监控系统,通过结合卫星定位和移动互联网技术实现了车辆目标实时定位,并扩展了电子栅栏功能。实际测试效果表明,文章中设计的Android的车辆监控系统定位坐标地图匹配准确性高,扩展性强。

GPS;Android系统;无线通信网络;智能交通

1 引言

近年来由于我国经济力量与科技实力的壮大,城市发展十分迅猛,城市规模不断变大,同时车辆数量也不断增加,交通系统网络愈来愈庞大[1]。由此致使交通拥堵,事故频发,使得经济遭受着巨大损失的同时也给人们的生活带来了不可预测的隐患[2]。同时由于Wi-Fi、3G、4G等无线网络的全面覆盖,智能手机的用户群体日渐壮大,这也为通过智能手机实时监控交通信息提供了便利[3]。互联网调研中心的数据表格表明,2014年Android操作系统占据着中国83%的市场份额,在手机的中、低、高档次中都占据着巨大的份额。

基于上述背景,在目前智能交通系统上,结合GPS和北斗定位系统,以及3G、4G、Wi-Fi无线通信网络,开发基于移动设备的车载智能交通系统。在车载上安装终端,通过3G、4G网络将车辆的实时的经度以及纬度、行驶的速度、行驶方向回传到服务器数据中心处理与存储,控制中心的前台界面就可以对车辆进行实时的监控,同时还能够对车辆的历史轨迹线路、相关信息进行查询。同时为了随时随地地使用此系统,在Android操作系统中开发出相应的应用程序,通过手机端应用程序客户可以随时随地的使用。

本文综上各项技术,设计基于Android的车辆监控系统,通过开发Android操作系统的手机客户端应用程序,以实现车辆位置的实时定位,车辆的历史路线回放,车辆信息的查看和电子栅栏报警,同时保护用户信息安全。

2 开发平台介绍

2.1Android系统

Android是Google于2007年底开发出来的开源手机操作系统,是首个为移动终端打造的真正开放和完整的移动软件。选择Android操作系统的原因不仅仅是因为它所占有的市场份额之大,同时还因为它具有以下优点。首先,目前在世界上大多数手机厂商都加入到了Android系统的阵营,各个手机厂商都全力推出了多款Android操作系统的智能手机。终端越来越多,同时大部分厂商都建立了Android平台的技术联盟。其二,Android操作系统价廉但是性能不低,Android操作系统的手机价钱从高低都有,大部分的Android手机都处于中等价位,这样有利于普及,使得在Android操作系统开发出来的应用能让大多数人使用。同时Android操作简便,便于人们使用。第三,Android操作系统是开放的,允许开发人员对源代码进行修改,进行二次开发,并且对Android进行修改和发行都不受许可证的限制,同时国内有大量的Android开发论坛以及众多的Android开发者,这也有利于开发资料的查找。

Android操作系统采用的是分层的架构,共分为4个层次。从高到低分别为,应用程序,应用程序框架,系统运行库和Linux内核[4-5]。每个层分别有着不同的作用。

Android操作系统的应用程序框架为开发者提供API,它实际上是一个应用程序的框架[6]。因为上层的应用程序是以Java构建的,因此在这个层次上首先提供的是包含了UI程序中所需要的各种控件。例如:视图组件(View)、包括列表(lists)、栅格(grids)、文本框(text boxes)、按钮(buttons)等;一个嵌入式的Web浏览器。 一个Android应用程序可以利用应用程序框架中的以下几个部分[7]:

Activity(活动);

Broadcast Intent Receiver(广播意图接收者);

Service(服务);

Content Provider(内容提供者)。

2.2百度地图API

百度地图于2010年正式对外宣布开放地图API,同时百度地图API的免费开放不仅可以提供给PC端,而且还可以提供给移动设备端[8]。如今百度地图API已经广泛应用到各行各业中。例如移动设备、车厂以及互联网等行业。涉及团购、移动应用、生活服务等各个领域。百度地图API相对与其他的地图API有许多优势,例如,较小的文件,可以提高地图使用的流畅性。其次百度地图其独有的应用封装,可以有效的降低GIS应用程序的开发成本和开发周期。第三百度地图API有着超过70多个类,同时还拥有着400多个丰富的接口,可以让开发者能够轻松、简便地构建出各种丰富的地图应用。

在本文中,采用百度地图来构建监控系统以及历史回放功能,开发中需要用到百度地图API提供的多种类和方法。其中百度地图API提供了包括核心、控件、覆盖物、基础、工具、地图图层、服务等多种类方法[9]。

核心类:主要是实现一个地图的对象。所有的地图应用功能的实现都是基于地图的对象来实现的,例如地图的显示以及地图的缩放与平移等。

服务类:地图的空间查询与空间分析是地图应用系统的最基本功能,同时也是其最重要的功能。百度地图API提供了例如公交检索类、驾车检索类、本地搜索类等多种服务类用来实现空间的查询和空间的分析功能。

覆盖物类:地图覆盖物指的是叠加和覆盖在地图上的内容,覆盖物可以拥有属于自己的地理坐标,同时可以随时随地进行拖动和缩放操作来实现覆盖物的相应的移动。地图覆盖物的主要作用就是对地图里面内容的有效补充,可以根据自身的需求来选择是否实际的显示出来。同时百度地图的API还提供许多的包括图像标注,线条等多种覆盖物。

由于百度地图API的开放性和免费性,致使目前有众多的开发者利用百度地图的API进行二次开发,也正因此便于开发者相互间技术的交流和资源的共享。

3 系统设计

3.1移动智能交通系统的整体构架

移动车载智能交通系统主要分为三个部分,即车载终端、无线通信网络、监控中心应用程序端。整个移动车载智能交通系统的结构图如图1所示。

图1 移动车载智能交通系统的结构图

车辆终端通过单片机获得GPS数据解析后,获得相关的GPS信息,例如时间、经度、纬度等,然后通过GPRS网络将终端信息回传到监控中心,监控中心的服务端将获取的数据进行处理存储,再发送到手机端,显示在GIS应用电子地图上[10-11]。

3.2客户端软件设计

客户端软件设计主要包括系统界面、实时监控、历史轨迹查询和电子栅栏报警几个模块。

3.2.1系统界面

系统界面包括登陆注册界面、功能选择界面。安全功能是任何一款软件都必须可少的,因此在使用APP应用程序时,首次使用需要注册账户,之后的每一次使用都需要输入已经注册过的用户名和密码,才能登录进入到应用程序中使用。登录验证功能主要分为2个部分,第一个部分是客户端,也就是用户在手机应用程序端进行注册;第二个部分为服务器端,服务器端对客户端发送过来的注册或者是登录信息进行处理,同时与服务器端的数据库进行写入或者匹配,完成注册和登录的功能。具体的流程图如图2所示。

图2 系统登录注册流程图

3.2.2 实时监控模块

当车载终端开启之后,终端会不断地获取定位信息并将其发送至服务端,服务端再将其存入数据库。当用户在手机上打开客户端时,便可实时地查询到这些信息,为了能更为直观地让用户看到,客户端每5秒向服务端请求一次定位信息,同时将其显示到地图上。具体流程图如图3所示。

图3 实时监控流程图

3.2.3历史轨迹回放

所谓历史轨迹,即在地图上显示出一段时间内定位终端的运动轨迹。当用户点击历史轨迹按钮时,进入到历史轨迹显示界面时,首先加载地图,同时向服务端发送获取历史定位信息的请求,拿到这些点后,将其连接起来,并在地图上显示出来。其中,起点和终点用特殊的图标标识出来,以便用户能够更为直观地观看整条运动轨迹线。具体流程图如图4所示。

图4 历史轨迹回放流程图

3.2.4车辆信息查看

车辆信息查看功能的查看过程相对简单,客户端访问数据库,查找用户所需要的车辆信息,如果找到匹配的车辆信息,数据库则把车辆信息的数据表格显示在客户端的界面供用户查看。

3.2.5电子栅栏报警

电子栅栏报警的功能是用户可以指定一个坐标点,以这个点为圆心50米为半径的圆作为电子栅栏的区域。当定位终端离开电子栅栏的区域时,客户端将会以震动、响铃的方式发出提示,并在通知栏显示警告提示。该坐标点的操作是用户在地图上完成的操作,针对不同的定位终端,可以设置不同的坐标点。根据定位数据的上传频率,客户端每5秒向服务端请求一次定位信息,然后计算该定位终端与圆心坐标点的距离,根据该距离是否大于50米来做判断条件。关键代码如下:

nManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

nBuilder = new NotificationCompat.Builder(this);

nBuilder.setContentText("title")

.setContentText("目标已离开指定区域")

.setContentIntent(getDefalutIntent(Notification.FLAG_SHOW_LIGHTS

| Notification.FLAG_AUTO_CANCEL))

.setTicker("notification").setWhen(System.currentTimeMillis())

.setAutoCancel(true)

.setVibrate(new long[] { 0,300,500,700 })

.setSmallIcon(R.drawable.icon_gcoding);

4 系统测试

系统设计完成后,对本系统进行了测试以验证系统功能的正确性。用于测试的手机参数为:Android版本2.3.6,内核版本2.6.35.11se.infra@sep-50#2,内部版本号GINGERBREAD.FH10。实际APP功能界面效果如图5(a)所示。

图5(a) 系统功能界面实际效果图

图5(b) 车载监控系统车辆信息管理数据库

以上测试结果表明:该系统能完成实时监控、历史轨迹回放、电子栅栏等功能,程序运行稳定可靠,定位和查询精度较高,满足了车辆监控系统设计要求。

5 结束语

本文实现了基于Android手机的车辆监控系统,服务器端使用开源的Tomcat服务器,客户端软件采用模块化设计,利用开源的Android系统和百度地图API开发客户端程序。同时该系统可根据需要扩展其他功能,具有成本低、便于携带以及系统升级和维护方便等特点,能够稳定、可靠地运行于绝大多数Android手机或其他Android设备,具有较好的应用前景。

[1] 任克强,李晓亮,谢斌.基于Android的手机导航系统设计与实验[J].实验技术与管理, 2014, 31(5):131-135.

[2] 张丹娜.基于GPS的车载监控终端的设计及其实现[D].杭州:浙江工业大学, 2013.

[3] 袁宁.基于Android智能手机的车辆远程监控系统的设计与开发[D].重庆:重庆大学,2014.

[4] 黄宏程.Android移动应用设计与开发[M].北京:人民邮电出版社, 2012.

[5] 雷鸣,靳婷,徐晓亮,等.面向龙芯平台的Android系统移植研究[J].计算机工程与应用,2012,48(22):70-73.

[6] 姚昱旻,刘卫国.Android的架构与应用开发研究[J].计算机系统应用,2008, 17(11):110-112.

[7] 蔡建平.软件综合开发案例教程[M].北京:清华大学出版社,2011.

[8] 孙迪,李沛鸿.百度地图API在WebGIS中的应用[J].河南科技,2013,(22):165-166.

[9] 柳林.移动终端导航系统中地图匹配技术的研究与应用[D].山东:山东科技大学,2007.

[10] Pan F,Zhang L,Wang F.GIS and GPS Based Vehicle Guidance System[C].Intelligent Computation Technology and Automation,International Conference on.IEEE, 2008:251-254.

[11] Wang D,Song X,Zhu S, et al. Merging Assistance Method Based on Vehicle-infrastructure Cooperative Technology[J]. Journal of Highway & Transportation Research & Development,2012,29(7):50-52.

Design of vehicle monitoring system based on Android

In recent years, the rapid development of the social economy and the growing traffic congestion, making the existing transport services and management tools have been unable to meet the needs of people on the road traffic. In this paper, based on the Android design and implementation of the vehicle monitoring system, through the combination of satellite positioning and mobile Internet technology to achieve the goal of real-time vehicle positioning, expand the electronic fence function. The actual test results show that the design of the vehicle monitoring system based on Android is of high accuracy in coordinate map matching and strong expansibility.

GPS; Android system; wireless communication network; intelligent transportation

TP393

A

1008-1151(2016)02-0017-04

2016-01-10

教育部重点实验室2015年主任基金资助项目“认知无线电与信息处理”(CRKL150111)。

李沁璘(1989-),女,广西桂林人,桂林电子科技大学信息与通信学院助教,研究方向为卫星导航。

猜你喜欢

应用程序百度客户端
Robust adaptive UKF based on SVR for inertial based integrated navigation
删除Win10中自带的应用程序
如何看待传统媒体新闻客户端的“断舍离”?
谷歌禁止加密货币应用程序
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
百度年度热搜榜
百度医生
百度“放卫星”,有没有可能?
客户端空间数据缓存策略