基于Android手机的车辆故障码诊断系统

来源 :企业技术开发·下旬刊 | 被引量 : 0次 | 上传用户:jiaranerzhi
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:随着我国小型汽车数量的持续增长,随之而来的是频发的交通事故,而这其中很大一部分是由于汽车发生故障而无法正常行驶造成。本设计基于C/S架构使用蓝牙ELM327作为与OBD通信的协议翻译器,通过Andorid手机蓝牙与ELM 327获取ECU的故障码信息显示给车主,起到早期预警的作用,提醒车主潜在的车辆维修需要,减少了汽车由于故障发生交通事故的危险。
  关键词:ELM327;Android;Java;OBD-II;ECU模拟器
  中图分类号:TP206 文献标识码:A 文章编号:1006-8937(2016)30-0073-02
  1 概 述
  2015年我国私家车已达1.24亿辆,巨大的汽车数量也带来了越来越多的交通事故。如果车主能够自行检查汽车状态,消除汽车故障,这将会显著地降低交通事故发生的可能性。然而随着现代电子控制技术在汽车工业的发展和应用,自动化程度越来越高,但随之而来的汽车结构变得越来越复杂,能熟练掌握和维修汽车领域技术的专家和维修人员也越来越少,从而使得汽车维修行业经常无法快速、经济地解决汽车故障,这就需要用户能够自行地排查车辆状态,及时地去专业维修店清除故障,改善车况。
  汽车厂商大量的采用电子控制单元ECU(Electronic Control Unit)来作为控制器,我们可以使用汽车故障诊断系统OBD-II来获取车辆的故障诊断信息。OBD接口模块的主要功能是使整个硬件系统通过CAN总线与汽车的OBD接口相连接,使之成为汽车电控系统的一个CAN节点,并通过网关和汽车的其它CAN节点进行通讯,进而可以采集到汽车运行时的各种数据,同时还能作为车载电源与电源模块的连接通道,整个汽车终端也是通过该接口模块与汽车实现硬件上的连接[1]。
  如今OBD技术受到了广泛的关注,我国出台了一系列政策来推广OBD技术,现如今90﹪的汽车都具备OBD-II接口,以OBD技术为基础的车联网系统[2]更是各大科技公司当下的研究热点。
  根据谷歌发布的报告显示,自2014年5月以来Android操作系统的用户增加了4亿,用户总数已达14亿,平均5部手机中大约4部安装了安卓系统。
  而且Android又是开源操作系统,其灵活性、开放性比其他专有软件产品具有更大的自由和个性化,同时价格更低廉。Android应用使用Java语言开发,Java语言的开发者又是最多的,这使的Android应用的开发短期大大的缩短、可维护性增强。
  OBD技术和Android操作系统的广泛应用,使我们结合两者开发的应用、系统能够被大多数用户所使用、操作。
  2 系统整体设计
  2.1 系统原理
  该诊断系统主要分成上位机和下位机两部分,系统框图,如图1所示。上位机是客户端,基于Android系统;下位机即CAN转蓝牙控制器模块(即蓝牙ELM 327),通过OBD接口(CAN 总线)和汽车ECU(电子控制单元)通信,读取来自ECU的报文信息[3],并转换成蓝牙串行数据格式,发送给上位机。
  2.2 硬件选择
  根据我国的法律政策规定,除极个别车型外,所有的汽车必须提供一个可以用于测试设备获取诊断信息的接口。这个接口上的数据传输协议并不能直接与其他设备兼容,这时就需要一个器件能够把车辆CAN协议转换成串口通信协议。
  埃尔姆公司生产的ELM327芯片加入了CAN、ISO 9141-2、SAE J1850等七种通信协议,可以自动检测车辆通信协议并设置成与车辆一致的协议。蓝牙实现了点对点传输,传输保密性好,是目前最受欢迎的无线通信技术,许多车载产品都使用蓝牙进行通信。
  Android在android.bluetooth包封装了对蓝牙通信的功能丰富的类,例如BluetoothAdapter、BluetoothDevice、BluetoothServer
  Socket、BluetoothSocket等。
  我们不需要外加其他设备,利用Android手机自带的蓝牙API接口,通过APP客户端,就能实现手机与ELM327的通信。
  2.3 软件设计
  2.3.1 命令形式
  我们需要在手机端发送指令给ELM 327,然后ELM 327解析命令,把命令传送给ECU。ELM 327能够解析两种命令形式:AT命令和OBD命令。AT命令又叫内部命令以“AT”开头,因为这是ELM 327内部使用的命令,即不会与ECU进行通信,用于对ELM 327进行设置操作。
  凡是没有以“AT”两个字开头的所有命令都会被认为是汽车OBD命令,OBD命令的格式是固定的,第一个字节是请求的数据类型,第二个字节是请求的实际信息,必须使用十六进制数进行表示,见表1。
  例如获取发动机冷却液温度,模式是01,PID是05,因此我们的请求指令应该是0105。
  2.3.2 代码解析
  我们使用Eclipse结合ADT(Android Developer Tools)进行Android开发,通过BluetoothServerSocket的accept()方法获取BluetoothSocket对象。
  当Android的content中的设备连接正常后,通过BluetoothSocket采用串行数据通信实现与CAN转蓝牙控制器模块的交互[4]。与ELM327的连接代码需要执行在线程里面,使用InputStream读取ELM 327发送过来的数据。
  由于ELM 327发送的数据流中,夹杂着回車符,所以我们应该去掉回车符,把真正有意义的数据组合在一起,当ELM 327发送了“>”时,就说明这条回应信息结束,退出循环。   由于InputStream的read方法是阻塞式方法,所以当我们读取到回应信息的末尾,退出while循环的时候就会一直在read方法这里等待ELM 327发送的新消息。
  3 实验验证
  我们使用ECU模拟器进行程序调试以及故障码的获取。在车辆越来越趋于网络化的趋势下,ECU模拟器是汽车产品开发、调试、生产必备的工具,能为为开发人员节省大量的时间。
  当前车辆上的总线设备越来越多,有的高端车上甚至多到有上百个ECU,而车辆ECU之间通过总线交换数据信息,目前有关车联网系统的开发越来越多,而车联网设备获取车辆信息的接口全部采用的是OBD通用接口,对于产品的调试,都要进行实车的对接测试,但是有时候又找不到各种协议的车辆,或者是每次测试都要启动车辆,去车辆狭小的空间进行操作,很是不方便,ECU模拟器可以解决这些问题。
  ECU模拟器可以模拟车辆OBD接口的大部分协议,由于车辆系统是各个品牌国家独立,所以协议从最早期有很多不同种类的协议,互相不兼容,主要是几大类,基于K线的,基于CAN线的,还有一种是J1850(主要是早期的美国部分车辆使用),目前市面上大部分的是基于K线和CAN线的,大约占有90%多的车辆保有量。通过Android手机发送PID为03的请求指令,故障码信息,如图2所示。
  得到所有的故障码数据,需要故障码库进行比对,得到具体的故障码含义。
  4 结 语
  本设计通过蓝牙ELM 327获取OBD-II故障码,显示在Android应用上,使车主能够及时了解汽车的各项数据和故障,减少因汽车故障发生的交通事故。
  所有的验证都是基于KWP 2000 5BPS初始化协议进行的,以后的工作就是完整各个协议的数据获取,并且把数据发给服务器进行数据的集中储存,便于用户及车企在浏览器也可以查看数据并进行大数据分析。
  参考文献:
  [1] 谢富强,唐耀庚,曹云建.基于单片机的汽车远程监测车载终端硬件设 計[J].微机与应用,2014,6:22-25.
  [2] 李松,王龄.发达国家IVHS研究与发展[J].国外公路,1998(4):19-22.
  [3] 罗峰,孙泽昌.汽车CAN总线系统原理、设计与应用[M].北京:电子工业 出版社,2010.
  [4] 李宁.Android/Ophone开发完全讲义[M].北京:中国水利水电出版社,
  2010.
其他文献
摘 要:文章主要研究了配电网自动化技术应用过程中的注意事项。文章首先从配电网自动化的作用出发,全面阐述了新时期配电网自动化建设的必要性;其次,对配电网自动化技术的主要内容进行研究,深入分析了配电网自动化系统结构;最后,在该基础上结合韶关市配电网自动化建设状况,对其应用过程中的注意事项进行挖掘,望为配电网建设提供一定的参考。  关键词:配电网;自动化技术;内容;应用  中图分类号:TM726 文献标
期刊
摘 要:电力企业的财务管理发挥着企业经营发展的旗舰作用,财务管理体系的有效运行是经营管理的关键环节。构建一套行之有效的财务管理体系,对电力企业战略落实、价值提升,整体管理水平的提高,都具有十分重要的现实意义。文章在对电力企业财务管理现状进行分析基础上,运用财务管理理论和方法,结合财务管理的一般程序,提出了重构财务管理体系的设计思路与原则。  关键词:电力企业;财务管理;创新;设计  中图分类号:F
期刊
摘 要:随着电网规模的日益扩大,人们在日常的生活和工作的过程中,对于电力的依赖程度也在不断的提高,因而人们对整个电力系统的安全性也提出了更高的要求。电力调度自动化系统是控制电网以及对其进行合理监测的重要系统,它与电力系统运行的稳定性以及可靠性具有直接联系,且该系统的能否安全稳定运行,也对电网的整体运行具有直接影响。文章对电力调度自动化系统与数据网安全技术进行了深入的研究,并详细阐述了电力调度自动化
期刊
摘 要:物资计划管理为实现公司经营管理目标发挥着重要作用。开发物资计划审核辅助系统,部署于公司ERP,形成统一管理平台。批次采购计划通过系统自动分析,可以准确分配采购批次,自动提示申报错误。经过实际应用,证明该系统显著降低人工审查工作量和人为操作误差,提高计划申报质量和审核效率。  关键词:物资计划;审核辅助系统;开发;应用  中图分类号:TP399 文献标识码:A 文  1 引 言  电网公司所
期刊
摘 要:我国是农业大国,无论是建国以前还是改革开放以来,农业都是我们人民赖以生存的重要支柱。从农耕文明到现代社会,农业机械的变革和进步是提高我国农业的重要部分。现代机械设计方法在农机设计中随着科学技术的不断进步也有很大的发展和提高。文章将就现代机械设计方法及其在农机设计中的应用过程进行阐述和探讨。  关键词:现代机械设计方法;农机设计;应用研究  中图分类号:F224;F407.6 文献标识码:A
期刊
摘 要:随着游戏产业的不断壮大,游戏开发引擎及工具开始变得免费和易用。文章介绍并分析了当下在中国应用最为广泛的几款商用游戏开发引擎和工具,对各个引擎特性进行了阐述,并从多个方面对这几款引擎进行了对比,为开发者选用合适引擎提供了参考。  关键词:游戏引擎;虚幻;unity;cocos2d;LayaAir;Egret  中图分类号:TP311.5 文献标识码:A 文章编号:1006-8937(2016
期刊
摘 要:当前火力发电是最普遍的提供电能方式,对电厂燃料输送而言,称重设备是将电厂来煤的途径作为基础,使用汽车衡或是轨道衡[1]。在社会的不断发展中,人们的用电需求在不断的提升,电厂容量同时也在不断提升,需要的燃煤会更多,更多的电厂开始对电子皮带秤进行使用。文章主要对电子皮带秤在电厂燃煤输送系统中的安全使用以及维护保养经验,保证电子皮带秤在使用中可以稳定、可靠的运行。  关键词:电子皮带秤;电厂;应
期刊
摘 要:文章讲述了电力变压器的安装与保护调试的相关问题。介绍了电力变压器安装的一般方法和注意事项,对于在安装中出现的问题给出了一些解决措施,介绍了用微机差动保护来对电力变压器做保护调试的一般流程与方法,可作为相关专业的技术人员参考。  关键词:电力变压器;安装;保护调试;注意事项  中图分类号:TM40 文献标识码:A 文章编号:1006-8937(2016)30-0087-02  变压器在电力系
期刊
摘 要:随着现代工业的发展,工业自动化正迅速普及各行业中,控制器的市场需求量也急剧上升,其中搬运器械的应用也广泛普及,主要应用于机械加工、汽车、生产线、货物装卸等方面,能够有效的节约能源并提高运输、生产的效率,满足经济发展的客观要求。PLC综合了计算机、半导体、自动控制、通信网络等各方技术,以微处理器为基础成立发展而来的一种工业通用的自动控制装置,并以其显著的优势活跃在冶金、交通、电力、化工等领域
期刊
摘 要:在大数据的时代背景下,电力大数据及其系统面临前所未有的机遇和挑战。为使电力大数据能够更好的满足资产管理、生产营销等系统的需求,文章介绍了电力大数据的概念和特征,详细的阐述并分析了可视化系统开发关键技术以及其应用,展望了可视化技术的发展趋势。  关键词:电力大数据;可视化;可视化系统;关键技术;技术研究;趋势  中图分类号:TM743 文献标识码:A 文章编号:1006-8937(2016)
期刊