# PiCCANTE 树莓派 Pico 车辆 CAN 总线工具

> 基于 Raspberry Pi Pico 的低成本 CAN 总线接口固件与硬件设计，用于探索和逆向分析车辆网络。它借助基于 PIO 的 can2040 库，在 RP2040 开发板上运行两路、在 RP2350 开发板上运行三路 CAN 2.0B 通道，并通过 USB 以 GVRET 设备的形式供 SavvyCAN 使用，同时为每个通道提供 SLCAN 设备，经 can-utils 接入 Linux SocketCAN。固件还包括配置命令行、可处理 OBD-II PID 请求（含 ISO-TP 多帧应答）的部分 ELM327 模拟器，以及 Pico W 开发板上的 Wi-Fi、蓝牙和网页界面；仓库另附 OBD-II 适配器的洞洞板与 KiCad PCB 设计及可 3D 打印的外壳。

- 类型：工具
- 目标：协议
- 类别：协议分析工具
- 关联：基础工具
- 来源复核于：2026-10-20
- 收录于：2026-11-02
- 原始资源：<https://github.com/Alia5/PiCCANTE>
- 一手来源：<https://github.com/Alia5/PiCCANTE/blob/62ede82f56ae1cc4addf9ef7b7bf20d447d8d712/Readme.md>
- 目录页面：<https://awesomerea.org/zh/resources/piccante/>
- 记录 JSON：<https://awesomerea.org/resources/piccante/record.json>
- 英文版：[English](https://awesomerea.org/resources/piccante/index.md)

## 使用条件与局限

- 审阅时唯一的正式版本为 v0.0.1，于 2025-05-03 发布，提供适用于 Pico、Pico W、Pico 2 和 Pico 2 W 的 UF2 与 ELF 固件；dev-latest 预发布版本由 main 分支自动重建，当前即由所审阅的提交（2026-01-26）构建。README 将 ELM327 模拟器标为部分实现，缺少 CAN 设置、协议自动检测和过滤功能，并把 SD 卡数据记录和软件 CAN 过滤列为计划中的功能。不支持 CAN FD 和 CAN XL。
- 硬件可使用任意 Raspberry Pi Pico 或 Pico 2 开发板，搭配一到三个 3.3 V CAN 收发器（如 SN65HVD）；需要 Wi-Fi 和蓝牙时推荐 Pico 2 W。README 提醒，大多数收发器扩展板自带 120 欧终端电阻，接入已端接的现有总线前必须拆除，并提醒连接车辆系统时务必谨慎。OBD-II 适配器还可加装降压模块、SD 卡槽以及用于测量电瓶电压的分压电路。
- 从源码构建需要 Raspberry Pi Pico SDK、CMake 3.13+ 和 GCC ARM 工具链，并以子模块形式引入 FreeRTOS-Kernel、can2040 分支、littlefs、TinyUSB、pico-extras 和 FreeRTOS-FAT-CLI；PICO_BOARD 默认为 pico2_w，网页界面是 Web/ 目录中独立的 Svelte 项目。CI 会在推送到 main 及提交拉取请求时为四种 Pico 开发板构建固件，未见测试套件说明。
- 依据 LICENSE.txt 和 README 中的声明采用 GPL-3.0-or-later；README 将仅支持 CAN 2.0B 归因于 can2040 的许可限制，附带的 DHCP 服务器代码带有 MIT 声明。KiCad、STL 和 STEP 硬件文件未另行声明许可证。

## 一手来源

1. <https://github.com/Alia5/PiCCANTE/blob/62ede82f56ae1cc4addf9ef7b7bf20d447d8d712/Readme.md>
2. <https://github.com/Alia5/PiCCANTE/blob/62ede82f56ae1cc4addf9ef7b7bf20d447d8d712/.gitmodules>
3. <https://github.com/Alia5/PiCCANTE/blob/62ede82f56ae1cc4addf9ef7b7bf20d447d8d712/CMakeLists.txt>
4. <https://github.com/Alia5/PiCCANTE/blob/62ede82f56ae1cc4addf9ef7b7bf20d447d8d712/.github/workflows/build_base.yml>
5. <https://github.com/Alia5/PiCCANTE/blob/62ede82f56ae1cc4addf9ef7b7bf20d447d8d712/.github/workflows/PR_check.yml>
6. <https://github.com/Alia5/PiCCANTE/tree/62ede82f56ae1cc4addf9ef7b7bf20d447d8d712/hardware/PiCCANTE-OBD-Dongle>
7. <https://github.com/Alia5/PiCCANTE/tree/62ede82f56ae1cc4addf9ef7b7bf20d447d8d712/src/ELM327>
8. <https://github.com/Alia5/PiCCANTE/blob/62ede82f56ae1cc4addf9ef7b7bf20d447d8d712/LICENSE.txt>
9. <https://github.com/Alia5/PiCCANTE/releases/tag/v0.0.1>
10. <https://github.com/Alia5/PiCCANTE/releases/tag/dev-latest>

## 同分区更多条目：协议

- [VanBus PSA VAN 总线收发库](https://awesomerea.org/zh/resources/vanbus/index.md) · 工具
- [Apple Continuity 逆向工程工具包](https://awesomerea.org/zh/resources/apple-continuity-tools/index.md) · 工具
- [Cabana CAN 总线分析工具（独立版 openpilot-cabana）](https://awesomerea.org/zh/resources/openpilot-cabana/index.md) · 工具
- [eCapture eBPF TLS 明文捕获工具](https://awesomerea.org/zh/resources/ecapture/index.md) · 工具
- [USBPcap Windows USB 抓包工具](https://awesomerea.org/zh/resources/usbpcap/index.md) · 工具
- [cantools CAN 总线数据库工具](https://awesomerea.org/zh/resources/cantools/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
