这篇热榜里的"车机"不是中控屏,而是一台1994年Jeep切诺基XJ的发动机电脑。美国车主穆罕默德·祖拉利的办法,是只靠一块3美元的Arduino Nano开发板和两个AI模型,把这台比标准诊断口早生两年的车机接到笔记本电脑上。物理连接只有三根导线:从引擎盖下的诊断插头接到那块3美元小板子,板子再走USB插电脑。而它顶掉的,正是过去只有经销商才有的专用设备——那条SCI诊断线,本来就是给DRB扫描仪配的。知乎GitHubGitHub
老车机的门:协议不统一,信号还会"倒着走"
美国车的标准诊断口1996年以后才强制普及,这辆切诺基赶在了前面两年,路边随便一个蓝牙解码器根本没有能插的地方。它的发动机电脑走克莱斯勒自家的SCI串行总线:波特率7812.5,8个数据位、无校验、1个停止位,而且电信号极性与普通串口正好相反——钥匙打开时线路反而停在低电平,起始位是高。这套转换不需要专用硬件,Nano用软件就处理了反相;三根线插进6孔诊断口的4、3、2号孔位,第一次连接就通了。起初这台电脑只会"说"两件事:冷却液温度和电瓶电压。知乎GitHub小红书
AI真正干的活:啃资料、写驱动,也会拿错参照系
分工很清楚:Claude负责诊断出主意,Codex负责写代码。用祖拉利自己的话说,他本人"只负责接线和开车"。但AI犯的错也很具体:燃油修正一度显示多加了22%的油,后来靠行驶记录才证实是工具读错了换算比例,混合气其实一直正常。做法随即改成实地采集:让Claude在试车时分别记录车辆以40公里和80公里时速行驶时的发动机参数和故障码,拿真实数据把诊断收回来。小红书哔哩哔哩知乎
还有一点要说在前面:老协议并不是AI从零破译的,参数ID、换算公式、OBD1报文顺序和故障码文字,早就由László Dániel的开源项目ChryslerScanner公开过。真正的新东西是这套仓库照着AI助手写的:克隆xj-scanner,用Claude Code或Codex打开,说一句"帮我把它接到我的Jeep上",编程助手就会带着完全没碰过面包板和万用表的人,一步一步接线、测孔位、完成第一次读数。从接上到调通,整个逆向与调试前后约一周。GitHubGitHub小红书
刷不进固件,就把代码写进旁边的EEPROM
数据齐了以后,问题指向标定表:这辆车的电脑是加州版,在尾气检测对应的负载下大幅削减燃油,导致NOx偏高;联邦版则不会。常规动作是把改好的标定刷回去,但这台电脑比能重新刷写固件的版本还早出生了几个月,硬件上就进不了编程模式。哔哩哔哩知乎
绕路由此出现:Codex先试着经同样三根线向电脑发送小程序,发现RAM会被覆盖,就改把程序写进一块EEPROM存储芯片,不碰编程芯片也让车载电脑跑起了自定义代码。这台电脑在此之前还第一次被整体"读"了一遍:整个32KB程序可以逐字节抄回电脑,大约需要18分钟。第三次站上检测台,25英里时速工况的氮氧化物读数是0,上限539;15英里时速一项读数79,上限517——过了。哔哩哔哩GitHub知乎
边界、安全线和这笔账
哪些结论得先打折扣:目前只有车主自述,还没有别人复现过同一套办法,也没有公开的官方检测单;写进EEPROM的那段代码到底干了什么,视频同样没有讲清——是代码修好了车,还是那天车况恰好对上了,现在还说不准。仓库自己的口径同样保守:这套办法只在一辆车上做过构建和实测——1994款切诺基XJ、4.0升、电脑编号56030117,其他1991至1995年的SBEC车型被认为"接近",但作者要求动手前先量自己的插头。安全线必须原样传达:诊断口6号孔位在钥匙打开时带12V电,永远不要往它上面接任何东西,而且测试车上它的线色和地线一样,颜色不作数,每个孔位都得用万用表量过。知乎GitHubGitHub
账也好算:此前每次盲调失败,都要再交将近100美元的复检费。而开发板、面包板、跳线、接线端子和万用表全套下来不到15美元——仓库列的零件清单写的就是"What you need (about $15)"。老车修不起的真正原因从来不是零件贵,是车主手里没有数据——过去数据是4S店专用设备和老师傅经验的护城河,现在水位降了。至于"改标定过检测"合不合规,知乎11月14日已经开了问题讨论;就单个案例看,它更像一次把排放拉回达标值的校准修正,而不是绕开检测的作弊,但这层定性没有权威结论,只能存疑观察。知乎GitHub
把这件事放回1996年这个分水岭看更清楚:在那之前,美国老车各家协议互不相通、资料散佚,维修全靠专用设备加老经验。这次AI加一块小板子,算是给1996年前的老车补上了一个迟到30年的"通用诊断口"。对普通用户的信号很直接:家里的老设备别急着扔,先问问AI认不认识它的协议——很多协议的翻译工作,开源世界早就做完了,缺的只是把它变成操作的那一步。哔哩哔哩