搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

MZULALI/xj-scanner

硬件与物联网

用一块 Arduino Nano 和笔记本电脑读取 1991–95 款 Jeep 的故障码与实时发动机数据。

128
15
Python
GPL-3.0
创建于 1 天前

项目介绍

xj-scanner 通过一块廉价的 Arduino Nano,把笔记本电脑连接到 1991–95 款 Jeep 的发动机电脑上。三根线从引擎舱的诊断插头接到 Nano,Nano 再通过 USB 与电脑通信。Python 扫描器负责读取故障码和实时发动机数据、记录一次行驶日志,并运行发动机电脑内置的执行器测试。项目在一辆具体车辆上构建并测试:1994 款 Jeep Cherokee XJ、4.0L 发动机、电脑编号 56030117;同时期的其他 Chrysler/Jeep SBEC、OBD1 电脑应该接近,但不保证可用。

快速使用

更省事的方式是:克隆仓库并在 Claude Code、Codex 或其他编程 Agent 中打开,然后让它帮你接好硬件。Agent 会读取 AGENTS.md,一步步带你完成软件安装、面包板接线、用万用表确认插头孔位,以及第一次读数。

手动操作时,先创建虚拟环境并安装 PC 端依赖,再用模拟 Jeep 验证电脑这一侧是否正常:

python3 -m venv .venv && .venv/bin/pip install -r pc/requirements.txt
.venv/bin/python pc/xj_scan.py --cli DEMO

然后安装 Arduino 工具链,编译并把桥接固件上传到 Nano(串口需替换成你自己的):

brew install arduino-cli && arduino-cli core install arduino:avr
arduino-cli compile --upload -p /dev/cu.usbserial-XXXX --fqbn arduino:avr:nano:cpu=atmega328old arduino/xj_bridge

钥匙打到 ON,读取故障码并把实时数据记录到 pc/logs/:

.venv/bin/python pc/xj_scan.py --cli auto

接线、面包板布局和排障说明见 docs/,插头各孔位的测量参考见 docs/connector.md。

硬件与安全要求

所需零件约 15 美元:5 V 的 Arduino Nano 兼容板及数据线、小面包板、杜邦线、三根足够长的导线、三个 1/4 英寸公头插片和一个万用表。**6 号孔在钥匙打开时带 12 V,绝对不能连接。**在测试车上,它的线与地线同为黑白色,不能靠颜色判断;接线前必须用万用表逐个孔位测量。接线图 标明了 D10、D11 和 GND 分别接到 4、3、2 号孔。

适用范围与限制

README 说明这是业余项目,会直接与发动机电脑通信,使用风险自负。兼容性只在 1994 款 Cherokee XJ 4.0L、电脑编号 56030117 上验证过;作者只表示同族其他 SBEC/OBD1 电脑应该接近。上传命令使用 atmega328old 变体,这对采用旧 bootloader 的 Nano 兼容板有影响。参数 ID、换算公式、OBD1 消息序列和故障码文本来自 GPLv3 的 ChryslerScanner 项目,燃油修正标定则来自 jeep_2.5L 的反汇编工作,见 README 致谢;本仓库同样采用 GPLv3。

HotRepo 点评

该项目于 2026-11-11 出现在 HotRepo 的 Python 新项目榜中,在约 1.5 小时的观察窗口内新增 5 个 Star 和 1 个 Fork,累计达到 105 Star、12 Fork。窗口很短,也没有记录到全部语言日榜名次,因此数据只能说明一次小的初始增长,不足以判断趋势。技术上值得注意的是低成本且文档化的路线:3 美元的 Nano、三根线和一个万用表,外加模拟 Jeep 模式,让用户在碰车之前先验证电脑端是否正常。难点在于硬件识别,README 反复强调 6 号孔带 12 V,这类在具体车辆上实测得到的细节,让项目在它覆盖的单一车型上更具可信度。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。