车载CAN信号解析与可视化工具,支持静态图、动态图、HTML报告生成(含ECharts交互式图表)和蓝牙性能测试
Project description
xbcar
车载座舱测试工具,支持ADB设备管理、GPS模拟、蓝牙测试、语音测试、Monkey测试、日志管理、CAN信号分析等功能。
✨ 特性
📱 ADB设备管理
- 🔍 设备检测:自动检测已连接的ADB设备
- 📱 屏幕监控:集成scrcpy,实时监控设备屏幕
- 📶 无线连接:支持ADB无线连接设备
- 📋 设备信息:获取设备型号、WiFi名称、IP地址等信息
- 🤖 设备类型检测:自动区分真机和模拟器,使用不同ADB命令
🗺️ GPS模拟
- 🎮 键盘控制:使用方向键模拟GPS移动
- 🚗 速度控制:可调节模拟速度(0-120 km/h)
- ⚡ 加速度:支持加速度调节
- 📊 实时状态:显示当前坐标、速度、方向
- 📱 导航应用支持:支持高德地图、百度地图、腾讯地图
🎯 蓝牙测试
- 📡 蓝牙扫描:扫描附近蓝牙设备
- 🔗 蓝牙连接:连接指定蓝牙设备
- 📊 性能测试:扫描和连接性能测试
- 📈 压力测试:长时间稳定连接测试
- 📋 测试报告:生成详细测试报告
🎤 语音测试
- 🎧 语音唤醒:测试语音唤醒功能
- 📝 语音识别:测试语音识别准确性
- 🔤 多语言支持:支持多种语言测试
- 📊 压力测试:语音唤醒和识别压力测试
- 📋 测试报告:生成详细测试报告
🐒 Monkey测试
- 🎲 随机事件:生成随机触摸、滑动、按键事件
- ⏱️ 持续时间:可设置测试持续时间
- 📊 日志分析:实时分析Monkey测试日志
- 📈 性能监控:监控CPU、内存使用情况
- 📋 测试报告:生成详细测试报告
📜 日志管理
- 📝 日志采集:采集Android系统日志
- 🔍 日志过滤:按关键词过滤日志
- 📊 日志分析:分析应用崩溃、ANR等问题
- 💾 日志保存:保存日志到本地文件
- 📋 日志导出:导出日志为文本文件
📊 CAN信号分析
- 📊 静态图生成:生成PNG格式的静态信号图
- 🎬 动态GIF动画:生成可交互的GIF动画
- 📈 交互式ECharts图表:HTML报告中使用ECharts实现真正的交互式图表
- 🔍 DBC文件解析:支持DBC数据库文件解码信号
- 📄 HTML报告生成:美观的HTML格式报告
- ⚖️ 信号比较判断:设置多信号比较条件,支持参考信号模式
- 📈 趋势预测:基于线性回归预测信号未来趋势,查看R²系数评估拟合质量
- 💾 数据导出:将信号数据导出为CSV或Excel格式
- 📦 灵活配置:可指定信号、时间范围、值范围等
🌐 Web管理界面
- 🖥️ 基于Flask的可视化管理平台
- 📱 响应式设计:支持桌面和移动设备
- 🔐 安全登录:用户名密码验证
- 📊 实时数据:实时显示设备状态和测试结果
📦 安装
使用pip
# 安装完整功能
pip install xbcar[full]
从源码安装
git clone https://gitee.com/xiaobaiOTS/xbcar.git
cd xbcar
pip install -e ".[full]"
🚀 使用方式
🖥️ Web管理页面(推荐)
启动服务:
xbcar
访问地址:http://localhost:5858
默认登录:
- 用户名:
xiaobai - 密码:
123456
使用步骤:
- 启动Web服务
- 访问 http://localhost:5858 并登录
- 在"ADB设备连接"页面点击【检测ADB设备】
- 选择一个设备后开始使用各功能模块
📱 ADB设备管理使用
- 检测设备:点击【检测ADB设备】按钮
- 选择设备:如果只有1个设备自动选中,多个设备需手动选择
- 屏幕监控:点击设备的【屏幕监控】按钮启动scrcpy
- 无线连接:点击【无线连接】按钮,输入设备IP地址
- 断开连接:点击【断开连接】按钮断开所有设备
🗺️ GPS模拟使用
- 选择一个已连接的设备
- 点击【检测ADB设备】确保设备已连接
- 选择GPS模拟方式(键盘方向键控制)
- 设置速度和加速度
- 点击【开始模拟】启动GPS模拟
- 使用方向键控制GPS移动方向
🎯 蓝牙测试使用
- 选择一个已连接的设备
- 点击【扫描蓝牙设备】扫描附近设备
- 选择要连接的设备
- 点击【连接设备】连接蓝牙设备
- 运行性能测试或压力测试
🎤 语音测试使用
- 选择一个已连接的设备
- 设置语音输入语言
- 点击【开始唤醒测试】测试语音唤醒功能
- 点击【开始识别测试】测试语音识别功能
🐒 Monkey测试使用
- 选择一个已连接的设备
- 选择要测试的应用包名
- 设置测试参数(事件数、持续时间等)
- 点击【开始测试】启动Monkey测试
- 查看实时日志和性能监控
📜 日志管理使用
- 选择一个已连接的设备
- 设置日志过滤关键词
- 点击【开始采集】采集日志
- 点击【停止采集】停止采集并保存日志
🔧 系统要求
- 操作系统:Windows 10+/macOS 10.15+/Ubuntu 18.04+
- Python版本:Python 3.8+
- ADB工具:需安装Android SDK Platform Tools
- scrcpy:自动下载到扩展文件夹,无需单独安装
📝 配置说明
ADB路径配置
确保ADB工具在系统PATH中,或在应用设置中配置ADB路径。
scrcpy扩展
scrcpy程序会自动下载到 xbcar/extensions/scrcpy/ 目录下,根据操作系统自动选择对应的版本。
🐛 常见问题
Q: 检测不到ADB设备?
A: 确保设备已通过USB连接并启用USB调试模式。检查ADB服务是否正常运行:
adb devices
Q: GPS模拟不生效?
A: 确保设备支持GPS模拟(需要root权限或开发者选项开启模拟位置)。可以在设备的开发者选项中开启"允许模拟位置"。
Q: 屏幕监控无法启动?
A: 确保设备已连接,且ADB服务正常。检查设备是否授权了ADB调试。
Q: 蓝牙扫描不到设备?
A: 确保设备蓝牙已开启,且设备处于可发现模式。
Q: Web管理页面登录失败?
A: 默认用户名是 xiaobai,密码是 123456。如果仍有问题,请检查服务是否正常启动。
📄 许可证
MIT License - 详见LICENSE文件。
🤝 贡献
欢迎贡献!请先阅读 CONTRIBUTING.md(如果有)。
📞 联系方式
如有问题或建议,请:
- 提交 Gitee Issue
- 发送邮件
🎉 开始使用 xbcar,让车载座舱测试更简单!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xbcar-1.0.6.tar.gz.
File metadata
- Download URL: xbcar-1.0.6.tar.gz
- Upload date:
- Size: 30.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06a71a54ae8f095c6cbf3229c9f849cc18f6efdbe301fdbf47e677c47e852549
|
|
| MD5 |
fd2679abda0232d4f76106af6e90a75d
|
|
| BLAKE2b-256 |
88e8f14da0cad072ed0d58514cdf7a1e4ecc1c8bbe4db65adc6999f8083596d3
|
File details
Details for the file xbcar-1.0.6-py3-none-any.whl.
File metadata
- Download URL: xbcar-1.0.6-py3-none-any.whl
- Upload date:
- Size: 30.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
edfbdc3ebcf57f1ae8ed8407dbc45516843de399dacb8b8664142548354df776
|
|
| MD5 |
ca2f0ec64706be9094e8d92629cc6a74
|
|
| BLAKE2b-256 |
dbd1ec463a8f446d358bf3d64311550212dac1ff92260a5eec5a42d7f8427d6f
|