# 📱 手机连接功能使用指南 ## 🚁 无人机战场态势感知系统 - 手机扩展功能 这个功能允许你使用手机作为移动侦察设备,将手机摄像头图像、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. 参考故障排除指南 这个手机连接功能大大扩展了战场态势感知系统的应用场景,让移动侦察成为可能!