励敏
摘要:互联网大数据时代将会给汽车维修检测行业带来根本性的变革,传统汽车故障维修不透明、寻找故障困难以及检测不精准等问题将会大大改善。在车联网环境下,通过移动终端就可以实现汽车故障检测,这将成为未来汽车故障检测的主要方向。本文提出了一种基于Spring Boot 与 OBD的车联网汽车故障检测系统,对系统的应用进行了研究。
关键词:车联网;汽车故障检测;在线诊断;智能汽车
0 引言
中国汽车市场在三年前就已经实现了万亿规模,同时,汽车互联网用户市场正在逐渐形成,在线上进行汽车维修保养将会开启21世纪汽车新纪元,车联网将会成为汽车产业的新潮流。车联网在汽车故障检测中的应用关键是互联网业务和大数据业务的融合,如何既提升其智能性,又给用户带来良好的用户体验,还能够确保车联网过程中汽车的安全就是本文要研究的主要问题。因此本文基于一种新的Spring Boot框架设计,该框架具有如下优点:自动配置和简化配置,能够创立独立的程序,无冗余代码生成,编码功能强大,系统集成性好,能够融合当前最新的数据库,开发多个功能框架。
1 车联网对于汽车故障诊断的深刻影响
车联网将会深刻地影响了整个汽车产业,创建新的智能交通网络,推动智能汽车产业的发展。未来,随着车联网的发展,汽车之间将会实现网络互通,汽车用户甚至只需要一部智能手机就可以实现对汽车的控制以及故障检测。尤其是AI技术将会大大地改变智能汽车系统,除了无人驾驶之外,机器学习等技术也在引入,这样能够极高地提升车辆的安全性,促进智能行驶的智能化水平提高。近年来,我国智能车载诊断系统发展迅速,比如上汽集团的SDL,吉利集团的CVC,技术水平日益提高。
相关统计显示,当前运行的车辆中至少有30%存在故障或者故障隐患,驾驶员单靠经验不能够判断汽车的故障,尤其是刹车片、方向助力、汽车散热系统等方面的故障,很多汽车都是长期带着故障运行,这给汽车带来了严重的损害。因此智能OBD模块应用在车联网系统中,通过对汽车各个部件进行检测,一旦发生故障就显示故障码,故障检测较为精准。
电控技术的飞速发展让车联网代替了传统的人工诊断,不仅故障检测更为精准,检测时间更短,而且功能更加强大。传统汽车设备检测是离线状态下用设备的相关参数进行判断,这种方面都是事后控制,在发生故障之后再进行诊断。而在线诊断系统在诊断上具有优势,本文将OBD模块将Spring框架结合起来,提出了一种新的应用方法。OBD即车载诊断系统,现有OBD系统仍然采用CARB标准,不但统一了诊断协议和通信协议,而且统一了DLC和DTC。数据分析能力强大,故障检测效率高,上传速度快。
2 系统需求分析和整体架构
2.1 系统功能需求
用户登录模块,系统给每个用户设置了独立的ID,在登录时,一般都会对应自己的车辆。车辆信息模块,包含车辆的基本信息、故障信息以及纳入到车辆网方面的其它信息,故障信息应该产生完整的故障列表,对发动机性能、冷却控制系统性能、供电控制系统性能等方面全方位进行分析,同时对车辆的健康状态等因素进行评分,全面监管车辆的性能等因素。车辆数据模块,对车辆的数据进行监控,采用CAN总线与OBD控制器相连,通过ELM327与无线设备连接实现数据采集。采集图形要能够直观显示,方便车主查看各方面的性能,界面具有亲和力,而且图形清晰。车辆监控模块能够满足实时传输数据的要求,监控车辆的状态,并且在发生异常之后能够及时发出警报。同时对车辆的行驶记录进行分析统计,系统记录车辆的行驶次数和状态,各项数据而易于统计。车辆监控信息要能够实时查看车辆的报警次数和各项统计结果,方便车主实时监测车辆各方面的信息和记录,尤其是对车辆维修保养的历史数据和故障进行记录。系统管理模块,能够对账户进行管理,方便用户修改密码,进行解绑和更新等操作。此外,系统管理模块还能够根据最新的应用进行车联网管理,添加各种新的功能。
2.2 数据库设计
数据库设计中应该遵循以下几个原则:
首先是对数据庫进行统一的设计,避免出现数据不一致的状况,方便对数据进行交叉管理。其次是对数据库进行规范化管理,方便开发人员的管理。因为字段类型丰富,要确保表的命名规范化,提升简化程度。第三是车联网系统要确保安全性,这是智能汽车网最重要的部分,既要保证系统不崩溃,能够随时恢复,又要防止外部攻击。在此基础上,要优化用户信息表、车辆基本信息表、车辆数据表、车辆维修记录表、车辆报警统计表、车辆总体评分表的设计。
2.3 系统其它设计
系统安全设计是车联网的重点部分,这一部分的设计核心是系统的加密,本系统对token进行了DES算法加密,对密码进行了MD5秘钥加密。车联网系统非常容易导致云端攻击,针对这种情况,要在云端加装防火墙,使用安全狗等防护软件,使用杀毒软件进行病毒防护。采用Memcached缓存设计来减少访问的数据量,以缓存加载的方式提高网站的响应效率。采用Nginx负载均衡设计提升会话持久化和负载均衡。
2.4 系统开发框架
软件采用Spring Boot框架进行开发,有无线和CAN总线两种嵌接方式,数据采集通过在OBD上加载一个兼容ELM327控制器模块,通过蓝牙模块实现数据交互。数据采集的传输格式为Json,传输过程中流量消耗小。系统总体开发要本着智能化的原则,提升交互性的同时,确保系统的安全。为了更好地实现开源性,方便开发,系统采用了MySQL数据库。
在系统开发中,要对各个场景进行考虑。车辆在无信号情况下,无法实现对手机的控制,要依靠蓝牙进行控制。具体绑定上,主要是静态绑定和动态绑定有两种方式。系统实现车、车联网平台和用户移动端的数据交互,确保车辆故障诊断信息能够畅通传输。在系统中,为了提升其智能性的水平,要逐步引入智能技术,提升远程故障诊断的水平。同时系统还应该具有远程消除故障的功能,提升诊断设备的精确性。但是需要注意的是车辆的故障码较多,一辆车的故障码会超过上万条,很多故障码都是自动生成,因此要准确检测故障码就需要提升技术水平,各个汽车巨头之间完善通讯协议标准,建立更强大的数据库,将各个故障信息都纳入到其中,提升其匹配能力。
3 核心功能软件开发
3.1 系统登录功能
采用了Mybatis框架,使用Restful风格的编码方式,采用加密方法约束系统访问权限,其加密的代码如图1所示。
3.2 车辆故障状态模块
当用户点击该按钮时,页面就会跳转到车辆的故障状态信息,将数据库的信息存储于ehicleFaultMapper.xml文件中。除了对故障展示之外,还有对车辆基本信息的评分,包括发动机、冷却系统、供电系统、点火系统、维修保养等的评分。系统的评分主要包括三个逻辑,ScoreServiceImpl负责服务接口的定义操作,ScoreMapper对数据库中的各项指标进行查询,Score实现了数据库中对Score表的映射。
3.3 车辆数据管理模块
客户端先得到OBD故障码,当故障码上传到远程服务器时,服务器对其进行解析,反应车辆的故障信息。车辆数据管理的处理流程和车辆故障信息的处理流程类似,对车速、冷却液温度、发动机负荷、发动机怠速等数据详细记录,记录实时各数据时间。车辆数据分析圖因为数据量庞大,因此JFreeChart开发数据,这样图表显示清晰,实例化程度高,尤其是能够将图片直接上传到页面,无需要耗费硬盘的资源。在行车记录情况方面,为了避免数据庞大出现的冗余,要对数据库进行优化,实时展示相关数据。
3.4 车辆信息监控模块
监控管理要确保其实时性,因此对于车辆的报警信息统计要高度重视,将OBD集设备将收集到的数据发送到服务器,如果报警数据超过了设定值,则会给用户推送报警信息,并且转移到报警页面。同时要提升车辆维修保养的信息实时性和准确性,将各大汽车维修保养商家信息纳入到其中,其精确度应该包括各方面的保养数据,比如防冻液和机油是否保真等信息都应该纳入到系统当中。
3.5 系统管理模块
提升账户管理的水平,严格相关认证管理,不仅能够对车辆已经绑定的设备进行登记,同时还要加强对不良用户的审查。在关联管理中,要能够对其版本进行更新。系统管理的关键是实现和互联网端的良好联通和安全性,既要实现汽车仪表数字化,能够实现对中控系统、网管系统、电控系统的全面控制,因此在系统管理上,要采用高速CAN总线,完善相关硬件,强化各项控制指令的应用。
4 结语
未来车联网的智能化程度越来越高,不但能够实现系统的远程诊断和故障检测,甚至还能够实现远程控制和故障消除等,在线就可以提出系统解决方案。在车联网系统中,要利用好大数据技术,将互联网技术融合到汽车诊断技术之中,提升故障识别的精准度,促进其智能化水平。
参考文献:
[1]王永和,张劲松,邓安明,周智勋.Spring Boot 研究和应用[J].信息通信,2016(10):91-94.
[2]刘良,王诗平,刘福华,等.浅谈基于OBD功能扩展的车联网应用及趋势[J].通讯世界,2016,3:236.
[3]焦文斌.现在汽车车载诊断系统(OBD)的应用研究[J].市场与技术,2015,22(10):92.
[4]Baek S H, Jang J W. Implementation of integrated OBD-II connector with external network[J]. Information Systems, 2015, 50:69-75.
[5]马静雅,丁宁,卢阳,等.基于车联网专网专线网络故障与排除关键技术研究[C]//2018智能电网信息化建设研讨会.
[6]尹少峰,宁萍.基于车联网技术的OBD应用探析[J].小型内燃机与车辆技术,2019(3).