APP下载

基于OBD的车辆信息管理平台

2017-08-08白东钱松荣

微型电脑应用 2017年7期
关键词:应用服务蓝牙车载

白东, 钱松荣

(复旦大学 信息科学与工程学院,上海 200433)



基于OBD的车辆信息管理平台

白东, 钱松荣

(复旦大学 信息科学与工程学院,上海 200433)

随着我国汽车数量的日益增多,如何提高交通运输效率、保证交通安全、减少环境污染、提升驾驶体验,已经成为迫切需要解决的问题。针对这些问题,设计了基于OBD(车载诊断系统)的车辆信息管理平台,通过车联网技术、低功耗蓝牙技术以及相关的信息处理技术的应用,实时获取车辆信息数据并进行分析处理,从而实现车辆信息数据监测和报警、车辆调度和管理等功能,在一定程度上解决了以上的问题。

车载诊断; 车联网; 移动终端; 车辆管理

0 引言

汽车数量的迅速增长产生了一系列的问题,交通拥堵、事故频发、环境污染等问题越来越突出。这些问题都严重影响着人民的生活和经济的发展。在这种情况下,为了更加有效地利用现有的交通设施、提高交通运输效率、保证交通安全、减少环境污染,智能交通系统(Intelligent Transportation System,ITS)应运而生,并迅速发展。而在智能交通领域,车联网技术作为极其重要的一个模块也正蓬勃发展,车联网技术是通过无线通信技术、传感器技术以及定位技术的相互配合,实现车与车、车与人以及车与环境的信息交互,实现在信息网络平台上对所有车辆的动、静态数据进行提取和有效利用,并根据不同的功能需求对所有车辆的运行状态进行有效的监管和提供综合服务的系统。采用车联网技术可以在一定程度上提升驾驶体验、提高行车安全性,也可以优化车辆调度,减少交通拥堵。

传统的车联网系统往往是由三层构成。第一层一般是智能传感器,用于采集车辆的状态参数以及感知车辆周边环境数据;第二层是终端控制层以及传输链路,用于控制第一层的智能传感器,并传输所采集的数据,同时第二层也负责接收第三层的提供服务,是服务的主体;第三层是海量数据的汇集,需要虚拟化、安全认证、快速计算、海量存储等功能,其系统也是围绕车辆的数据汇聚、计算、调度、监控、管理与应用的复合系统。

本文按照车联网的三层结构,设计实现了一个基于车辆OBD系统的车辆信息管理平台。用以向驾驶员、交通调度者以及4S店提供车辆管理、车辆监控、车辆自检、车辆调度以及各式各样应用的综合服务。

1 系统架构

车辆信息管理平台根据用户角色的不用,主要分为两个部分。一个是针对驾驶员的个人服务系统,另一个是针对4S店的系统。整体架构,如图1所示。

图1 系统整体架构

车辆信息管理平台的两部分系统的架构相似,均由三层构成:车辆信息采集层、移动终端控制层、应用服务层。

4S店系统在车辆信息采集层和移动终端控制层上与个人服务系统有所区别。车辆信息采集层层面,4S店系统仅需要采集车辆OBD系统数据;个人服务系统需要采集OBD系统数据、车内环境参数、实时的位置数据以及行车视频数据。移动终端控制层层面,4S店系统在该层由4S店的车辆专用检测仪器构成;个人服务系统在该层主要分为车载终端和手机终端,用以实现指令传输、数据传输、服务获取、远程控制等功能。

由上述4S店系统和个人服务系统的异同分析,可以发现4S店系统仅在移动终端控制层上与个人服务系统有较大区别,而4S店系统的检测仪器也不在本文涉及范围内,因此本文将主要以个人服务系统为主进行分析介绍。

个人服务系统的整体架构及各部分主要功能模块如图2所示。

图2 个人服务系统架构图

OBD(On-Board Diagnostic)系统,中文称之为车载诊断系统,主要用于实时监测车辆的发动机、催化转化器、颗粒捕集器、氧传感器、排放控制系统、燃油系统、EGR等系统和部件。当系统出现故障时,OBD系统会生成故障码并记录故障信息。

车辆信息采集层主要包括OBD数据采集模块、车内环境数据采集模块、位置坐标采集模块以及视频数据采集模块。OBD数据采集模块主要是由微控制器、ELM327、低功耗蓝牙等模块构成,用于车辆信息的采集;车内环境参数采集模块主要由微控制器、环境参数传感器、低功耗蓝牙等模块构成;位置坐标采集模块由GPS/北斗定位模块构成;视频数据采集模块主要由微控制器、摄像头以及存储单元构成。车辆信息采集层一方面响应移动终端控制层传输的指令,根据对应的指令从OBD系统、车内环境以及周边环境中读取车辆的实时信息数据;另一方面,通过低功耗蓝牙模块以及存储模块将采集的车辆信息传输到移动终端控制层。

移动终端控制层根据业务的需求,分为车载终端和手机终端两部分。为了降低成本,提高易用性和便携性,车载终端和手机终端的硬件均采用智能手机或者平板电脑实现。车载终端是既是车辆信息采集层的控制终端,也是整个系统的服务承载主体,直接对驾驶员提供服务;同时,车载终端还是车辆数据的传输链路。手机终端主要通过和车载终端的通信,实现用户对车辆的远程监控和控制;同时,手机终端也和车载终端一样可以获取应用服务层提供的服务。

应用服务层是整个系统的核心部分,主要由业务层、存储层以及日志子系统和安全子系统构成。应用服务层是车载终端和手机终端的信息汇聚中心。其业务层是该层的核心部分,主要包括用户管理、业务逻辑、数据分析、数据展示、数据报表以及权限控制等功能。应用服务层以API的方式向不同的终端以及第三方的请求者提供各式各样的服务。通过应用服务层的数据处理和分析,系统可以获取车辆实时运行状态、驾驶员的驾驶行为、道路交通拥堵情况等信息,有利于提高驾驶员的驾驶体验和行车安全,也便于道路管理者优化车辆调度,提高道路利用率。

2 车辆信息采集层设计

车辆信息采集层主要用于采集、传输车辆的状态参数,并响应移动终端控制层的指令。在车辆信息采集层层面,4S店系统在的功能包含在个人服务系统在该层的功能之内。因此,本节的设计以个人信息服务系统为主。个人服务系统的车辆信息采集层主要包括OBD数据采集模块、车内环境数据采集模块、位置坐标采集模块以及视频数据采集模块。

2.1 OBD数据采集模块

OBD数据采集模块主要用于采集车辆OBD系统数据,本文将该模块设计分为硬件设计和软件设计来说明。

2.1.1 OBD数据采集模块硬件设计

OBD数据采集模块的硬件系统是该层的重要基础,它为车辆OBD数据的采集、存储和传输提供重要的硬件平台。车辆信息采集层硬件设计需求主要包括较好的兼容性、较强的稳定性、低功耗与低成本。整体设计框图如图3所示。

图3 车辆信息采集层硬件框架

OBD数据采集模块的硬件主要使用基于Cortex-M0的ARM单片机并配合扩展电路实现。系统硬件组成包括Cortex-M0主控模块、ELM237 OBD接口模块、SD卡存储模块、蓝牙通信模块,并预留按键、LED指示灯与时钟晶振的电路接口。

2.1.2 OBD数据采集模块软件设计

OBD数据采集模块的软件系统主要包括底层软件和应用层软件两部分。底层软件主要实现和车辆OBD系统的通信,包括OBD通信模块、蓝牙通信模块和外部存储模块。底层软件分别基于OBD-II标准通信协议、标准低功耗蓝牙协议栈以及利用模拟的SPI通讯协议对SD卡进行读写实现各个模块的。

应用层软件主要根据移动终端控制层的指令做出响应,实现OBD系统数据读取、车辆故障码读取以及车辆故障码清除3个功能,主要包括指令读取分发模块、任务响应模块、底层交互模块。指令读取分发模块用于读取蓝牙广播中的指令,并对指令进行安全校验,当通过安全校验之后便进行对应的任务处理;任务相应模块响应接收的指令,实现上述的3个主要功能;底层交互模块实现底层软件的接口,是一个通用模块,指令读取分发模块和任务响应模块都需要调用该模块实现OBD系统数据读取以及蓝牙广播发送、读取。

2.2 车内环境数据采集模块

车内环境数据采集模块主要由微控制器、环境传感器以及低功耗蓝牙模块构成。其主要结构与OBD数据采集模块相同。环境传感器主要采集车内的空气质量参数、温度、湿度数据。之后由低功耗蓝牙模块传输到车载终端。

2.3 位置坐标采集模块

位置坐标采集模块主要用于采集车辆的实时位置坐标。由于车载终端的硬件采用智能手机或者平板电脑实现,因此该模块使用车载终端硬件自带的定位模块实现,一般由北斗/GPS模块构成。采集的坐标数据由移动终端控制层实时上传。

2.4 视频数据采集模块

视频数据采集模块主要采集行车视频数据。该模块由微控制器、摄像头以及本地存储模块构成。由于采集的视频数据文件较大,因此将其存储在本地存储单元中,随后可由用户自行上传到应用服务层。

3 移动终端控制层设计

个人服务系统的移动终端控制层分为车载终端和手机终端两部分,如图4所示。

图4 移动终端控制层示例

图4中,起到核心功能的部分是车载终端,主要起到控制车辆信息采集层设备、承载应用服务层的服务以及传输数据和指令的功能;手机终端主要是实现用户对车辆的远程监控和控制。4S店系统在该层由车辆专用检测仪器构成,不在本文涉及范围内,因此不予赘述。

车载终端和手机终端的硬件为智能手机或平板电脑,软件为基于Android操作系统的应用软件。本文重点说明车载终端和手机终端的软件设计。

3.1 车载终端软件设计

车载终端是移动终端控制层的核心。根据实际的业务需求,车载终端主要分为:蓝牙通信模块,业务逻辑模块,网络访问模块以及存储模块。

3.1.1 蓝牙通信模块

蓝牙通信模块主要实现车载终端和车辆信息采集层的低功耗蓝牙蓝牙模块通信,用于传输指令和采集的数据。该模块利用Google提供的低功耗蓝牙API,并对其进行继承、封装操作,实现可靠稳定、通信日志监控、针对实际场景的异常处理、多节点通信的低功耗蓝牙蓝牙通信。

3.1.2 业务逻辑模块

业务逻辑模块是对车载终端所需的用户认证、实时数据显示、车辆自检、应用层服务获取和显示、地图服务等一系列功能的集合。用户认证主要是为了对采集的车辆信息数据进行用户标记,也便于进行用户管理。实时数据显示、车辆自检是本地服务,主要利用本地存储的数据对车辆进行实时数据的监控、报警以及自我检测车辆故障的功能。应用层服务获取和显示是远程服务,主要是调用应用服务层的API接口获取应用服务层提供的服务。地图服务则是利用百度地图的SDK,向用户提供定位、导航以及基于位置的服务。

业务逻辑模块采用MVP(Module-View-Presenter)的设计模式进行设计,将业务的逻辑处理部分和界面更新部分进行分离,降低耦合性,可以有效的提高开发效率。

3.1.3 网络访问模块

网络访问模块实现对应用服务层提供的RESTful API接口的调用。主要实现的业务包括:用户数据同步、车辆信息上传下载、应用层服务获取等。网络访问模块是基于实际需求,对开源库OkHttp和Retrofit进行定制封装实现,其本质是一个调用RESTful API的客户端。OkHttp是一个比较成熟的网络请求库,相比于其他库,OkHttp在性能、可拓展性上有着比较大的优势。而Retrofit则是基于OkHttp的封装,有着清晰简洁的接口,使用非常方便,网络请求的性能也非常优秀。

3.1.4 存储模块

存储模块是车载终端对采集到车辆信息、获取的应用层服务、用户信息等数据的本地存储。该层是基于SQLite数据库实现的。SQLite数据库一个轻量级的关系数据库,在Android操作系统的智能手机和平板电脑中都有集成,占有资源非常小,访问速度很快。本文使用Android系统的ContentProvider管理多个关系表,从而方便的进行数据统一管理。

3.2 手机终端软件设计

手机终端与车载终端相比,没有与车辆信息采集层的通信,而有对车载终端的远程控制模块,如图5所示。

图5 手机终端Push示意图

远程控制模块主要是向车载终端推送指令,达到远程控制车载终端进而控制车辆信息采集层的目的。远程控制模块主要是基于百度推送的业务实现指令的推送。

4 应用服务层设计

应用服务层主要汇聚采集的车辆信息数据,通过分析所采集的数据,而向大量的车载终端、手机终端、PC客户端提供管理、监控、调度以及各式各样应用的综合服务。应用服务层设备包括应用服务器和数据服务器,整体框架,如图6所示。

图6 应用服务层框架

应用服务器由Flask Web框架和数据训练及分析模块组成。Flask是一个轻量级的Python Web框架。Flask的可用扩展库很多,使用非常方便,可以利用扩展库提升开发效率,缩短开发的周期。应用服务器负责实现车辆信息数据的分析处理。数据的训练主要实现驾驶行为的分析,数据分析会对大量的数据进行处理,对性能要求较高,因此将其单独提取为一个模块,与业务逻辑部分进行异步数据通信,以保证性能的需求。

数据服务器主要负责用户的数据存储。根据存储数据的大小,将数据存储分为两部分:基础数据存储,分析结果存储。基础数据存储包括用户信息、车辆信息、车辆数据以及其他基础服务的数据,是采用关系型数据库的方式存储的;分析结果存储包括对采集的车辆信息进行数据分析处理的结果,是采用文件的形式存储的,并在基础数据存储中记录文件路径。

由于本文尚在实践测试阶段,采用的部署方式比较简单,使用的数据库为简单的关系型数据库。未来正式部署可采用更科学高效的部署方式,如图7所示。

图7 未来部署示意图

5 总结

物联网、车联网以及移动互联网络的概念正在被越来越多地应用于我们的生产生活之中,本文利用车联网和移动互联网的概念,并基于车辆OBD系统,设计并实现了一套基于OBD的车辆信息管理平台。该系统能够实现车辆信息数据的监测与报警、车辆故障自检、驾驶行为分析等功能,能够较好的提升驾驶员的驾驶体验和安全性,同时也可以为4S店以及交通管理部门提供非常有参考价值的信息,另外在节能减排等方面也可以起到重要的作用。在后续的研究中,一方面可以优化平台的性能,另一方面,可以针对海量的数据提取出实时交通状态等更多有价值的信息。

[1] Yang Fangchun, Wang Shangguang, LI Jinglin, et al. An Overview of Internet of Vehicles [J]. Communications, 2014, 11: 1-15.

[2] Menghan Zhang, Weiwei Xia, Lianfeng Shen. Bluetooth Low Energy Based Motion Sensing System[C]//International Conference on Wireless Communications and Signal Processing (WCSP) 2014.

[3] Oka D K, Furue T, et al. Survey of Vehicle IoT Bluetooth Devices [C]//IEEE, International Conference on Service-Oriented Computing Society, 2014, 260-264.

[4] 何军,刘代宏,张雨,等.基于无线网-因特网的汽车状态远程监测与故障诊断系统研究[J]. 交通世界,2005:58-61.

[5] 侯仰杰.车辆监控调度 系统中心监控软件研究与开发[D].北京: 清华大学,2004.

[6] 程瑶,吴振强;移动环境下Flask框架的改进[J].计算机工程与设计, 2009, 30(4):880-882.

Information Management Platform of Vehicle Based on OBD

Bai Dong,Qian Songrong

(College of Information Science & Technology, Fudan University, Shanghai 200433, China)

With an increasing number of vehicles in our country, how to improve transportation efficiency, ensure traffic safety, reduce environment pollution and enhance driving experience have become the major problems. Aiming at these problems, an OBD (On-Board-Diagnostic) based information management platform of vehicle has been designed. This platform could get real-time vehicle information and analyze it by using technologies of IOV (Internet of Vehicles), Bluetooth Low Energy and data analysis. Therefore, the platform can monitor vehicle data in real time and schedule vehicles in a proper way.

OBD; Internet of vehicles; Mobile terminal; Vehicle management

白 东(1991-),男,上海,硕士,研究方向:网络与数据通信。 钱松荣(1960-),男,上海,教授,研究方向:网络与数据通信、物联网核心技术。

1007-757X(2017)07-0065-04

TP311

A

2017.01.25)

猜你喜欢

应用服务蓝牙车载
蓝牙音箱的直线之美
一种车载可折叠宿营住房
全球卫星互联网应用服务及我国的发展策略
高速磁浮车载运行控制系统综述
奔驰S级48V车载电气系统(下)
国家不动产统一登记信息平台构建与应用服务
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
智能互联势不可挡 车载存储需求爆发
全国征集卫星应用服务解决方案