Cangaroo 开源 CAN 总线分析软件安装和配置指南
2026-02-06 04:39:38作者:谭伦延
1. 项目基础介绍
Cangaroo 是一个开源的 CAN 总线分析软件,支持标准帧和 FD 帧的收发,以及 DBC 解码功能。该项目使用 C++ 语言开发,基于 Qt 框架构建,提供了丰富的 CAN 总线分析功能。
2. 项目使用的关键技术和框架
- 编程语言: C++
- 构建工具: QMake
- 图形界面: Qt5 框架
- 依赖库:
- Qt5Core、Qt5Gui、Qt5Widgets
- libnl-3-dev 和 libnl-route-3-dev
- libqt5serialport5 和 libqt5serialport5-dev
- libqt5charts5 和 libqt5charts5-dev
- 支持的接口:
- CANable 和 CANable2 SLCAN 接口
- Candlelight 接口
- SocketCAN 接口
- CANblaster 基于 UDP 的 SocketCAN 服务器
3. 项目安装和配置的准备工作和详细安装步骤
3.1 准备工作
在开始安装之前,请确保您的系统已经安装了必要的依赖库:
Ubuntu/Debian 系统:
sudo apt-get update
sudo apt-get install build-essential git qt5-qmake qtbase5-dev libnl-3-dev libnl-route-3-dev cmake qt5-default libqt5serialport5 libqt5serialport5-dev libqt5charts5 libqt5charts5-dev
Windows 系统:
- 安装 Qt Creator(社区版)
- 安装必要的 Qt 库和开发工具
3.2 安装步骤
3.2.1 获取项目源码
git clone https://gitcode.com/gh_mirrors/ca/cangaroo.git
cd cangaroo
3.2.2 构建项目
Linux 系统构建:
qmake -qt=qt5
make
sudo make install
Windows 系统构建:
- 打开 Qt Creator
- 加载项目文件
cangaroo.pro - 配置构建选项
- 构建项目
3.2.3 运行软件
Linux 系统:
cangaroo
Windows 系统:
- 运行生成的
cangaroo.exe可执行文件
3.3 配置 CAN 设备
Cangaroo 支持多种 CAN 设备接口配置:
- CANable/CANable2: 通过 USB 连接设备,在软件中选择相应接口
- SocketCAN: 在 Linux 系统中配置网络接口(如
can0或vcan0) - Candlelight: 支持 Windows 平台的 Candlelight 接口设备
4. 主要功能特性
- CAN FD 支持: 支持 CAN FD 帧的收发和处理
- DBC 解码: 支持 DBC 文件格式的消息解码
- 实时过滤: 在跟踪视图中实时过滤 CAN 消息
- 多窗口界面: 基于停靠窗口的系统界面
- 日志系统: 完善的日志记录和显示功能
- 信号处理: 支持复用信号的处理和显示
5. 项目结构说明
项目主要包含以下核心模块:
- core/: 核心功能模块,包括后端处理、CAN 数据库、日志系统等
- driver/: CAN 驱动模块,支持多种 CAN 接口设备
- window/: 界面窗口模块,包含各种功能窗口
- parser/: 解析器模块,支持 DBC 文件解析
6. 使用建议和注意事项
- 设备兼容性: 确保使用的 CAN 设备与软件支持的接口类型匹配
- 权限设置: Linux 系统下可能需要配置用户权限以访问 CAN 设备
- DBC 文件: 准备正确的 DBC 文件以便进行消息解码
- 性能优化: 在处理大量 CAN 消息时,注意系统资源使用情况
7. 总结
Cangaroo 是一个功能强大的开源 CAN 总线分析工具,提供了完善的 CAN 消息收发、解码和分析功能。通过本文的安装和配置指南,您可以快速搭建 CAN 总线分析环境,开始进行 CAN 总线相关的开发和测试工作。
登录后查看全文
热门项目推荐
相关项目推荐
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0190- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
awesome-zig一个关于 Zig 优秀库及资源的协作列表。Makefile00
项目优选
收起
deepin linux kernel
C
27
12
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
599
4.04 K
Ascend Extension for PyTorch
Python
440
531
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
921
769
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
370
250
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.46 K
822
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
112
169
暂无简介
Dart
844
204
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
69
21
昇腾LLM分布式训练框架
Python
130
156

