做嵌入式、车载测试、CAN 总线测试的兄弟一定懂:
平时调试 CAN 报文、收发数据、看日志、查信号,要么靠昂贵的专业工具,要么命令行黑框框跑脚本,又丑又不方便给同事演示,更不能直接做成小工具交付。
今天直接上纯技术干货:
用 Python + CANoe / CAN 分析仪(CANalyzer/CANalyzer)\+ Designer
手把手做一个带图形界面的 CAN 报文收发工具,支持:
a、打开 / 关闭 CAN 通道
b、发送自定义 CAN 报文(ID + Data)
c、实时接收并显示报文
d、日志窗口自动刷新
e、UI 界面可视化操作(不用敲命令)
全程代码可直接复制运行,适合车载测试、嵌入式调试、自动化工具开发!
你只需要准备:
1. Python 3.8+
2. python-can 库(CAN 报文收发)
3. PyQt5 + Qt Designer(画 UI)
4. CAN 适配器(CANoe、Vector、周立功等)
安装依赖
打开 Designer,拖几个控件就行:
a、2 个QPushButton:打开 CAN / 关闭 CAN
b、2 个QLineEdit:输入 CAN ID、报文数据
c、1 个QPushButton:发送报文
d、1 个QTextEdit:日志显示窗口
布局随便排,好看就行
保存为:can_ui.ui
然后用命令转成 Python 文件:
第二步:核心业务代码(CAN 收发 + UI 绑定) 直接创建 can_tool.py,复制以下代码 可直接运行!
1. CAN 报文发送
自动从 UI 读取 ID(16 进制)和 数据(16 进制),直接发送。
2. CAN 报文接收
单独开线程接收,不卡 UI,实时显示:
- ID
- 数据
- 时间戳自动刷新
3. UI 与业务完全分离
- Designer 画界面
- Python 写逻辑
- 维护超方便
4.支持多种 CAN 硬件
✅ 打开 CAN → 绿色提示
✅ 发送报文 → 显示发送日志
✅ 接收报文 → 实时刷屏
✅ 关闭 CAN → 安全断开
✅ 界面清爽、操作简单
真正做到:一条脚本 = 一个专业 CAN 调试工具
1、车载测试工程师
2、嵌入式软件测试
3、自动化测试开发
4、需要快速做调试小工具的同学
Python+ CAN+ PyQt5 真的是车载测试神器组合。
不用买昂贵工具,不用写复杂框架,几十行代码,就能做出专业级别的调试工具。
松勤车载测试课程,可以直接扫描下方二维码联系我们咨询哦~