awesome-canbus: 非常棒的CAN总线工具、硬件和资源列表

闾丘昊然
2023-12-01

Contents

  • 黑客和逆向工程工具
  • Utils通用GUI工具Python工具UDSISO-TPCAN-over-IPOBD-II工具J1939工具J2534工具其他Utils库示例
  • 数据库只能格式化DBC KCD转换器和解析器DBC吗
  • Hardware

    • ARM
    • Arduino
    • ESP
    • SBC
    • Others

黑客和逆向工程工具

  • CarHackingTools-常用汽车黑客工具的集合帮助启动汽车研究和黑客的脚本集合
  • Caring Caribou-CAN总线的友好汽车安全探索工具
  • CAN_Reverse_Engineering-控制器局域网(CAN)协议的自动有效载荷反向工程管道
  • 汽车黑客-汽车黑客脚本和文档集合
  • 控制器局域网的逆向工程
  • parse_can_logs-解析可以记录并可视化绘图上的数据流
  • reversegear-汽车网络的离线逆向工程工具
  • CANalyzat0r-专用car协议的安全分析工具包
  • CANToolzBlack-boxCAN网络分析框架
  • GVRET-通用电动汽车逆向工程工具(Arduino FW)
  • UDSim-统一诊断服务模拟器和模糊器(继承uds-server)
  • uds-server-CAN UDS模拟器和模糊器
  • CANalyse-车辆网络分析和攻击工具
  • canhack-一个low-levelCAN协议黑客库
  • canDrive-破解汽车的工具
  • Carpunk-CAN注入工具包和CANghost的继任者
  • CANghost-入侵CAN总线的自动脚本

Utils

Common

  • Linux CAN UTIL-Linux-CAN/SocketCAN用户空间有用的UTIL
  • cantools-CAN总线网络的CLI工具集合
  • BUSMASTER-一种开源软件工具,用于模拟、分析和测试数据总线系统,如CAN
  • signalbroker-server-使用gRPC读取和写入CAN/LIN/flexray和其他总线的工具,允许使用首选语言
  • CANiBUS-CAN设备车辆研究服务器(OpenGarages.org)

GUI Tools

  • 来自GENIVI的CANdevStudio-CAN模拟软件,使用drag-and-drop风格的GUI,具有互连的功能块
  • CANAL-View-TouCAN USB到CAN总线转换器的Qt GUI
  • wxCAN-Sniffer-带有动画和图表的CAN总线嗅探器(PC侧)
  • CAN记录器-CAN总线记录器和分析仪工具
  • 请参阅EED-USB-CAN-Analyzer-非名称中文USB-CAN适配器的闭源二进制文件
  • CANtact-app用于CANtact硬件接口的桌面应用程序
  • 基于SavvyCANCross-platformQt的图形用户界面分析工具。支持SocketCAN兼容接口。
  • openCanSuite-用于分析、模拟和可视化CAN系统的工具集
  • 智能仪表的绘图仪和扫描仪.汽车系统的扫描和可视化工具
  • ICSim-OpenGarages SocketCAN的仪表盘模拟器
  • CANgarooQt-basedCAN总线分析仪软件
  • CAN-X-C#CAN总线分析仪软件
  • CAN-Monitor-qt-通用CAN总线监控程序
  • CANBUS-Analyzer-图形、显示和分析已知和未知CANBUS数据包的开发工具/配套软件
  • SLSS-CANAnalyser-SLSS CANAnalyser是WindowsCAN-Bus-Analysis-Software,用于显示、记录和评估CAN-Bus信号
  • TSMaster-[封闭源代码]强大的开放环境,用于汽车总线监测、模拟、测试、诊断、校准等
  • CAN++-用于接收和传输CAN总线消息的Windows程序。导入CAN数据库文件(*.dbc*.kcd)后,CAN信号以符号形式显示。此外,它们可以以图形(波形)形式显示
  • CANcool-支持CAN-FD的CAN总线分析仪和仿真软件
  • Kayak-[存档]Java-basedCAN流量GUI分析工具

Python Tools

  • cantoolsPython中的CAN总线工具
  • python-can-CAN包为Python开发人员提供控制器局域网支持
  • strym-实时CAN数据记录和可视化工具,可与USB-CAN接口一起工作
  • canviewer-GUI程序,允许检查来自记录器can-bus数据或实时数据的can-bus传入消息
  • can4python-用于在Linux SocketCAN上处理CAN总线信号的包。用于显示KCD文件的内容(也可以是从DBC文件转换而来的文件)
  • Python-Vector-CANoe-通过Python控制矢量CANoe API
  • CanCat-瑞士军刀,常用于汽车和楼宇自动化等领域
  • Pyfuzz_can-可用于研究将消息注入卡车,导致加速、集群欺骗和降低制动性能
  • Robotell-USB-CAN-Python-PythonRobotellUSB-CAN适配器程序
  • python-socketcan-monitor-通过网络接口显示CAN总线数据的脚本
  • CanoPy-一个pythongui,用于实时可视化和绘制消息有效负载。

UDS

  • python-UDSonCAN-PythonUDSISO-14229标准的实现
  • uds-c-统一诊断服务(uds)和OBD-IIc库

ISO-TP

  • isotp-c-C语言中ISO-TP(ISO15765-2)CAN协议的实现
  • python-can-IsoTP-Python实现ISO-TP(ISO15765-2)CAN协议

CAN-over-IP

  • cannelloni-以太网隧道上的SocketCAN
  • tincan-通过UDP接口可视化CAN总线流量
  • pican-TCP CAN读取器
  • canny-简单CAN-over-IP网关
  • python-socketcan-monitor-通过网络接口显示CAN总线数据的脚本

OBD-II tools

  • DDT4All-用于创建自己的ECU参数屏幕并通过廉价的ELM327接口连接到CAN网络的工具
  • ELM327SLCAN-基于ELM327的车辆CAN总线嗅探器
  • Arduino-OBD2-Async-具有异步数据请求的Arduino OBD库
  • CAN-Shark使用来自Arduino+MCP2515屏蔽的OBD PIDs
  • OBD2-Scantool-从汽车中读取OBD2信息的python扫描工具
  • O2OO-OBD-II兼容的汽车诊断工具。它将传感器数据从汽车读取到sqlite数据库中
  • freediag-适用于OBD-II兼容机动车辆的免费诊断软件
  • pyvit-[存档]Python Vehicle Interface工具包

J1939 Tools

  • J1939-CANBUS-支持的发动机CAT、Perkins、Wartsalla、MTU、VOLVO
  • J1939-Framework-用于总线、汽车和卡车行业CAN总线的J1939框架
  • python-j1939-SAE J1939支持依赖于python-can包。通过PGN提供编解码器和过滤,但不提供完整的SPN解码
  • 带有J1939支持的can-utils-带有用于J1939的一些附加工具的can-utils分叉
  • test-can-j1939-如何在linux上使用CAN J1939
  • libj1939-使用J1939帧的库(拟用于微控制器)
  • Pretty-J1939-pythonlibs和pretty-printingJ1939日志的脚本
  • TruckDevy-用于与使用J1939在CAN总线上进行通信的ECU进行交互和评估的工具和框架

J2534 Tools

  • JCanalog-易于使用的J2534车辆记录器(留作历史记录)
  • j2534-tcp-TCP/IP上的虚拟J2534驱动程序

Other Utils

  • Seeeed-USB-CAN-LinuxCLI Linux支持noname中文USB-CAN适配器
  • opendlv-device-can-replay-OpenDLV微服务,将捕获的CAN帧回放到CAN接口
  • c0f-CAN总线指纹识别工具用于分析CAN总线流量,并对制造商和模型进行指纹识别
  • canqv-使用CAN_RAW快速检查罐架
  • Candle.NET-.NET包装器,用于烛光CAN总线网关/分析仪的蜡烛API(例如CANable、CANtact等)
  • canSerializer-用于序列化和反序列化CAN帧的库,用于在非CAN传输层上传输(可用于通过UART、SPI等传输CAN帧)

Libraries

  • libwecan-仅用于编码和解码CAN信号的头文件库
  • python-can-can包为Python开发人员提供控制器局域网支持
  • VCAN—C中的一个小型虚拟CAN和CAN-FD总线库
  • IMCTFD-改进的Microchip CAN Teensy FlexData Library MCP2517FD
  • go-socketcan-SocketCAN的Golang库
  • isotp-c-C语言中ISO-TP(ISO15765-2)支持库的实现
  • Qt CAN总线-一个基于多平台C++插件的库,支持各种CAN设备(SocketCAN、Sys-Tec、PEAK、Virtual)

Examples

  • CAN-Examples-Linux上CAN套接字的C代码示例
  • socketcan-demo-一组示例程序,重点介绍如何在Linux上使用SocketCAN

CAN Databases

Formats

DBC

  • DBC格式规范v1.0-泄漏的DBC文件格式规范v1.0(过时规范)
  • DBC格式-关于各个部分的简要说明,许多示例,并很好地解释了多路复用信号
  • DBC文件解释-DCB文件格式的简单介绍
  • J1939和DBC文件简介

KCD

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

转换器和解析器

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

DBC only

  • Vector DBC-从Vector Informatik访问CAN数据库(又名CANdb,又名DBC文件)的库
  • dbcppp-C/C++DBC文件解析器/工具
  • can_decoder-API模块,用于使用DBC CAN数据库将原始CAN总线数据解码为物理值
  • GENIVI的CANdb-用于解析DBC的库-CAN总线数据库描述格式
  • dbc-parser-用于DBC文件的Flex/Bison/Lemon解析器/扫描仪
  • 向量CANdb++DBC文件解析器-Eiremoq的DBC文件解析器的修改版本
  • dbc_reader-dbc文件(python中的虚拟can总线读取器)

Hardware

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

ARM

  • CanDybugFW-CanDybug的嵌入式固件,CanDybug是一种CAN总线流量分析器,在USB串行端口仿真上使用自定义协议
  • CAN-USB-dongle-fw-CVRA CAN到USB加密狗的slcan固件
  • pcan_cantact-用于CANtact(CANable)或任何其他类似板的PCAN固件
  • pcan_pro_x-基于STM32F4的板的峰值PCAN PRO/PRO FD固件
  • STM32H750上的hadoucan-fw-基于SM-1301USB-CANFD适配器的固件
  • CANnon-适用于STM32和朋友的多功能CAN引导程序
  • ATSAME51上的USB_CAN-FD-这是一个开源硬件USB到CAN-FD接口
  • SuperCAN-用于ATSAME51的开源USB到CAN-FD协议固件
  • zubax_babel-高性能CAN-USB/CAN-UART适配器+UAVCAN开发板
  • cantact-pro-hw-CANtact Pro的硬件,使用cantact-pro-fw作为固件
  • FlexCAN-Teensy 3.1、3.2、3.5和3.6上CAN的Arduino库
  • BudgetCANv2-FW,用于STM32G4微控制器,使用STM32 HAL实现FDCAN和USB。在BudgetCANv2-HW上测试
  • Arduino-STM32-CAN-Arduino Core STM32的Can通信示例
  • eXoCAN-STM32F103又名蓝色药丸的CAN库
  • CAN-BUS-Man-In-The-Middle-基于STM32F105的双CANMitM-device
  • CAN-Bus-Arduino_Core_STM32-Arduino Core STM32的低电平CanBUS示例
  • CAN-RS485-adapter
  • STM32-CAN-Busadapter-MCU stm32f303cb上的CAN适配器
  • Ethernet-CAN转换器-基于STM32F407
  • CANBootloader-GUI+CAN booloader协议
  • ELM327-Open-source基于LPC1517JDB48的ELM327车载诊断适配器
  • stm32-CAN-bus-example-HAL-API-使用更新的HAL API函数在两个STM32微控制器之间进行CAN总线通信的简单示例
  • 基于STM32F407ZGTx的CAN记录仪
  • CAN-to-USB-lawicel-for-stm32-使用基于STM32F103的Lawicel/Canhacker协议的CAN-to-USB适配器
  • stm32-slcan-基于STM32f103C8T6的BluePill的slCAN兼容固件
  • STM32duino_CAN_Library-在STM32duino上运行的STM32F103的CanBus库
  • CANBUS_UARTSTM32F1(BluePill和Nucleo板)的CAN总线到UART

基于STM32F042x的硬件

  • candleLight_fw-适用于烛光、cantact、canable、CANAlyze、VulCAN的兼容固件
  • STM32F042上的CANsniffer-CANbus sniffer没有现有商业产品复杂
  • 基于STM32F0的usb-can适配器的烛光KiCAD项目
  • cantact-hw-CANtact工具的硬件设计文件,使用cantact-fw作为固件源
  • cantact-cantact工具的驱动程序和命令行界面
  • USB2CAN-紧凑且隔离的USB-to-CAN适配器
  • CANAlyze-Linux的一个开源、本机CAN接口,可以完全使用开源工具构建,使用canalyze-fw作为固件源
  • x893的Cantact FW
  • ELM329-Open-source基于STM32F042的ELM329 OBD适配器

Arduino

  • arduino-canhacker-CanHacker(lawicel)可以在Arduino+MCP2515上进行适配器
  • open-usb-can来自Fabio Baliteri-CAN-to-USB基于ATMega32U和MCP2515的加密狗
  • Arduino-CAN-bus-SD-logger-Arduino脚本,用于将CAN总线信息记录到SD卡。主要关注J1939
  • Arduino-canbus-monitor-基于arduino和Can总线屏蔽的Can总线监控工具。实现与Lawicel CAN232/CANUSB兼容的CAN ASCII/SLCAN协议
  • Arduino-psa-comfort-can-adapter-Arduino在旧BSICAN-BUS(CAN2004)上操作新PSA(标致、雪铁龙、DS、欧宝)舒适设备的草图(CAN2010)
  • 基于epasuino-Arduino的汽车速敏电动助力转向汽车速敏电动助力转向
  • carfuino-基于Arduino的具有Megasquirt集成的汽车性能计算机
  • W203-canbus-W211/W219/W203/W209梅赛德斯的Arduino项目(蓝牙音频控制等)
  • CANBus-Triple-基于AVR和MCP2515的汽车黑客平台可以使用此固件
  • GVRET-通用电动汽车逆向工程工具(Arduino FW)
  • open-source-can-bridge-基于Xmega的具有多个CAN接口的网关
  • arduino-mcp2515-Arduino MCP2515 CAN接口库
  • 阿杜伊诺CAN-BUS盾的斯尔卡努伊诺USB-CAN(SocketCAN)草图
  • CITM02-中间CAN(CITM)围绕Arduino构建的双通道CAN总线适配器

ESP

  • ESP-IDF-CANBus-Monitor-监控Canbus流量ESP32
  • connected-car-将日产e-NV200(或Leaf)连接到MQTT
  • PSA SteeringWheelAdapter-标致和雪铁龙汽车基于ESP32的方向盘适配器
  • esp32-slcan-ESP32 slcan兼容设备
  • ESP32-Arduino-CAN-用于ESP32的ArduinoCAN-Bus库
  • ESP32RET-用于基于ESP32的电路板的CAN反向工程工具
  • ESP32_CAN_Interface-ESP32的无线CAN-Interface,使用cannelloni协议通过UDP通过Wi-Fi隧道发送CAN-Frames
  • esp32_canbus_gateway-esp32+tja1050上的can模块编码在micropython
  • 基于esp32-cantroller-ESP32-S2-WROVER/WROOM的CAN总线控制器thingy
  • esp32-canbus-logger-基于ESP32的uSD-card上的CAN总线记录器
  • ESP32_CANViewer-基于ESP32的网络浏览器CAN接口
  • esp-idf-can2http-使用ESP32的CAN总线到http网桥

SBC

SBC-单板计算机

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

Others HW

  • PIC18F2550/PIC18F2680固件上的Michrochip CAN总线分析仪-Michrochip CAN总线分析仪固件
  • PIC18F2550/PIC18F2680驱动程序上的Michrochip CAN总线分析器-用于微芯片CAN总线分析器工具的Linux内核驱动程序
  • BB-to-STM32-BeagleBone Black和STM32F4发现板之间的LED同步

硬件相关工具

  • CAN总线位定时计算器-过时SJA1000和MCP2510的在线工具(可能适用于MCP2515)
  • STM8S208 CAN速度计算器-用于STM8的CAN速度计算器(可能也适用于STM32系列)

etc

按照此永久性root-repo进行最新更新:https://github.com/iDoka/awesome-canbus

Tags

#awesome#awesome-list#can#can-bus#canbus#canfd#can-fd#logger#sniffer#slcan#socketcan#car-hacking#bus-monitoring#lawicel#elm327#obd2 canutils#automotive#embedded#arduino#rpi#raspberry-pi#sae#uds#j1962#j1939#j1979#j2534#lin#lin-bus#local-interconnect-network#flexray#obd-ii#slcan-protocol#usbtin#usb2can#iso11898#iso11565#;iso11765#iso14229#dbc#odb#ldf#electric-vehicles#vehicular-networks#python#automotive-security

 类似资料: