Metadata-Version: 2.4
Name: xbcar
Version: 1.0.6
Summary: 车载CAN信号解析与可视化工具，支持静态图、动态图、HTML报告生成（含ECharts交互式图表）和蓝牙性能测试
Project-URL: Homepage, https://gitee.com/xiaobaiOTS/xbcar
Project-URL: Issues, https://gitee.com/xiaobaiOTS/xbcar/issues
Project-URL: Documentation, https://gitee.com/xiaobaiOTS/xbcar/blob/main/README.md
Author-email: xiaobaiTser <807447312@qq.com>
License: MIT
License-File: LICENSE
Keywords: automotive,ble,bluetooth,bluetooth-test,can,canoe,dbc,echarts,embedded,performance-test,plot,signal,visualization
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Logging
Requires-Python: >=3.8
Requires-Dist: bleak>=0.20.0
Requires-Dist: cantools>=39.0.0
Requires-Dist: loguru>=0.6.0
Requires-Dist: matplotlib>=3.5.0
Requires-Dist: numpy>=1.21.0
Requires-Dist: python-can>=4.0.0
Requires-Dist: scikit-learn>=1.0.0
Provides-Extra: bluetooth
Requires-Dist: bleak>=0.20.0; extra == 'bluetooth'
Provides-Extra: dev
Requires-Dist: black>=23.0.0; extra == 'dev'
Requires-Dist: flake8>=6.0.0; extra == 'dev'
Requires-Dist: isort>=5.12.0; extra == 'dev'
Requires-Dist: mypy>=1.0.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
Requires-Dist: pytest-html>=3.1.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Provides-Extra: full
Requires-Dist: black>=23.0.0; extra == 'full'
Requires-Dist: bleak>=0.20.0; extra == 'full'
Requires-Dist: flake8>=6.0.0; extra == 'full'
Requires-Dist: flask-session>=0.4.0; extra == 'full'
Requires-Dist: flask>=2.0.0; extra == 'full'
Requires-Dist: isort>=5.12.0; extra == 'full'
Requires-Dist: mypy>=1.0.0; extra == 'full'
Requires-Dist: openpyxl>=3.0.0; extra == 'full'
Requires-Dist: pandas>=1.0.0; extra == 'full'
Requires-Dist: pytest-cov>=4.0.0; extra == 'full'
Requires-Dist: pytest-html>=3.1.0; extra == 'full'
Requires-Dist: pytest>=7.0.0; extra == 'full'
Provides-Extra: web
Requires-Dist: bleak>=0.20.0; extra == 'web'
Requires-Dist: flask-session>=0.4.0; extra == 'web'
Requires-Dist: flask>=2.0.0; extra == 'web'
Requires-Dist: openpyxl>=3.0.0; extra == 'web'
Requires-Dist: pandas>=1.0.0; extra == 'web'
Description-Content-Type: text/markdown

# 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

```bash
# 安装完整功能
pip install xbcar[full]
```

### 从源码安装

```bash
git clone https://gitee.com/xiaobaiOTS/xbcar.git
cd xbcar
pip install -e ".[full]"
```

## 🚀 使用方式

### 🖥️ Web管理页面（推荐）

**启动服务**：

```bash
xbcar
```

**访问地址**：http://localhost:5858

**默认登录**：
- 用户名：`xiaobai`
- 密码：`123456`

**使用步骤**：

1. 启动Web服务
2. 访问 http://localhost:5858 并登录
3. 在"ADB设备连接"页面点击【检测ADB设备】
4. 选择一个设备后开始使用各功能模块

### 📱 ADB设备管理使用

1. **检测设备**：点击【检测ADB设备】按钮
2. **选择设备**：如果只有1个设备自动选中，多个设备需手动选择
3. **屏幕监控**：点击设备的【屏幕监控】按钮启动scrcpy
4. **无线连接**：点击【无线连接】按钮，输入设备IP地址
5. **断开连接**：点击【断开连接】按钮断开所有设备

### 🗺️ GPS模拟使用

1. 选择一个已连接的设备
2. 点击【检测ADB设备】确保设备已连接
3. 选择GPS模拟方式（键盘方向键控制）
4. 设置速度和加速度
5. 点击【开始模拟】启动GPS模拟
6. 使用方向键控制GPS移动方向

### 🎯 蓝牙测试使用

1. 选择一个已连接的设备
2. 点击【扫描蓝牙设备】扫描附近设备
3. 选择要连接的设备
4. 点击【连接设备】连接蓝牙设备
5. 运行性能测试或压力测试

### 🎤 语音测试使用

1. 选择一个已连接的设备
2. 设置语音输入语言
3. 点击【开始唤醒测试】测试语音唤醒功能
4. 点击【开始识别测试】测试语音识别功能

### 🐒 Monkey测试使用

1. 选择一个已连接的设备
2. 选择要测试的应用包名
3. 设置测试参数（事件数、持续时间等）
4. 点击【开始测试】启动Monkey测试
5. 查看实时日志和性能监控

### 📜 日志管理使用

1. 选择一个已连接的设备
2. 设置日志过滤关键词
3. 点击【开始采集】采集日志
4. 点击【停止采集】停止采集并保存日志

## 🔧 系统要求

- **操作系统**：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服务是否正常运行：
```bash
adb devices
```

### Q: GPS模拟不生效？

A: 确保设备支持GPS模拟（需要root权限或开发者选项开启模拟位置）。可以在设备的开发者选项中开启"允许模拟位置"。

### Q: 屏幕监控无法启动？

A: 确保设备已连接，且ADB服务正常。检查设备是否授权了ADB调试。

### Q: 蓝牙扫描不到设备？

A: 确保设备蓝牙已开启，且设备处于可发现模式。

### Q: Web管理页面登录失败？

A: 默认用户名是 `xiaobai`，密码是 `123456`。如果仍有问题，请检查服务是否正常启动。

## 📄 许可证

MIT License - 详见LICENSE文件。

## 🤝 贡献

欢迎贡献！请先阅读 CONTRIBUTING.md（如果有）。

## 📞 联系方式

如有问题或建议，请：
1. 提交 Gitee Issue
2. 发送邮件

---

🎉 **开始使用 xbcar，让车载座舱测试更简单！**