当前位置:首页>python>Python 实现 CAN 报文收发 Designer 可视化 UI,一行代码秒变测试工具

Python 实现 CAN 报文收发 Designer 可视化 UI,一行代码秒变测试工具

  • 2026-10-11 11:07:33
Python 实现 CAN 报文收发 Designer 可视化 UI,一行代码秒变测试工具

做嵌入式、车载测试、CAN 总线测试的兄弟一定懂:

平时调试 CAN 报文、收发数据、看日志、查信号,要么靠昂贵的专业工具,要么命令行黑框框跑脚本,又丑又不方便给同事演示,更不能直接做成小工具交付。

今天直接上纯技术干货:
用 Python + CANoe / CAN 分析仪(CANalyzer/CANalyzer)\+ Designer
手把手做一个带图形界面的 CAN 报文收发工具,支持:
a、打开 / 关闭 CAN 通道
b、发送自定义 CAN 报文(ID + Data)
c、实时接收并显示报文
d、日志窗口自动刷新
e、UI 界面可视化操作(不用敲命令)

全程代码可直接复制运行,适合车载测试、嵌入式调试、自动化工具开发!

PART 01
先说明环境(超简单) 

你只需要准备:
1. Python 3.8+
2. python-can 库(CAN 报文收发)
3. PyQt5 + Qt Designer(画 UI)
4. CAN 适配器(CANoe、Vector、周立功等)

安装依赖

PART 02
第一步:Qt Designer 快速画 UI

打开 Designer,拖几个控件就行:
a、2 个QPushButton:打开 CAN / 关闭 CAN
b、2 个QLineEdit:输入 CAN ID、报文数据
c、1 个QPushButton:发送报文
d、1 个QTextEdit:日志显示窗口
布局随便排,好看就行

保存为:can_ui.ui
然后用命令转成 Python 文件:

PART 03
第二步:核心业务代码(CAN 收发 + UI 绑定) 

直接创建 can_tool.py,复制以下代码 可直接运行!

PART 04
第三步:代码核心亮点(一看就懂) 

1. CAN 报文发送
自动从 UI 读取 ID(16 进制)和 数据(16 进制),直接发送。

2. CAN 报文接收
单独开线程接收,不卡 UI,实时显示:
- ID
- 数据
- 时间戳自动刷新

3. UI 与业务完全分离
- Designer 画界面
- Python 写逻辑
- 维护超方便

4.支持多种 CAN 硬件

PART 05
工具效果展示(你运行后就是这样) 

✅ 打开 CAN → 绿色提示
✅ 发送报文 → 显示发送日志
✅ 接收报文 → 实时刷屏
✅ 关闭 CAN → 安全断开
✅ 界面清爽、操作简单

真正做到:一条脚本 = 一个专业 CAN 调试工具

PART 06
适合谁用? 

1、车载测试工程师
2、嵌入式软件测试
3、自动化测试开发
4、需要快速做调试小工具的同学

PART 07
最后说一句

Python+ CAN+ PyQt5 真的是车载测试神器组合。
不用买昂贵工具,不用写复杂框架,几十行代码,就能做出专业级别的调试工具。

松勤车载测试课程,可以直接扫描下方二维码联系我们咨询哦~

长按下方图片

添加松勤唐糖老师免费获取资源

粉丝专享

为你们整理了价值2000+资源

内容包含:

从0-1规划软件测试学习路径

职场上常用的测试模板、攻略

软件测试提升电子书

经典面试题

松勤录播课

限时免费~~~

长按下方图片

添加松勤唐糖老师免费获取资源

目前100000+人已关注加入我们

       

       

长按二维码

关注【松勤网课】视频号

‍‍

最新文章

随机文章