工具
opendbc 汽车 CAN 报文定义库
comma.ai 维护的 DBC 文件库,描述多个汽车品牌的 CAN 报文与信号,并附带一个依据这些定义解析和构造 CAN 报文的 Python 库;其车型移植指南要求贡献者在 cabana 工具中利用行车记录逆向分析新的报文。基于它的各品牌车型移植代码可解析车辆状态、根据 ECU 固件版本识别车型,并生成 openpilot 的转向、油门和制动报文;面向 comma panda 接口的安全代码则限制哪些报文可以发出。
使用条件与局限
- 审阅时最新版本为 v0.3.1,于 2026-04-22 发布在 GitHub 和 PyPI;所审阅的 master 提交比它多 296 个提交。docs/CARS.md 列出 406 款已知车型:341 款为上游支持,14 款为社区支持,32 款仅支持行车记录仪模式,16 款不兼容,另有 3 款属于自定义类别。README 称它与这份车型列表就是项目的全部文档。
- 软件包要求 Python 3.11 或 3.12,因为 pycapnp 无法在 3.13 上运行。克隆仓库后,test.sh 会安装依赖、用 SCons 构建、运行测试并执行代码检查;尽管 PyPI 上已有 0.3.x 版本,README 路线图仍将 pip install opendbc 列为未完成事项。连接实车时,移植指南以 comma four 和适配具体车型的线束为起点,DBC README 则通过 panda 连接。
- 新的报文定义来自分析者自己的行车记录,并在 openpilot 仓库中的 cabana 工具里分析;README 还提到 commaCarSegments 数据集,其中包含 300 款车型的 CAN 数据。DBC README 建议把不确定的信号解释写成注释,因此这些定义只涵盖贡献者已为各车型记录的内容。
- 采用 MIT 许可。README 称 panda 安全固件启动时 CAN 总线处于静默状态,部分输出模式在正式版固件中被禁用。本次未实际使用车辆控制接口,未载入任何 CAN 数据,也未连接车辆。
关于此条目
- 类型
- 工具
- 类别
- 协议分析工具
- 关联
- 基础工具
- 目标
- 协议
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · commaai/opendbc · 修订 48c7f06
- README.md#L69-L105 GitHub · commaai/opendbc · 修订 48c7f06
- README.md#L137-L141 GitHub · commaai/opendbc · 修订 48c7f06
- opendbc/dbc/README.md GitHub · commaai/opendbc · 修订 48c7f06
- docs/CARS.md GitHub · commaai/opendbc · 修订 48c7f06
- opendbc/can GitHub · commaai/opendbc · 修订 48c7f06
- pyproject.toml GitHub · commaai/opendbc · 修订 48c7f06
- RELEASES.md GitHub · commaai/opendbc · 修订 48c7f06
- LICENSE GitHub · commaai/opendbc · 修订 48c7f06
- https://github.com/commaai/opendbc/releases/tag/v0.3.1
- https://pypi.org/project/opendbc/0.3.1/