Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
awesome-canbus — :articulated_lorry: 精选的 CAN 总线工具、硬件和资源,面向网络安全研究人员、逆向工程师和汽车电子爱好者。 | Kitploit
工具/GitHubGitHub/idoka/awesome-canbus
嵌入式系统安全网络映射漏洞分析逆向工程模糊测试硬件黑客渗透测试硬件与物联网安全学习与教育精选资源
GitHubidoka/awesome-canbus

awesome-canbus

3.4k41013天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

🚛 精选的 CAN 总线工具、硬件和资源,面向网络安全研究人员、逆向工程师和汽车电子爱好者。

查看仓库

Awesome CAN 总线 Awesome

GitHub stars GitHub forks GitHub watchers GitHub contributors GitHub pull-requests merged GitHub latest commit

CAN logo

🚜 适用于 CAN 总线的超棒工具、硬件和资源

这份精选列表可帮助你对 CAN 总线设备进行逆向工程,并特别侧重于汽车嵌入式控制器软件和通信理解。

注意 标记为 “🔝” 的项目为强烈推荐。

此列表的永久 URL:https://github.com/iDoka/awesome-canbus

目录

  • 黑客与逆向工程工具
  • 测试设备与模拟器
  • 协议
    • OBD-II 工具
    • UDS
    • ISO-TP
    • J1939 工具
    • J2534 工具
  • 实用工具
    • 通用
    • Linux 相关
    • GUI 工具
    • TUI 工具
    • Python 工具
    • CAN-over-IP
    • 其他实用工具
    • 库
    • 示例
  • CAN 数据库
    • 格式 (DBC, KCD)
    • 转换器与解析器
    • 仅 DBC
  • 硬件
    • ARM
    • Arduino
    • Espressif Systems (ESP8266, ESP32)
    • SBC
    • 用于 ASIC 和 FPGA 的 IP 核
    • 其他硬件
    • 硬件相关工具

黑客与逆向工程工具

  • 🔝CarHackingTools - 常见汽车黑客工具与脚本的集合,可帮助快速启动汽车研究和黑客攻击。
  • 🔝Caring Caribou - 一个友好的 CAN 总线汽车安全探索工具。
  • 🔝CAN_Reverse_Engineering - 面向控制器局域网(CAN)协议的自动化载荷逆向工程流水线。
  • 🔝carhacking - 汽车黑客脚本和文档集合。
  • ReCAN - 控制器局域网逆向工程。
  • parse_can_logs - 解析 CAN 日志并在绘图上可视化数据流。
  • reversegear - 汽车网络离线逆向工程工具。
  • 🔝CANalyzat0r - 针对专有汽车协议的安全分析工具包。
  • 🔝CANToolz - 黑盒 CAN 网络分析框架。
  • GVRET - 通用电动汽车逆向工程工具(Arduino 固件)。
  • UDSim - 统一诊断服务模拟器和模糊测试器(uds-server 的后继者)。
  • uds-server - CAN UDS 模拟器和模糊测试器。
  • CANalyse - 一个车辆网络分析与攻击工具。
  • canhack - 一个底层 CAN 协议黑客库。
  • canDrive - 用于破解你的汽车的工具。
  • Carpunk - CAN 注入工具包,是 CANghost 的后继者。
  • CANghost - 用于入侵 CAN 总线的自动化脚本。
  • canTot - 快速随意的 CAN 总线黑客框架。
  • CANanalyze - 该框架可用于与 CAN/ISOTP/UDS 等汽车协议进行交互。
  • Scapy - 基于 Python 的交互式数据包操作程序与库。支持 CAN/ISOTP/UDS/GMLAN 以及许多其他协议。
  • CAN-RE-Tool - 用于基于 CAN 总线通信的系统的逆向工程工具。
  • 🔝can-explorer - 一个辅助逆向工程的 CAN 总线可视化工具。

测试设备与模拟器

  • canerrsim - 使用 SocketCAN 进行错误条件测试的 CAN 总线错误帧模拟器与监视器。
  • ECU-simulator - 模拟某些车辆诊断服务的工具。可用于测试支持 UDS (ISO 14229) 和 ISO-TP (ISO 15765-2) 协议的 OBD-II 适配器或测试工具。
  • ELM327-emulator - ELM327 模拟器,用于测试通过 ELM327 适配器与 OBDII 接口的软件,支持多 ECU 模拟。

协议

OBD-II 工具

  • DDT4All - 用于创建你自己的 ECU 参数界面,并通过廉价的 ELM327 接口连接到 CAN 网络的工具。
  • ELM327SLCAN - 基于 ELM327 的车辆 CAN 总线嗅探器。
  • Arduino-OBD2-Async - 支持异步数据请求的 Arduino OBD 库。
  • CAN-Shark - 使用 Arduino + MCP2515 扩展板处理 OBD PID。
  • OBD2-Scantool - 一个用于读取车辆 OBD2 信息的 Python 扫描工具。
  • O2OO - 符合 OBD-II 规范的汽车诊断工具。它将来自汽车的传感器数据读入 SQLite 数据库。
  • freediag - 用于符合 OBD-II 规范的机动车辆的免费诊断软件。
  • pyvit - Python 车辆接口工具包 (已归档).
  • OBDium - 一款车辆诊断应用,可通过 ELM327 适配器获取实时 OBD-II 数据、进行故障码分析以及离线 VIN 解码。

UDS

ISO 14229 标准

  • python-UDSonCAN - UDS ISO-14229 标准的 Python 实现。
  • uds-c - 统一诊断服务(UDS)和 OBD-II C 库。
  • iso14229 - 用于嵌入式系统的 UDS ISO-14229 服务器和客户端的 C 实现。

ISO-TP

ISO 15765-2 标准

  • isotp-c - ISO-TP (ISO15765-2) CAN 协议的 C 语言实现。
  • python-can-IsoTP - ISO-TP (ISO15765-2) CAN 协议的 Python 实现。
  • CanTp - 根据 AUTOSAR 规范 v4.4.0 实现 CanTp 模块 (ISO 15765-2)。
  • aioisotp - 面向 asyncio Python 的 ISO-TP 实现。

J1939 工具

SAE J1939 标准

  • J1939-CANBUS - 支持的发动机:CAT、Perkins、Wartsalla、MTU、VOLVO。
  • J1939-Framework - 用于处理客车、轿车和卡车行业中 CAN 总线上的 J1939 帧的框架。
  • python-j1939 - 依赖 python-can 包的 SAE J1939 支持。提供按 PGN 的编解码和过滤,但不提供完整的 SPN 解码。
  • can-utils with J1939 support - can-utils 的分支,附带一些用于 J1939 的额外工具。
  • test-can-j1939 - 如何在 Linux 上使用 CAN J1939。
  • libj1939 - 用于处理 J1939 帧的库(旨在用于微控制器)。
  • Pretty-J1939 - 用于美化打印 J1939 日志的 Python 库和脚本。
  • TruckDevil - 一个用于与在 CANBUS 上使用 J1939 通信的 ECU 进行交互并对其评估的工具和框架。
  • python-can-j1939 - 该包为 Python 开发者提供 SAE J1939 支持。
  • Open-SAE-J1939 - SAE J1939 协议,可免费用于嵌入式系统或带 CAN 总线的 PC。
  • embr::j1939 - 适用于嵌入式 MCU 的精简、可移植 J1939 库。

J2534 工具

SAE J2534 标准

  • j2534-tcp - 基于 TCP/IP 的虚拟 J2534 驱动程序。
  • SharpWrap2534 - 终极 J2534 封装套件。
  • gocanflasher - 支持 J2534 的 Trionic 5/7/8 CAN 总线刷写器。

实用工具

通用

  • 🔝cantools - CAN 总线网络的 CLI 工具集合。
  • BUSMASTER - 一个开源软件工具,用于模拟、分析和测试 CAN 等数据总线系统。
  • signalbroker-server - 使用 gRPC 读取和写入 CAN/LIN/flexray 及其他总线的工具,可使用你偏好的语言。
  • CANiBUS - CAN 设备车辆研究服务器(OpenGarages.org)。
  • CANopenTerm - 用于开发、测试和分析 CANopen CC 与 CAN CC 网络及设备的工具。

Linux 相关

  • 🔝Linux CAN Utils - Linux-CAN / SocketCAN 用户空间实用工具。
  • Linux 中的 CAN 支持 - Linux 内核支持 CAN 硬件接口。
  • SocketCAN - Linux 内核支持(内核 >= 2.6)。
  • J1939 - Linux 内核支持(内核 >= 5.4),另请参阅 can-j1939 内核模块。
  • elmcan - 适用于基于 ELM327 的设备的 Linux SocketCAN 内核驱动程序(内核 >= 6.0)。
  • can-isotp - ISO 15765-2:2016 CAN 传输协议的 Linux 内核模块(Linux 内核 >= 5.10 的一部分)。
  • gs_usb - 基于 WCID 的 Linux/Windows CAN 驱动程序,适用于 Geschwister Schneider USB/CAN 设备和 candleLight USB CAN 接口。

GUI 工具

  • 来自 GENIVI 的 CANdevStudio - 使用拖放式 GUI 和互连功能块的 CAN 仿真软件。
  • CANAL-View - 用于 TouCAN USB 转 CAN 总线转换器的 Qt GUI。
  • wxCAN-Sniffer - 带有动画和图表的 CAN 总线嗅探器(PC 端)。
  • CANLogger - CAN 总线记录和分析工具。
  • Seeed-USB-CAN-Analyzer - 适用于无名中国 USB-CAN 适配器的闭源二进制文件。
  • CANtact-app - CANtact 硬件接口的桌面应用程序。
  • SavvyCAN - 基于 Qt 的跨平台 GUI 分析工具。支持 SocketCAN 兼容接口。
  • openCanSuite - 一组用于分析、仿真和可视化 CAN 系统的工具。
  • 来自 SmartGauges 的绘图仪和扫描器 - 用于汽车系统的扫描与可视化工具。
  • ICSim - OpenGarages 为 SocketCAN 开发的仪表盘模拟器。
  • CANgaroo - 基于 Qt 的 CAN 总线分析软件。
  • CAN-X - C# CAN 总线分析软件。
  • CAN-Monitor-qt - 通用 CAN 总线监控程序。
  • CANBUS-Analyzer - 开发工具/配套软件,用于以图形方式显示和分析已知和未知的 CANBUS 数据包。
  • SLSS-CANAnalyser - SLSS CANAnalyser 是一款 Windows CAN 总线分析软件,用于显示、记录和评估 CAN 总线信号。
  • TSMaster - 用于汽车总线监控、仿真、测试、诊断、标定等的强大开放环境 (闭源).
  • CAN++ - 用于接收和发送 CAN 总线消息的 Windows 程序。导入 CAN 数据库文件(*.dbc 或 *.kcd)后,CAN 信号将以符号形式显示。此外,它们还可以以图形(波形)形式显示。

TUI 工具

  • socanui - 面向终端的 SocketCAN 用户界面。
  • canscope - CAN 总线检查和逆向工程工具。

Python 工具

  • 🔝cantools - Python 的 CAN 总线工具。
  • 🔝python-can - CAN 包为 Python 开发者提供控制器局域网支持。
  • strym - 用于配合 USB-CAN 接口的实时 CAN 数据记录和可视化工具。
  • canviewer - 允许检查传入 CAN 总线消息的 GUI 程序,消息可来自录制的 CAN 总线数据或实时数据。
  • can4python - 用于在 Linux SocketCAN 上处理 CAN 总线信号的包。
  • Python-Vector-CANoe - 通过 Python 控制 Vector CANoe API。
  • CanCat - CAN 领域的瑞士军刀,常用于汽车、楼宇自动化等领域。
  • Pyfuzz_can - 可用于研究,向卡车注入消息以引发加速、仪表盘欺骗和降低制动性能。
  • Robotell-USB-CAN-Python - 用于 Robotell USB-CAN 适配器的 Python 程序。
  • python-socketcan-monitor - 用于显示通过网络接口从 CAN 总线接收的数据的脚本。
  • CanoPy - 一个用于实时可视化和绘制消息负载的 Python GUI。
  • PythonVectorXL - 针对 Vector XL Driver Library 的完整 Python ctypes 封装库。包含 vxlapi.h 的 #define 指令、struct/union typedef 指令和函数定义(同时加载 DLL) (仅限 Windows)。灵感来自 python-can。
  • py4can - 通过 CANalyzer 发送和接收 CAN 消息的 Python 实用程序。

CAN-over-IP

  • cannelloni - 基于以太网的 SocketCAN 隧道。
  • tincan - 通过 UDP 接口可视化 CAN 总线流量。
  • pican - TCP CAN 读取器。
  • canny - 简单的 CAN-over-IP 网关。

其他实用工具* Seeed-USB-CAN-Linux - 用于无品牌中国 USB-CAN 适配器的 CLI Linux 支持。

  • opendlv-device-can-replay - 用于将捕获的 CAN 帧重放到 CAN 接口的 OpenDLV 微服务。
  • c0f - CAN 总线指纹识别工具,旨在分析 CAN 总线流量并识别制造商和型号。
  • canqv - 使用 CAN_RAW 快速检查 CAN 帧。
  • Candle.NET - 用于 candlelight CAN 总线网关/分析仪(如 CANable、CANtact 等)的 Candle API 的 .NET 封装。
  • canSerializer - 用于在非 CAN 传输层上序列化和反序列化 CAN 帧的库(可用于通过 UART、SPI 等传输 CAN 帧)。

库

  • libwecan - 仅头文件的库,用于编码和解码 CAN 信号。
  • VCAN - 一个用 C 语言编写的微型虚拟 CAN 和 CAN-FD 总线库。
  • IMCTFD - 改进版 Microchip CAN Teensy FlexData 库 MCP2517FD。
  • go-socketcan - 用于 SocketCAN 的 Go 语言库。
  • Qt CAN Bus - 一个基于插件的跨平台 C++ 库,支持多种 CAN 设备(SocketCAN、Sys Tec、PEAK、Virtual)。
  • JavaCAN - 用于 SocketCAN 的 Java 绑定库,支持 RAW、BCM 和 ISO-TP 套接字,使用基于 epoll 的事件驱动 IO。
  • iso15765-canbus - 用 C 语言实现的 ISO15765-2。
  • CanKit - 跨平台 C#/.NET CAN 通信库,在多种 CAN 适配器上提供统一 API。
  • CANvenient - Windows 和 Linux 上多种 CAN API 的抽象层。

示例

  • CAN-Examples - Linux 上 CAN 套接字的 C 示例代码。
  • socketcan-demo - 一组演示如何在 Linux 上使用 SocketCAN 的示例程序。

CAN 数据库

格式(DBC、KCD)

DBC

DBC - CAN 数据库的事实标准是 Vector Informatik GmbH 开发的 DBC 文件格式。它是一种专有格式,没有可用的官方公开文档或规范。

  • DBC Format Specification v1.0 - 泄露的 DBC 文件格式规范 v1.0(过时的规范)。
  • DBC Format - 简要说明各个部分,包含大量示例,并很好地解释了多路复用信号。
  • DBC File Explained - 对 DCB 文件格式的简单介绍。
  • J1939 and DBC introduction - J1939 和 DBC 文件简介。
  • 🔝cabana - CAN 可视化器和 DBC 制作器(一个用于查看原始 CAN 数据的工具;其用途之一是创建和编辑 CAN 字典(DBC 文件))。

KCD

  • KCD - 一种描述 CAN 通信关系的开放格式,与 DBC 格式类似,但使用 XML 编写。

转换器与解析器

  • 🔝cantools by Erik Moqvist - 用于解析 DBC、KCD、SYM、ARXML 4 和 CDD 文件的 Python CAN 工具。
  • cantools by Andreas Heitmann - 一组用于处理 ASC、BLF、CLG、VSB、MDF 和 DBC 文件的库和命令行工具。
  • CanDB - 使用 OEM 定义的 CAN 矩阵(xls)生成 CAN DBC 文件。
  • canmatrix - 转换 CAN 数据库格式 .arxml、.dbc、.dbf、.kcd。
  • CANBabel - 多种 CAN 描述格式的转换器(支持 KCD 读写和 DBC 读取)。
  • can4python - 一个用于显示 KCD 文件(包括从 DBC 文件转换而来的文件)内容的有用包。
  • dbcc - 使用 mpc 解析器组合子库将 DBC 编译为 C(以及 CSV、JSON 和 XML)的编译器。
  • convert_dbc_to_cpp_file - 用于将 DBC(canbus)转换为 cpp(cplusplus)函数的实用工具。

仅 DBC

  • Vector DBC - 用于访问 Vector Informatik 的 CAN 数据库(又称 CANdb、DBC 文件)的库。
  • dbcppp - C/C++ DBC 文件解析器/工具。
  • can_decoder - 使用 DBC CAN 数据库将原始 CAN 总线数据解码为物理值的 API 模块。
  • CANdb from GENIVI - 用于解析 DBC——CAN 总线数据库描述格式的库。
  • dbc-parser - 用于 DBC 文件的 Flex/Bison/Lemon 解析器/扫描器。
  • Vector CANdb++ DBC file parser - eerimoq 的 DBC 文件解析器的修改版本。
  • dbc_reader - 从 DBC 文件读取虚拟 CAN 总线的读取器(Python)。
  • CAN_BUS_DBC_VIEWER - 基于 GUI 的 CAN 总线 DBC 查看器。
  • dbcview - DBC 可视化工具——绘制由消息连接的发送和接收节点图。
  • VectorDbcChecker - Vector DBC Checker 是一个 Python GUI 应用程序,用于检查 DBC 文件中的消息重复、网络节点缺失、消息内信号重叠等问题。
  • pydbc - DBC 格式的 AST 生成器。
  • pydbc - 处理车辆网络描述(CAN .dbc 文件)。

硬件

各种硬件,如 CAN 总线 USB2CAN 适配器、记录器、嗅探器、转换器等。

ARM

  • USB_CAN-FD on ATSAME51 - 这是一个开源硬件 USB 转 CAN-FD 接口(ATSAME51J)。
  • SuperCAN - 一个开源的 USB 转 CAN-FD 协议固件(ATSAME51)。
  • FlexCAN - 用于 Teensy 3.1、3.2、3.5 和 3.6 上 CAN 的 Arduino 库。
  • ELM327 - 基于 LPC1517JDB48 的开源 ELM327 OBD 适配器。
  • Open-OBD2-datalogger - 将实时发动机数据保存到 SD 卡的 NXP Kinetis E 数据记录器(可视化使用 HTML5 和 JavaScript 完成)。
  • CANBootloader - GUI + CAN 引导加载程序协议。
  • PiCCANTE - 基于 Raspberry Pi Pico(1|2|W)的开源 CAN 黑客工具——最多支持 3 路 CAN 接口,包含 ELM327 模拟器。

STM32

  • 🔝panda - 支持 3 路 CAN、2 路 LIN 和 1 路 GMLAN(并且在主机端通过 USB 提供 J2534)。它使用 STM32F413(将 panda 与 cabana 配合使用可为 CAN 总线提供最佳的逆向工程和开发套件)。
  • 🔝STM32duino_CAN_Library - 在 STM32duino 上运行的 STM32F103 CanBus 库。
  • 🔝pcan_pro_x - 适用于基于 STM32F4 的板卡的 PEAK PCAN PRO/PRO FD 固件。
  • CANnon - 一个适用于 STM32 及其同系列芯片的多功能 CAN 引导加载程序。
  • hadoucan-fw on STM32H750 - 用于基于 STM32H750 的 SM-1301 USB-CAN FD 适配器的固件。
  • CANCAN - 基于 STM32F407ZGTx 的 CAN 记录器。
  • stm32-CAN-bus-example-HAL-API - 使用更新后的 HAL API 函数在两个 STM32 微控制器之间进行 CAN 总线通信的简单示例。
  • CAN-to-USB-lawicel-for-stm32 - 基于 STM32F103、使用 Lawicel/Canhacker 协议的 CAN 转 USB 适配器。
  • stm32-slcan - 基于 STM32f103C8T6 的 BluePill 的 SLCAN 兼容固件。
  • cantact-pro-hw - CANtact Pro 的硬件,使用 cantact-pro-fw 作为固件。
  • STM32-CAN-Busadapter - 基于 MCU STM32F303CB 的 CAN 适配器。
  • Ethernet-CAN converter - 基于 STM32F407。
  • CANBUS_UART - 适用于 STM32F1(BluePill 和 Nucleo 开发板)的 CAN 总线转 UART。
  • Arduino-STM32-CAN - Arduino Core STM32 的 CAN 通信示例。
  • eXoCAN - 适用于 STM32F103(又称 Blue Pill)的 CAN 库。
  • CAN-BUS-Man-In-The-Middle - 基于 STM32F105 的双 CAN 中间人(MitM)设备。
  • CAN-Bus-Arduino_Core_STM32 - Arduino Core STM32 的低级 CanBUS 示例。

基于 STM32F0x2 的硬件

  • candleLight_fw - 兼容 candleLight、cantact、canable、CANAlyze、VulCAN 的固件。
  • CANsniffer on STM32F042 - 比现有商业产品更简单的 CAN 总线嗅探器。
  • candleLight - 基于 STM32F0 的 usb-can 适配器的 KiCAD 项目。
  • cantact-hw - CANtact 工具的硬件设计文件,使用 cantact-fw 作为固件源码。
  • cantact - CANtact 工具的驱动程序和命令行界面。
  • USB2CAN - 紧凑型隔离 USB 转 CAN 适配器。
  • CANAlyze - 一个面向 Linux 的开源原生 CAN 接口,可完全使用开源工具构建,使用 canalyze-fw 作为固件源码。
  • Cantact FW - x893 编写的 Cantact 固件。
  • ELM329 - 基于 STM32F042 的开源 ELM329 OBD 适配器。
  • OBD2CAN - 任何符合 OBD2 标准的车辆与 CAN 总线接口之间的桥接器(固件针对 STM32F072,并使用 ChibiOS 作为实时操作系统)。
  • pcan_cantact - 适用于 CANtact(CANable)或任何其他基于 STM32F042 的类似板卡的 XCAN 固件。
  • kvaser_cantact - 适用于 CANtact/CANable 或任何其他基于 STM32F042 的类似板卡的 Xvaser LL v2 固件。

Arduino

  • 🔝arduino-canhacker - 基于 Arduino + MCP2515 的 CanHacker(lawicel)CAN 适配器。
  • open-usb-can from Fabio Baltieri - 基于 ATMega32U 和 MCP2515 的 CAN 转 USB 适配器。
  • Arduino-CAN-bus-SD-logger - 将 CAN 总线信息记录到 SD 卡的 Arduino 脚本。主要面向 J1939。
  • Arduino-canbus-monitor - 基于 Arduino 和 CAN 总线扩展板的 CAN 总线监控工具。实现了与 Lawicel CAN232/CANUSB 兼容的 CAN ASCII/SLCAN 协议。
  • Arduino-psa-comfort-can-adapter - 用于在旧版 BSI CAN-BUS(CAN2004)上操作新款 PSA(标致、雪铁龙、DS、欧宝)舒适设备(CAN2010)的 Arduino 程序。
  • epasuino - 基于 Arduino 的汽车速度感应式电动助力转向系统 汽车速度感应式电动助力转向系统。
  • carfuino - 基于 Arduino、集成 Megasquirt 的汽车性能计算机。
  • W203-canbus - 适用于奔驰 W211/W219、W203/W209 的 Arduino 项目(蓝牙音频控制等)。
  • CANBus-Triple - 基于 AVR 和 MCP2515 的汽车黑客平台,可与此固件配合使用。
  • GVRET - 通用电动汽车逆向工程工具(Arduino 固件)。
  • open-source-can-bridge - 基于 Xmega、具有多个 CAN 接口的网关。
  • arduino-mcp2515 - Arduino MCP2515 CAN 接口库。
  • slcanuino - 适用于 Arduino CAN-BUS 扩展板的 USB-CAN(SocketCAN)程序。
  • CITM02 - CAN 中间人(CITM)——围绕 Arduino 构建的双通道 CAN 总线适配器。
  • arduino-OBD2 - 用于通过 CAN 总线从汽车读取 OBD-II 数据的 Arduino 库。
  • arduino-ecu-logger - 基于 Arduino 的 OBD2 发动机监视器和数据记录器。

Espressif 系统(ESP8266、ESP32)

  • ESP-IDF-CANBus-Monitor - 监控 ESP32 的 CAN 总线流量。
  • connected-car - 将日产 e-NV200(或 Leaf)连接到 MQTT。
  • PSASteeringWheelAdapter - 基于 ESP32 的标致和雪铁龙汽车方向盘适配器。
  • esp32-slcan - ESP32 SLCAN 兼容设备。
  • esp32s3-slcan - 适用于 ESP32-S3 的 SLCAN 实现(基于 esp32-slcan)。
  • ESP32-Arduino-CAN - 适用于 ESP32 的 Arduino CAN-Bus 库。
  • ESP32_CAN_Interface - 适用于 ESP32 的无线 CAN 接口,使用 cannelloni 协议通过 Wi-Fi 隧道经 UDP 发送 CAN 帧。
  • esp32_canbus_gateway - 基于 esp32 + tja1050、使用 MicroPython 编写的 CAN 模块。
  • esp32-cantroller - 基于 ESP32-S2-WROVER/WROOM 的 CAN 总线控制器设备。
  • esp32-canbus-logger - 基于 ESP32、将 CAN 总线日志记录到 microSD 卡的记录器。
  • 🔝ESP32_CANViewer - 基于 ESP32、面向 Web 浏览器的 CAN 接口。
  • esp-idf-can2http - 使用 ESP32 的 CAN 总线转 HTTP 桥接器。
  • esp32-obd2-emulator - 基于 ESP32 + CAN 收发器芯片的开源 OBD-II 模拟器,可通过简单的 Web UI(或 API)经 WiFi 进行控制。
  • ESP32RET - 适用于基于 ESP32 的开发板的 CAN 逆向工程工具(不再维护)。
  • ESP32S3RET - 适用于基于 ESP32-S3 的开发板的 CAN 逆向工程工具。
  • esp32_obd2 - 运行在 esp32_can 库之上的简化 OBD2 层,支持较新的 ESP32-S3(Arduino 库)。
  • ESP32_OBD2_Emulator - 运行在 ESP32-S3 上的简单 OBD2 汽车模拟器(用虚拟数据回复所有 OBD2 请求)。
  • RejsaCAN-ESP32 - 带 CAN 接口的 ESP32-S3 开发板。
  • RejsaCAN-ESP32-C6 - 经测试可在新款内置两个 CAN 控制器的 ESP32-C6 上运行的示例代码。
  • CAN-wizard - 基于 esp32/esp32-c3 + SN65HVD230 的 CAN 总线嗅探器。使用 ESP-IDF 开发,并实现串行控制台。

SBC

SBC - 单板计算机。

  • beaglebone_black_socketcan - 如何通过 SocketCAN 接口在 BeagleBone Black 上访问 CAN 总线。
  • rpi-can-logger - 用于记录来自 PiCAN2 和 GPS 模块的 CAN 总线数据的项目。
  • CANoPi - 适用于 Raspberry Pi Zero 的 CAN 接口。

ASIC 和 FPGA 的 IP 核

  • CAN - 经典 CAN 协议控制器的 IP 核(VHDL)。
  • CTU-CAN-FD - 符合 ISO 11898-1:2015 的 CAN FD IP 核(VHDL)。

其他硬件

  • Microchip CAN BUS Analyzer on PIC18F2550/PIC18F2680 Firmware - Microchip CAN 总线分析仪固件。
  • Microchip CAN BUS Analyzer on PIC18F2550/PIC18F2680 Driver - 适用于 Microchip CAN 总线分析工具的 Linux 内核驱动程序。
  • BB-to-STM32 - BeagleBone Black 与 STM32F4 Discovery 开发板之间的 LED 同步。
  • elm327_clone - 适用于中国克隆 OBD2 中 pic18f25k80 芯片的 ELM327 固件。

硬件相关工具

  • CAN Bus Bit Timing Calculator - 适用于已过时的 SJA1000 和 MCP2510 的在线工具(可能对 MCP2515 也有效)。
  • Bit Timing Calculator for CAN FD - 用于计算通用 CAN FD 设备详细位时序参数的在线工具。
  • STM8S208 CAN Speed Calculator - 适用于 STM8 的 CAN 速度计算器(或许对 STM32 系列也有效)。
  • STMG431 FDCAN SOLVER - 用于计算 STM32G4 位时序参数的在线工具(可能与 STM32G0 兼容)。

参与贡献* 我们始终欢迎您的贡献!请先阅读贡献指南。

脚注

  1. 请关注此根仓库以获取最新更新。
  2. 另一个精选列表 ▶️ CAN ID 集合 ◀️ 可能也会有用。
  3. 这个精选列表也可能有用,其中收录了用于 LIN 总线逆向工程、LIN 硬件开发和调试的优秀工具与资源。
下载工具
  • CANcool - 支持 CAN-FD 的 CAN 总线分析和仿真软件。
  • Kayak - 基于 Java 的 CAN 流量 GUI 分析工具 (已归档).
  • PlotJuggler - 强大的时间序列可视化工具(借助 panda 硬件、cabana 和 plotjuggler,你可以在几天内快速对整车进行逆向工程)。
  • PlotJuggler::CAN-dbs - 用于在 PlotJuggler 中可视化 CAN .dbs(或 .dbc?)文件的插件。
  • OpenSourceLogger - 数据采集软件,可收集测量数据、分析 CAN 消息并向其他 ECU 发送 SAE-J1939 消息。
  • EcuBus-Pro - 一款强大的汽车 ECU 开发工具。支持 UDS、CAN-TP、DOIP、LIN,以及类似 CAPL 的脚本(TS)。
  • Novo Bus Analyzer - BUSMASTER 的分支(BUSMASTER 是一款用于模拟、分析和测试 CAN 等数据总线系统的开源软件工具)。
  • bootCAN - 支持消息的监控、追踪和绘图,以及 .SYM 解码和消息发送。
  • CANviz - 基于浏览器的 CAN 总线分析器,支持 J1939 和 CANopen CiA 301/402 被动解码。通过 pip 安装,无需原生应用。几乎适用于任何 CAN 硬件,包括低成本硬件。
  • BudgetCANv2 - 用于在 STM32 微控制器上使用 STM32 HAL 实现 FDCAN 和 USB 的固件。已在 BudgetCANv2-HW 上经过测试。
  • CanDybugFW - CanDybug 的嵌入式固件,CanDybug 是一款通过 USB 串口仿真使用自定义协议的 CAN 总线流量分析仪(STM32F302/STM32F042)。
  • CAN-USB-dongle-fw - 适用于 CVRA CAN 转 USB 适配器的 slcan 固件(STM32F302)。
  • zubax_babel - 高性能 CAN-USB/CAN-UART 适配器 + UAVCAN 开发板(STM32F37x)。
  • CAN-RS485-adapter - CAN-RS485 适配器(STM32F103)。
  • vector_can - 适用于廉价 STM32F407/405 硬件的 Vector VN1610 协议实现(双 CAN 通道)。
  • CAN_OMEGA - 基于 STM32F411 的终极汽车黑客 CAN 总线硬件。功能齐全的固件和软件。