结论:这份档案记录的是一个反方向的 CAN 项目:不是从车上读信号,而是用 ESP32 + MCP2515 把 PC/游戏数据注入真实仪表盘,让一台退役的原车仪表在桌面上工作。源文档最可直接引用的是它的输入字段表——Simhub 集成示例把 13 个字段(车速、挡位、转速、最大转速、左右转向、机油温度、暂停、运行、油量百分比、手刹、ABS、TC)映射进这套固件。硬件与支持的仪表清单同样值得记录,但要注意:多款较新仪表(如 T-Cross)存在组件保护,一旦触发无已知解法。
车辆与适用范围
源文档是一个开源桌面项目,目标是驱动真实仪表盘,主要用于游戏,也可作时钟等用途。硬件极简:一块 ESP32、一个 MCP2515 CAN 模块、一个 12V 电源。
| 项 | 内容 |
|---|---|
| 车型 | 面向多种车型仪表盘(VW PQ35/MQB/PQ46、BMW F/E 系、Mercedes W204/W221、Mini F55/F56/F57、Opel Corsa E 等) |
| 年款 / 市场版本 | 随平台不同;源文档未统一给出年款,示例为 VW Polo 5、Golf 7、Škoda Superb 2、BMW F10/F30 6WA、E60、E46、W204/W221 等 |
| ECU / 改装状态 | 退役仪表盘 + 自制电源/线束;部分平台需逻辑电平转换(如 E46)、数字电位器模拟油位 |
| 采集跨度 | 源文档未给出;无整车采集,数据来自游戏或网页界面 |
| 适用范围 | 仅限源文档明确「已完整测试并支持」的仪表型号;相近平台「可能可用但需按具体车型修改」 |
总线与寻址
物理连接对普通爱好者很友好:ESP32 Devkit 板 + 通用 MCP2515 CAN 模块,另可用项目自制的转接 PCB 或跳线/面包板两种接法。仪表侧接线按平台各有专门文档。
| 项 | 内容 |
|---|---|
| 物理层 | ESP32 板 + MCP2515 CAN 模块 + 12V 电源;E46 需逻辑电平转换 |
| 链路层 / 比特率 | 源文档未给出 |
| 寻址方式 | 源文档未给出 |
| CAN FD | 源文档未提及 |
| 仪表侧接线 | 按平台各有一份接线文档(PQ/MQB/BMW F/E60/E46/MB W204/W221/Opel Corsa E) |
已解码信号
这份主素材不是从整车抓包的信号表,而是注入端的数据字段映射。下表逐条来自源文档给出的 Simhub 集成更新消息格式,是文档中唯一逐字段列出的信号清单,括号内为默认值(若有)。
| 字段 | 键名 | 含义 / 默认值 | 证据 |
|---|---|---|---|
| 车速 | spe |
车速(km/h),取整 | Simhub 更新消息示例 |
| 挡位 | gea |
挡位字符串,空值默认 P |
Simhub 更新消息示例 |
| 转速 | rpm |
当前转速,空值默认 0 | Simhub 更新消息示例 |
| 最大转速 | mrp |
红线转速,空值默认 8000 | Simhub 更新消息示例 |
| 左转向灯 | lft |
左转向指示,默认 0 | Simhub 更新消息示例 |
| 右转向灯 | rit |
右转向指示,默认 0 | Simhub 更新消息示例 |
| 机油温度 | oit |
机油温度,默认 0 | Simhub 更新消息示例 |
| 游戏暂停 | pau |
是否暂停,默认 0 | Simhub 更新消息示例 |
| 游戏运行 | run |
是否运行,默认 0 | Simhub 更新消息示例 |
| 油量百分比 | fue |
计算得到的燃油百分比,默认 0 | Simhub 更新消息示例 |
| 手刹 | hnb |
手刹状态,默认 0 | Simhub 更新消息示例 |
| ABS | abs |
ABS 是否激活,默认 0 | Simhub 更新消息示例 |
| TC | tra |
牵引力控制是否激活,默认 0 | Simhub 更新消息示例 |
读取方法与注意事项
初始化流程在源文档里很明确:下载项目后用 Arduino IDE 打开 Carcluster.ino,在 BEGIN USER CONFIGURATION 段选择目标仪表盘(例如把 #define CLUSTER 1 改成 3 使用 Golf 7 仪表),其余参数按具体仪表配置;项目已内置所需库,无需额外安装。烧录后 ESP32 会开一个名为 CarCluster 的 Wi-Fi 热点(密码 carcluster),连上后跳转 192.168.4.1 选择要接入的网络;若 3 分钟内未配置,则进入串口模式,可配合 Simhub 使用。
两个易踩的坑:一是接上 CAN 模块时可能无法烧录,需先断开再上传;二是部分 ESP 板的串口不支持全速,会出现「板子无响应」之类错误,此时把 SERIAL_BAUD_RATE 改成 460800,并同步修改串口监视器、Simhub 与 Arduino 的上传速度。仪表侧的功能自测可以用网页界面(可设转速、车速等)来验证。Simhub 目前只支持 USB 连接、不支持 Wi-Fi。
证据等级与边界
本档案属于项目登记 + 集成示例。字段表本身是源文档写死的键名,可核对;「某款仪表盘被完整支持」是作者自测结论;至于实车报文,本项目并不产生——它是把游戏/PC 数据注入仪表,信号方向与整车抓包相反。
三处不能外推。第一,字段表是注入协议,不是任何一辆车的 CAN 信号定义,不能当成车型档案使用。第二,平台相近不等于可用:源文档明说「相近平台可能可用,但需按具体车型修改」。第三,组件保护是硬边界:较新的 MQB 仪表(如 T-Cross)在未知时间后会进入组件保护模式,闪屏且多数指示灯失效,目前无已知解法,应避免使用。
关于「安全访问」类问题:本文只整理公开文档登记的注入字段与硬件,未涉及对车辆安全机制的规避;源文档未提供绕过方法,且不建议尝试。
常见问题
CarCluster 是从车上读信号吗?
不是,方向相反。它把 PC/游戏的数据注入真实仪表盘,让仪表显示外部数据;项目目的是在桌面使用退役仪表,而非从整车抓包。
为什么有些仪表盘不能用?
以 VW T-Cross 为代表的新款 MQB 仪表会在未知时间后进入组件保护模式,闪屏且多数指示灯失效,源文档明说目前无已知解法,建议改用较老的 Golf 7 等。
哪些仪表盘支持得最好?
源文档给出的入门推荐顺序是:Mercedes 某几款仪表、BMW F 系仪表、VW MQB 系仪表;并列出已完整测试支持的具体型号,其中 W204/W221、BMW F10/F30 6WA、E46 等标为完整支持,E60 标为「部分支持、开发中」。
注入的信号都有哪些?
源文档的 Simhub 集成示例列出 13 个字段:车速、挡位、转速、最大转速、左右转向灯、机油温度、暂停、运行、油量百分比、手刹、ABS、TC。它们都有默认值,缺省时按默认显示。
延伸阅读
- 车载小仪表开发板选型:微雪 / M5Stack / Seeed 三家横向对照 —— 与本档案的 ESP32 + MCP2515 硬件组合相关的选型话题。
- 同一个「转向灯」在三家车厂是三种实现:车辆状态归一化的坑 —— 解释为何要一张统一字段表去覆盖多平台仪表。
- 赛道仪表的信息架构:从圈速到告警的设计顺序 —— 承接「哪些字段该显示」的设计问题。
- 圆屏还是方屏:车载仪表的显示形态该怎么选 —— 与仪表形态相关。
- opendbc 车型档案:DBC 结构、指纹与安全模式 —— 同批车型档案,对照「读车」与「注入仪表」两种方向。
参考资料
- 项目 01 ——
public-can-dbc-datasets/additional/r00li-carcluster/README.md(本项目车型档案主来源:硬件、支持的仪表清单、Simhub 字段映射与安装说明;本快照仅含此文件)。
说明:本文整理自第三方开源项目的公开文档,仅代表该文档所记录的单个车辆样本,不代表同型号全系车型。CAN 与诊断操作存在风险,任何实车操作前请自行复核并遵守当地法规。
更新记录
首次发布 2026-10-11 最近核对:2026-10-11
发表回复