项目简介
本项目是基于Python的开源项目,致力于汽车安全系统的测试。利用Python的unittest框架开展单元测试,借助特定库与车辆硬件交互,模拟各类驾驶场景和人为错误,全面验证汽车安全系统的功能与性能,保障其在不同情形下安全运行。
项目的主要特性和功能
- 硬件接口支持:支持3x CAN、2x LIN和1x GMLAN接口,具备USB和Wi-Fi连接方式,可测试汽车硬件接口通信。
- 多语言交互:提供Python和JavaScript使用示例,方便不同开发者操作。
- 软件接口丰富:支持用户空间、内核中的socketcan(alpha版)、ELM327和Windows J2534等多种软件接口。
- 安全模式控制:有安全模式,默认启动为
SAFETY_SILENT
模式,可通过USB选其他安全模式,部分支持controls_allowed
,能按自定义状态允许或阻止部分消息。 - 严格的代码规范:通过Cppcheck、Pylint和Flake8等静态代码分析工具和单元测试确保代码质量。
- 全面的测试覆盖:涵盖基础通信功能到高级功能测试,包括CAN总线通信、安全策略、车辆控制、错误处理和前向钩子等测试。
安装使用步骤
安装库
使用示例(Python)
接收CAN消息
python
from panda import Panda
panda = Panda()
panda.can_recv()
发送CAN消息
python
panda.can_send(0x1aa, "message", 0)
Linux系统设置udev规则
bash
sudo tee /etc/udev/rules.d/11-panda.rules <<EOF
SUBSYSTEM=="usb", ATTRS{idVendor}=="bbaa", ATTRS{idProduct}=="ddcc", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="bbaa", ATTRS{idProduct}=="ddee", MODE="0666"
EOF
sudo udevadm control --reload-rules && sudo udevadm trigger
使用示例(JavaScript)
请参考项目源码中的JavaScript示例代码。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】