杨甜 栾禹鑫
[关键词]本地检测;数据库;OBD-Ⅱ;bluetooth
引 言
随着电子技术在汽车上的应用范围不断增大,汽车功能越来越完善,性能得到了很大的提升,但同时带来了汽车故障种类多、故障琐碎不易察等问题,本文介绍了基于Android的汽车驾驶状态与辅助检测技术研究系统,实现了本地检测汽车的行驶状态的功能并实时获取汽车的故障代码,利用智能手机的Bluetooth技术与通用汽车诊断接口ELM327通信,使用SQLite数据库缓存用户行车记录,解析ODB协议并对解析的数据进行处理、分析和显示。
随着城市机动车的迅速发展,汽车已成为大众家庭不可或缺的一部分,随着智能手机和ODB的广泛使用,为了减少交通事故的发生,保证车辆行驶的安全,开发一款基于ELM327、汽车、Android模式的汽车运行状态和駕驶行为的检测系统就很有必要了。
一、OBD-Ⅱ系统
车载自动诊断系统on Board Diagnostics -Ⅱ(OBD-Ⅱ),即Ⅱ型车载诊断系统,OBD-Ⅱ程序使得汽车故障诊断简单而统一,汽车维修人员不需要专门学习每一个厂家的新系统,OBD-Ⅱ系统与OBD-Ⅰ系统相比,OBD-Ⅱ增加了新的监测区和检测项目,实时监测发动机、排放控制系统、燃油系统等系统和部件,然后通过不同与排放有关的部件信息,联接到ECU,当出现排放故障时,ECU记录故障信息和相关代码,并通过故障灯发出警告,告知驾驶员。
二、OBDⅡ故障诊断码
故障诊断码是OBDⅡ系统的最大优点之一,它符合SAE国际标准的编码规则要求。例如SAE J2010规定了一个五位标准故障代码,具体含义如表1所示。
三、系统设计与实现
1.ELM327芯片初始化。
·OBD-Ⅱ端口与车辆诊断接口连接。
·设定通信端口、RS232的波特率、溢出时间、等待时间等参数。
·通过AT命令读取OBD-Ⅱ上的数据,确定汽车使用的OBD协议类型,储存协议类型信息,为数据格式转换和故障代码解析提供依据。
2.发送指令。
将读取到的参数指令发送给ELM327芯片,这些数据根据车载OBD-Ⅱ系统的协议类型和OBD-Ⅱ系统的工作模式确定,如汽车行驶速度、发动机转速、发动时运行时长、瞬时耗油、冷却液温度、发动机负荷、剩余油量等,用户可以通过查看图形化界面显示的信息方便快捷地发送指令。
3.转换指令。
将收集到的数据和指令转换成OBD-Ⅱ系统能识别的信号,OBD-Ⅱ系统接收信号,发送应答信息,并将其转换成ELM327芯片能识别的信号。
4.返回结果。
将收到的转换命令后传回的数据进行分析和处理,采集到的数据在Android端分行车数据,行车报告,AT命令3部分来显示,并把这些数据通过Bluetooth通信,用管理系统设定好的文本或短消息的形式显示在用户客户端上,其中瞬时耗油,燃油消耗率EFR,百里耗油的具体计算公式如下:
其中,AF为发动机空燃比,即进入气缸的空气与燃料的比例,每克燃料需要14.7g的空气,DVDT为该油量下可行驶的路程(km),为汽油的密度。
结 语
基于Android平台的汽车状态检测系统可以通过对OBD故障代码的解析得到的数据在Android端进行高效的显示,帮助驾驶员准确的了解汽车的状态和故障问题。
基金项目:西北民族大学国家级大学生创新创业训练计划资助项目(项目编号:201910742055)□