|
|
# 📱 手机连接功能使用指南
|
|
|
|
|
|
## 🚁 无人机战场态势感知系统 - 手机扩展功能
|
|
|
|
|
|
这个功能允许你使用手机作为移动侦察设备,将手机摄像头图像、GPS位置和设备信息实时传输到指挥中心,扩展战场态势感知能力。
|
|
|
|
|
|
## 🌟 功能特性
|
|
|
|
|
|
### 📡 数据传输
|
|
|
- **实时视频流**: 传输手机摄像头画面到指挥中心
|
|
|
- **GPS定位**: 自动获取和传输手机的精确位置
|
|
|
- **设备状态**: 监控电池电量、信号强度等
|
|
|
- **人体检测**: 在手机端进行AI人体检测
|
|
|
- **地图集成**: 检测结果自动显示在指挥中心地图上
|
|
|
|
|
|
### 🛡️ 技术特点
|
|
|
- **低延迟传输**: 优化的数据压缩和传输协议
|
|
|
- **自动重连**: 网络中断后自动重新连接
|
|
|
- **多设备支持**: 支持多台手机同时连接
|
|
|
- **跨平台兼容**: 支持Android、iOS等主流移动设备
|
|
|
|
|
|
## 🚀 快速开始
|
|
|
|
|
|
### 1. 启动服务端
|
|
|
|
|
|
#### 方法一:使用Web模式(推荐)
|
|
|
```bash
|
|
|
python run.py
|
|
|
# 选择 "1. Web模式"
|
|
|
# 在Web界面中点击"启用手机模式"
|
|
|
```
|
|
|
|
|
|
#### 方法二:直接启动Web服务器
|
|
|
```bash
|
|
|
python main_web.py
|
|
|
```
|
|
|
|
|
|
### 2. 配置网络连接
|
|
|
|
|
|
确保手机和电脑在同一网络环境下:
|
|
|
- **局域网连接**: 连接同一WiFi网络
|
|
|
- **热点模式**: 电脑开启热点,手机连接
|
|
|
- **有线网络**: 电脑有线连接,手机连WiFi
|
|
|
|
|
|
### 3. 获取服务器IP地址
|
|
|
|
|
|
在电脑上查看IP地址:
|
|
|
|
|
|
**Windows:**
|
|
|
```cmd
|
|
|
ipconfig
|
|
|
```
|
|
|
|
|
|
**Linux/Mac:**
|
|
|
```bash
|
|
|
ifconfig
|
|
|
# 或
|
|
|
ip addr show
|
|
|
```
|
|
|
|
|
|
记下显示的IP地址(如 192.168.1.100)
|
|
|
|
|
|
### 4. 手机端连接
|
|
|
|
|
|
#### 方法一:使用浏览器(推荐)
|
|
|
1. 打开手机浏览器
|
|
|
2. 访问 `http://[服务器IP]:5000/mobile/mobile_client.html`
|
|
|
3. 例如:`http://192.168.1.100:5000/mobile/mobile_client.html`
|
|
|
|
|
|
#### 方法二:直接访问HTML文件
|
|
|
1. 将 `mobile/mobile_client.html` 复制到手机
|
|
|
2. 在文件中修改服务器IP地址
|
|
|
3. 用浏览器打开HTML文件
|
|
|
|
|
|
### 5. 开始传输
|
|
|
1. 在手机页面中点击"开始传输"
|
|
|
2. 允许摄像头和位置权限
|
|
|
3. 查看连接状态指示灯变绿
|
|
|
4. 在指挥中心Web界面查看实时数据
|
|
|
|
|
|
## 📱 手机端界面说明
|
|
|
|
|
|
### 状态面板
|
|
|
- **📍 GPS坐标**: 显示当前精确位置
|
|
|
- **🔋 电池电量**: 实时电池状态
|
|
|
- **🌐 连接状态**: 与服务器的连接状态
|
|
|
|
|
|
### 控制按钮
|
|
|
- **📹 开始传输**: 启动数据传输
|
|
|
- **⏹️ 停止传输**: 停止传输
|
|
|
- **🔄 重连**: 重新连接服务器
|
|
|
|
|
|
### 统计信息
|
|
|
- **📊 已发送帧数**: 传输的图像帧数量
|
|
|
- **📈 数据量**: 累计传输的数据量
|
|
|
|
|
|
### 日志面板
|
|
|
- 显示详细的操作日志和错误信息
|
|
|
- 帮助诊断连接问题
|
|
|
|
|
|
## 🖥️ 服务端管理
|
|
|
|
|
|
### Web界面控制
|
|
|
访问 `http://localhost:5000` 查看:
|
|
|
- **地图显示**: 实时显示手机位置和检测结果
|
|
|
- **设备管理**: 查看连接的手机列表
|
|
|
- **数据统计**: 查看传输统计信息
|
|
|
|
|
|
### API接口
|
|
|
- `GET /api/mobile/devices` - 获取连接设备列表
|
|
|
- `POST /api/mobile/toggle` - 切换手机模式开关
|
|
|
- `POST /mobile/ping` - 手机连接测试
|
|
|
- `POST /mobile/upload` - 接收手机数据
|
|
|
|
|
|
### 命令行监控
|
|
|
服务器控制台会显示详细日志:
|
|
|
```
|
|
|
📱 新设备连接: iPhone (mobile_12)
|
|
|
📍 设备 mobile_12 位置更新: (39.904200, 116.407400)
|
|
|
🎯 检测到 2 个人
|
|
|
📍 手机检测人员 1: 距离5.2m, 坐标(39.904250, 116.407450)
|
|
|
```
|
|
|
|
|
|
## ⚙️ 高级配置
|
|
|
|
|
|
### 修改传输参数
|
|
|
|
|
|
在手机端HTML文件中可以调整:
|
|
|
|
|
|
```javascript
|
|
|
// 修改服务器地址
|
|
|
this.serverHost = '192.168.1.100';
|
|
|
this.serverPort = 5000;
|
|
|
|
|
|
// 修改传输频率(毫秒)
|
|
|
const interval = 1000; // 1秒传输一次
|
|
|
|
|
|
// 修改图像质量(0.1-1.0)
|
|
|
const frameData = this.canvas.toDataURL('image/jpeg', 0.5);
|
|
|
```
|
|
|
|
|
|
### 网络优化
|
|
|
|
|
|
**低带宽环境:**
|
|
|
- 降低图像质量 (0.3-0.5)
|
|
|
- 增加传输间隔 (2-5秒)
|
|
|
- 减小图像分辨率
|
|
|
|
|
|
**高质量需求:**
|
|
|
- 提高图像质量 (0.7-0.9)
|
|
|
- 减少传输间隔 (0.5-1秒)
|
|
|
- 使用更高分辨率
|
|
|
|
|
|
## 🔧 故障排除
|
|
|
|
|
|
### 常见问题
|
|
|
|
|
|
#### 1. 手机无法连接服务器
|
|
|
- **检查网络**: 确保在同一网络
|
|
|
- **检查IP地址**: 确认服务器IP正确
|
|
|
- **检查防火墙**: 关闭防火墙或开放端口
|
|
|
- **检查端口**: 确认5000端口未被占用
|
|
|
|
|
|
#### 2. 摄像头无法访问
|
|
|
- **权限设置**: 在浏览器中允许摄像头权限
|
|
|
- **HTTPS需求**: 某些浏览器需要HTTPS才能访问摄像头
|
|
|
- **设备占用**: 关闭其他使用摄像头的应用
|
|
|
|
|
|
#### 3. GPS定位失败
|
|
|
- **位置权限**: 允许浏览器访问位置信息
|
|
|
- **网络连接**: 确保网络连接正常
|
|
|
- **室内环境**: 移动到有GPS信号的位置
|
|
|
|
|
|
#### 4. 传输断开
|
|
|
- **网络稳定性**: 检查WiFi信号强度
|
|
|
- **服务器状态**: 确认服务器正常运行
|
|
|
- **自动重连**: 等待自动重连或手动重连
|
|
|
|
|
|
### 调试方法
|
|
|
|
|
|
#### 手机端调试
|
|
|
1. 打开浏览器开发者工具 (F12)
|
|
|
2. 查看Console面板的错误信息
|
|
|
3. 检查Network面板的网络请求
|
|
|
|
|
|
#### 服务端调试
|
|
|
1. 查看控制台输出的日志信息
|
|
|
2. 使用 `python tests/test_system.py` 测试系统
|
|
|
3. 检查网络连接和端口状态
|
|
|
|
|
|
## 🌐 网络配置示例
|
|
|
|
|
|
### 局域网配置
|
|
|
```
|
|
|
电脑 (192.168.1.100) ←→ 路由器 ←→ 手机 (192.168.1.101)
|
|
|
```
|
|
|
|
|
|
### 热点配置
|
|
|
```
|
|
|
电脑热点 (192.168.137.1) ←→ 手机 (192.168.137.2)
|
|
|
```
|
|
|
|
|
|
### 有线+WiFi配置
|
|
|
```
|
|
|
电脑 (有线: 192.168.1.100) ←→ 路由器 ←→ 手机 (WiFi: 192.168.1.101)
|
|
|
```
|
|
|
|
|
|
## 📊 性能建议
|
|
|
|
|
|
### 推荐配置
|
|
|
- **网络**: WiFi 5GHz频段,带宽 ≥ 10Mbps
|
|
|
- **手机**: RAM ≥ 4GB,Android 8+ / iOS 12+
|
|
|
- **服务器**: 双核CPU,RAM ≥ 4GB
|
|
|
|
|
|
### 优化设置
|
|
|
- **高质量模式**: 0.7质量,1秒间隔
|
|
|
- **平衡模式**: 0.5质量,1秒间隔(推荐)
|
|
|
- **省流量模式**: 0.3质量,2秒间隔
|
|
|
|
|
|
## 🚁 实战应用场景
|
|
|
|
|
|
### 军用场景
|
|
|
- **前线侦察**: 士兵携带手机进行前方侦察
|
|
|
- **多点监控**: 多个观察点同时传输情报
|
|
|
- **指挥决策**: 指挥部实时获取战场态势
|
|
|
|
|
|
### 民用场景
|
|
|
- **安保监控**: 保安巡逻时实时传输画面
|
|
|
- **应急救援**: 救援人员现场情况汇报
|
|
|
- **活动监管**: 大型活动现场监控
|
|
|
|
|
|
### 技术演示
|
|
|
- **远程教学**: 实地教学直播
|
|
|
- **技术展示**: 产品演示和技术验证
|
|
|
|
|
|
---
|
|
|
|
|
|
## 📞 技术支持
|
|
|
|
|
|
如有问题,请:
|
|
|
1. 查看控制台日志信息
|
|
|
2. 运行系统测试脚本
|
|
|
3. 检查网络配置
|
|
|
4. 参考故障排除指南
|
|
|
|
|
|
这个手机连接功能大大扩展了战场态势感知系统的应用场景,让移动侦察成为可能! |