You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Software_Architecture/distance-judgement/MOBILE_GUIDE.md

246 lines
6.4 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 📱 手机连接功能使用指南
## 🚁 无人机战场态势感知系统 - 手机扩展功能
这个功能允许你使用手机作为移动侦察设备将手机摄像头图像、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 ≥ 4GBAndroid 8+ / iOS 12+
- **服务器**: 双核CPURAM ≥ 4GB
### 优化设置
- **高质量模式**: 0.7质量1秒间隔
- **平衡模式**: 0.5质量1秒间隔推荐
- **省流量模式**: 0.3质量2秒间隔
## 🚁 实战应用场景
### 军用场景
- **前线侦察**: 士兵携带手机进行前方侦察
- **多点监控**: 多个观察点同时传输情报
- **指挥决策**: 指挥部实时获取战场态势
### 民用场景
- **安保监控**: 保安巡逻时实时传输画面
- **应急救援**: 救援人员现场情况汇报
- **活动监管**: 大型活动现场监控
### 技术演示
- **远程教学**: 实地教学直播
- **技术展示**: 产品演示和技术验证
---
## 📞 技术支持
如有问题,请:
1. 查看控制台日志信息
2. 运行系统测试脚本
3. 检查网络配置
4. 参考故障排除指南
这个手机连接功能大大扩展了战场态势感知系统的应用场景,让移动侦察成为可能!