一辆1994年的Jeep Cherokee,车龄32年,连续几次加州尾气检测都过不了。最后帮它过关的,是一块Arduino Nano、总共不超过15美元的物料,以及Claude和Codex。

打开网易新闻 查看精彩图片

车主Muhammad Zulali把整个过程拍成了视频:从检测失败,到接上笔记本读出ECU数据,再到调校并修好排放问题。Claude负责给诊断思路,Codex负责写代码。他自己的说法是:“Claude做了大部分诊断工作,Codex几乎包办了所有内存层面的活,我只负责接线和开车。”

问题出在氮氧化物(NOx)。这辆车在特定测试速度下排放超标,最初是在25英里/小时这一档失败。Zulali调整了氧混合比之后,25和50英里/小时两档都失败了——情况反而更糟。他承认自己基本是在盲调,而每跑一次官方污染测试要花掉近100美元。

第一道坎是怎么让老车和新笔记本说上话。Claude告诉他,这台车的发动机通过克莱斯勒SCI总线通信,速率约7,800波特,电平极性与普通串口相反。Arduino Nano正好能完成所需的电平反转,把数据接到现代电脑上。Nano插在面包板上,几根必要的线里有三根接到Cherokee的6针诊断接口。

第一次连接成功了,但系统最初只能读到冷却液温度和电瓶电压。Zulali想要更多数据点,还想要一些控制能力来解决排放问题。中间有过几次误导——参照其他车型的数据,系统一度判断发动机“混合气过浓”、多喷了22%的燃油。之后他让Claude收集试车数据,AI在25和50英里/小时的行驶中记录发动机数据和故障码,也被放开来控制燃油压力之类的参数。

拿到看起来可信的诊断和方案后,Zulali想用AI调过的代码重刷主ECU。不巧的是,这台车的电脑比可重刷固件的版本早了几个月。于是他让Codex把自定义代码注入附近的EEPROM并运行。

整个过程中,他没有找修车师傅,也没用克莱斯勒经销商的专用工具。除了视频,他还建了一个GitHub仓库,项目名叫xj-scanner,以GPLv3协议免费发布。