基于 OBD-II(ELM327)的跨平台行车数据可视化软件。实时读取车辆传感器数据,提供可自定义的仪表盘布局、历史曲线与故障诊断能力。
- 实时数据:通过 ELM327 适配器(USB / 蓝牙 SPP / RJ45 网络)读取车速、转速、水温、油耗等 OBD-II 传感器数据
- 采样间隔可调:设置页可调读取间隔 100–2000 ms(步进 50 ms,默认 200 ms),改动即时重订阅生效;实际每 PID 刷新率仍受适配器吞吐限制,约等于 max(设定间隔, PID 数 × 单次往返耗时)
- 自定义仪表盘:卡片化布局(折线图 / 柱状图 / 数值),支持编辑模式自由拖拽、缩放、预设与导入导出
- 故障诊断:读取 / 清除故障码(DTC)、读取 VIN
- 多语言:简体中文 / English
- 主题:深色 / 浅色模式切换
- 模拟模式:无实车环境下内置驾驶仿真,可直接开发与演示
ELM327(USB / 蓝牙 / RJ45)
↓
Python sidecar(python-OBD 采集,stdio JSON-RPC)
↓
Electron 主进程(进程管理 / IPC)
↓
渲染进程(Vue 3 + Pinia + 自定义仪表盘)
- 数据采集由 Python sidecar(
sidecar/)承担,通过 stdio JSON-RPC 与主进程通信 - 三层架构:主进程(
electron/)/ 预加载 contextBridge / 渲染进程(src/) - 共享契约位于
shared/ - 安卓端(
android/)以原生 WebView 承载同一套渲染层,采集换成 Java 侧 ELM327 引擎(蓝牙 SPP / USB 串口 / 网络),不使用 sidecar
# 安装依赖
pnpm install
cd sidecar && python3 -m venv .venv && .venv/bin/pip install -e ".[dev]"
# 启动开发(默认模拟模式)
pnpm dev测试:pnpm test:all(web + node + sidecar)
品牌图标:pnpm gen:icons 从 scripts/gen-icons.ts 中的单一字形定义生成全套产物(桌面 build/icon.*、安卓启动器图标与启动图、Web favicon 与 PWA 图标、仓库 assets/logo.svg),依赖 rsvg-convert 与 ImageMagick。
版本号遵循 语义化版本(vX.Y.Z),由提交信息(Conventional Commits)自动计算:
pnpm release:dry # 预览将要产生的版本号与变更
pnpm release # 更新版本号 + 生成 CHANGELOG.md + 打 tag(如 v0.2.0)
pnpm release:push # 推送提交与 tag,触发 CI 自动构建并发布 Release版本规则:
| 提交类型 | 版本变化 |
|---|---|
feat:(新功能) |
minor(0.1.0 → 0.2.0) |
fix:(修复) |
patch(0.1.0 → 0.1.1) |
feat!: / BREAKING CHANGE |
major(0.1.0 → 1.0.0) |
| 其他(docs/chore/ci...) | 不产生新版本 |
注意:
release会基于 最后一个版本 tag 之后 的提交计算版本,且要求提交信息符合常规提交格式。
| 平台 | 发行格式 | 说明 |
|---|---|---|
| Windows | NSIS 安装包 / 便携版 / MSI | build:win / build:win:nsis / build:win:portable / build:win:msi |
| macOS | DMG / ZIP | build:mac / build:mac:dmg / build:mac:zip(ZIP 供自动更新) |
| Linux | AppImage / deb / rpm / snap / tar.gz | build:linux 或按需 build:linux:deb 等 |
| Android | APK(arm64-v8a / armeabi-v7a / x86_64) | build:android / build:android:release;原生 WebView 承载渲染层,OBD 采集由 Android 侧蓝牙 SPP / USB 串口 / 网络桥接实现(不使用 sidecar) |
sidecar(PyInstaller)产物与平台绑定,跨平台打包需在各目标平台上分别执行(Windows 上打 Windows 包、macOS 上打 macOS 包)。
pnpm build:sidecar # 先构建当前平台的 sidecar
pnpm build:linux # 构建 Linux 全目标(AppImage + deb + rpm + snap + tar.gz)
pnpm build:win # 构建 Windows 全目标(NSIS + portable + MSI)
pnpm build:mac # 构建 macOS 全目标(DMG + ZIP)
# 也可按需指定单一格式,如 pnpm build:linux:deb目标格式构建依赖对应平台工具链(deb/rpm 需 fpm、snap 需 snapcraft、MSI 需 WiX、macOS 需在 macOS 上构建)。
本软件以 GNU General Public License v2.0(GPL-2.0) 发布,全文见 LICENSE。
数据采集由 Python sidecar 承担(依赖 python-OBD,GNU GPL v2),随软件整体分发。使用、修改与再分发请遵守 GPL-2.0 条款。
Copyright (C) 2026 OpenRoadScope contributors
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.