DenjiG/obd2-scanner

GitHub: DenjiG/obd2-scanner

一款基于 Python 的汽车 OBD-II 诊断 GUI 工具,通过蓝牙 ELM327 适配器读取车辆实时传感器数据和故障码。

Stars: 0 | Forks: 0

# obd2-scanner 一款 Python GUI 应用程序,可通过蓝牙 ELM327 适配器从汽车的 **OBD-II** 接口读取实时数据——包括发动机转速、车速、冷却液温度、诊断故障码等。 ## 功能 - **实时传感器仪表盘** —— 所有受支持的 PID 每秒刷新一次,并根据阈值进行颜色标记(绿色 / 黄色 / 红色) - **诊断故障码** —— 读取已存储和待定的 DTC,点击任意代码可在浏览器中打开详细说明,并支持清除所有代码 - **冻结帧** —— 读取 ECU 在设置故障瞬间捕获的传感器快照 - **就绪监控** —— 显示哪些车载自检已通过(在排放检测前非常有用) - **CSV 日志记录** —— 将带有时间戳的传感器读数记录到 CSV 文件中,以记录驾驶过程 ## 环境要求 - 一辆带有 OBD-II 接口的汽车(欧洲 2001 年以后生产的大多数汽车)。 - 一个 **蓝牙 ELM327** OBD-II 适配器。 - Python 3.10+ ## 安装 ``` git clone https://github.com//obd2-scanner.git cd obd2-scanner python -m venv .venv .venv\Scripts\activate # Windows (PowerShell) pip install -r requirements.txt ``` 适配器的配对及 COM 端口的查找已在 **SETUP.md** 中说明。 ## 用法 ``` python -m obd2_scanner ``` 在应用程序中输入你的 COM 端口(默认:COM5),然后点击 **Verbinden**。 ## 工作原理 - 使用 **python-OBD** 库,通过标准的 **ELM327** 适配器与汽车进行通信。 - 在 Windows 上,蓝牙适配器是通过在你配对时 Windows 分配的传出 **COM 端口**进行访问的(详见 SETUP.md)。 - 仅显示汽车实际支持的传感器——在查询前会通过 `connection.supports()` 进行检查。 - 冻结帧数据使用 Mode 02 OBD-II PID 进行查询,这些 PID 是从现有的 Mode 01 命令定义中动态构建的。 ## 注意事项与常见问题 - 读取实时数据时,**点火开关必须处于开启状态**。 - 蓝牙适配器由汽车供电,因此放在办公桌上时是无法工作的——可以使用 **ELM327 emulator**(模拟器)在无汽车的情况下进行开发(详见 SETUP.md)。 - 支持的传感器因汽车和 ECU 而异。列表中的并非每一个 PID 都会出现。 ## 许可证 MIT。
标签:ELM327, GUI应用, OBD-II, Python, 无后门, 汽车诊断, 物联网, 蓝牙, 逆向工具