成为机械师...使用 Android 和 Linux!

作者:Bill Childers

“尽快检查发动机”—汽车仪表盘上的那个橙色小灯可能是现代汽车最令人恼火的事情之一。您是否曾经在旅途中遇到它亮起,并想知道这只是像汽油箱盖松动这样的琐事,还是非常严重的事情,活塞随时可能从发动机缸体的侧面射出?好吧,感谢一个廉价的小硬件和一个 Android 平板电脑,我将帮助您解码汽车上的那个橙色小灯。

人类拥有汽车已经超过 100 年了,但我们拥有计算机监控和控制发动机运行只有大约 30 年左右的时间。第一批计算机控制系统很原始、难以使用且价格昂贵。每家汽车制造商都有自己的计算机系统、协议、连接器和故障代码定义。我在 20 世纪 80 年代末和 90 年代初当过机械师,我清楚地记得那些系统——当然不是怀念,而是清楚地记得。其中一些系统需要您做一些疯狂的事情,比如用一根电线跳接一个连接器,然后打开和关闭钥匙三次,并观察检查发动机灯的闪烁。您必须准确地计算闪烁的次数,然后在维修手册中查找闪烁的“故障代码”,并且您可能会得到关于车辆哪里出现问题的线索。那些早期的诊断系统让习惯于排除发动机机械故障而不是电子故障的经验丰富的机械师不寒而栗。随着时间的推移,制造商使系统变得更好。美国汽车工程师协会在 1996 年将连接器、协议和故障代码标准化,由此,我们有了今天的系统:OBD-II(车载诊断,第 2 次修订)。

OBD-II 基础知识

1996 年之后在美国销售的任何汽车都使用 OBD-II 计算机系统,因此今天道路上的大多数汽车都配备了该系统。由于 OBD-II 的标准化和历史,已经发布了许多工具来与该系统配合使用。由于 OBD-II 定义了连接器和协议,这意味着您既需要一个硬件设备来连接连接器,又需要一些软件来使用该协议。

我使用的硬件是 Soliport ELM327 蓝牙 OBD-II 扫描仪(请参阅本文“资源”部分中的亚马逊链接)。它是一个非常便宜(不到 20 美元)的适配器,可以插入仪表板下方的 OBD-II 端口,直接从汽车获取电源,并将 OBD-II 特有的信号转换为蓝牙串行信号。市场上有其他 OBD-II 扫描工具。有些只是普通的电缆,可以直接连接到计算机的 RS-232 串行端口,另一些则非常高级,可以完全桥接到 Wi-Fi 网络。而且,还有其他蓝牙 OBD-II 扫描工具制造商,但只需确保您获得的任何产品都基于 ELM327 芯片组。

您需要的另一件硬件是某种计算机。任何配备蓝牙的 Linux 笔记本电脑都可以胜任,但是当您处理狭窄的汽车驾驶舱时,这种外形尺寸有点笨重。(如果您想使用笔记本电脑,请参阅“使用笔记本电脑扫描您的 OBD-II 系统”侧边栏。)我个人的偏好是使用 Android 设备来解释来自汽车 OBD-II 系统的信号。我为此使用 Nexus 7 平板电脑,但任何 Android 设备都应该可以工作。我也为此使用过 Motorola Droid RAZR 和最早的 HTC G1 Android 手机。

图 1. 行业工具:Nexus 7 平板电脑和 Soliport 蓝牙 OBD-II 扫描仪

在软件方面,我在 Android 上为此选择的是 Torque,这是一款出色的应用程序,它不仅可以收集所有 OBD-II 统计数据,还可以以多种方式绘制图形和记录它们。(还有一个免费版本,Torque Lite,它具有完整版本的大部分功能。)从 Google Play 商店获取其中一个。

请注意,此解决方案仅用于对汽车 OBD-II 系统进行只读访问。您无法使用此适配器修改车辆的运行参数,不幸的是(或者幸运的是,也许,因为很容易把事情搞砸)。使用新的燃油曲线或点火正时图刷新汽车的计算机是一项重要的练习,需要具有不同电压电平和不同软件的适配器。所以,不用担心用这个解决方案会损坏您的汽车——您只是在“窥视引擎盖下”。

使用笔记本电脑扫描您的 OBD-II 系统

虽然可以使用笔记本电脑来执行与 Android 设备相同的功能,但这有点复杂,因为 Linux 笔记本电脑上的蓝牙协议栈需要比简单地配对 Android 设备更多的处理。但是,如果您对命令行和蓝牙命令(如 rfcomm)感到满意,那么这绝对是可行的,并且有一些不错的 OBD-II 软件包,如 pyobd 和 openobd。您将无法获得 Torque 的一些增值功能,如加速度计和 GPS 集成,但您仍然可以将笔记本电脑用于诊断目的和数据记录。

使用旧的诺基亚互联网平板电脑扫描您的 OBD-II 系统

在 2008 年 12 月的 LJ 杂志中,我写了一篇题为“黑客诺基亚互联网平板电脑”的文章,我谈到了黑客和扩展诺基亚 N800 平板电脑的方法。事实证明,N800 和 N810 有一个名为 Carman 的应用程序,它旨在与有线 OBD-II 适配器一起工作,但它与 Soliport 蓝牙扫描仪配合使用也很好。Carman 过去在 Maemo 存储库中。我不再有可用的 N800,所以我现在无法检查,但是当我的 N800 确实工作时,我曾使用它几次来诊断汽车。所以,如果您有一个诺基亚设备放在抽屉里积灰,请把它拿出来使用!

使用 Torque 和 Soliport 蓝牙适配器

Soliport 适配器包装盒中附带一张小 CD-ROM,但与 Android 设备一起使用时不需要它。要开始使用,您首先需要找到汽车上的 OBD-II 端口。在美国销售的大多数汽车中,端口都在汽车驾驶员侧仪表板下方。找到端口,并将 Soliport 插入其中。

接下来,启动汽车,因为 OBD-II 端口只有在汽车点火开关打开时才会供电。(请确保您的车库门是打开的。我不想收到您亲戚的仇恨邮件,抱怨您是如何因一氧化碳中毒而窒息的!)接下来,您需要完成标准的蓝牙配对过程,将您的 Android 设备与 Soliport 适配器配对。(如果找不到说明书,配对码是 1234——巧合的是,它与我的行李箱上的组合相同。)

一旦您的 Android 设备与 Soliport 配对成功,您就可以启动 Torque 了。在您的 Android 设备上启动 Torque,您将看到 Torque 主屏幕。

图 2. Torque 主屏幕

设置 Torque

现在您已经启动了 Torque,选择屏幕左下角的小“设置”滑块,然后选择“OBD2 适配器设置”。将连接类型设置为蓝牙,并在提示时选择 Soliport。返回主设置屏幕并选择您想要的单位(英制或公制)以及您选择的任何其他首选项,然后翻回到 Torque 主屏幕。

接下来,您将为您的车辆创建一个“配置文件”。像以前一样从主屏幕选择设置滑块,然后选择“车辆配置文件”和“创建新配置文件”。然后,填写有关您车辆的相关信息。Torque 使用此信息来计算可以计算的内容,如马力、燃油经济性和其他指标。完成后,返回主屏幕。

检查故障代码

让我们从对您的汽车进行基本诊断开始。在主屏幕上,选择“故障代码”,然后按下大放大镜以开始扫描您汽车的计算机以查找故障代码。如果您的检查发动机灯亮起,您可能会在这里找到以代码形式表示的问题。我父亲的 2001 款雪佛兰 Silverado 皮卡正在显示检查发动机灯,我用 Torque 对其进行了快速扫描。结果故障代码为 P1416。快速 Google 搜索该故障代码显示它是辅助空气阀,组 2。事实证明,那是发动机顶部,乘客侧的一个小型烟雾系统阀门。Amazon.com 以 37 美元的价格提供了该特定部件,我们在两天内将其送到了他家。

不久之后,我妻子 Durango 的检查发动机灯亮起,我使用该工具扫描了她的汽车。她的汽车返回了一个 P0440 代码,这意味着“蒸发排放控制系统故障”。我在互联网上搜索了更多信息,发现此代码最常见的原因是燃油加注口盖破损或安装不当。事实证明,情况确实如此——她的燃油加注口盖没有完全拧紧。我拧紧了盖子,并通过 Torque 应用程序清除了代码,它再也没有返回。

获取性能数据

上面列出的这两个案例足以支付 Soliport 适配器和 Torque 应用程序的成本,但 Torque 可以做更多的事情。Torque 可以从 OBD-II 传感器以外的来源提取数据。它还可以轮询您的 Android 设备的加速度计和 GPS。这意味着它可以进行性能计算,例如 0-60 英里/小时时间(或 0-100 公里/小时时间)、1/4 英里时间,甚至马力计算。这需要您在设置时将汽车的数据正确输入到车辆配置文件中,特别是车辆重量(包括您作为驾驶员的重量,以及您可能在车内的任何其他物品)。如果您进行性能测试,请确保安全操作——并且不要违反您所在地区的任何法律。

但是,我认为 Torque 和 Soliport 适配器可以做的最酷的事情之一是它们可以充当您汽车的辅助仪表板。通过 OBD-II 传感器的任何信息都可以记录、绘制图形或放置在数字刻度盘上。您也可以选择如何呈现该信息——包括图形和刻度盘的大小和位置。此信息可能非常宝贵,例如,显示当前的发动机歧管真空度。通常,在巡航条件下,歧管真空度越高意味着燃油经济性越高,因此在长途旅行中拥有此仪表可能会很方便。

图 3. Torque 的虚拟仪表板

Torque 还具有其他功能,例如能够记录您的数据以供将来分析。它还可以绘制该数据的图形,并将其与您的 GPS 位置和加速度计数据相关联。如果您恰好是业余赛车手,并且想获得有关您的汽车在赛道上某些点的性能信息,这将非常有用。大多数人不需要这种能力,但很高兴知道 Torque 的开发人员考虑到了这一点。进行这些计算所需的所有数据都在那里,只需要将它们粘合在一起。

结束语

汽车中的计算机控制系统曾经是神秘的、过于复杂的、即使对于最有经验的机械师来说也是难以捉摸的技术巫术。扫描工具是专有的,成本数千美元,机械师需要为每家汽车制造商配备专用工具。随着 OBD-II 和廉价计算机的出现,现在很容易揭开汽车的神秘面纱并进行诊断。不要让奇怪的术语迷惑您——就像您已经熟悉的计算机一样,汽车只是技术和机械的集合,您可以像排除计算机故障一样排除汽车故障。

资源

Soliport ELM327 蓝牙 OBD-II 扫描仪:http://www.amazon.com/Soliport-Bluetooth-OBDII-Diagnostic-Scanner/dp/B004KL0I9I

Torque Android OBD-II 扫描仪应用程序:https://play.google.com/store/apps/details?id=org.prowl.torque&hl=en

Torque Lite (免费) Android OBD-II 扫描仪应用程序:https://play.google.com/store/apps/details?id=org.prowl.torquefree&hl=en

OBD-II 故障代码查询:http://www.obd-codes.com/trouble_codes

PyOBD 主页:http://www.obdtester.com/pyobd

OpenOBD 主页:http://sourceforge.net/apps/mediawiki/openobd/index.php?title=OpenOBD

Nokia N800 上的 Carman:http://tabletblog.com/2007/02/carman-bluetooth-elmscan-5-and-n800.html

加载 Disqus 评论