Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

104 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenRoadScope

OpenRoadScope

基于 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.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages