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.
6.4 KiB
6.4 KiB
📱 手机连接功能使用指南
🚁 无人机战场态势感知系统 - 手机扩展功能
这个功能允许你使用手机作为移动侦察设备,将手机摄像头图像、GPS位置和设备信息实时传输到指挥中心,扩展战场态势感知能力。
🌟 功能特性
📡 数据传输
- 实时视频流: 传输手机摄像头画面到指挥中心
- GPS定位: 自动获取和传输手机的精确位置
- 设备状态: 监控电池电量、信号强度等
- 人体检测: 在手机端进行AI人体检测
- 地图集成: 检测结果自动显示在指挥中心地图上
🛡️ 技术特点
- 低延迟传输: 优化的数据压缩和传输协议
- 自动重连: 网络中断后自动重新连接
- 多设备支持: 支持多台手机同时连接
- 跨平台兼容: 支持Android、iOS等主流移动设备
🚀 快速开始
1. 启动服务端
方法一:使用Web模式(推荐)
python run.py
# 选择 "1. Web模式"
# 在Web界面中点击"启用手机模式"
方法二:直接启动Web服务器
python main_web.py
2. 配置网络连接
确保手机和电脑在同一网络环境下:
- 局域网连接: 连接同一WiFi网络
- 热点模式: 电脑开启热点,手机连接
- 有线网络: 电脑有线连接,手机连WiFi
3. 获取服务器IP地址
在电脑上查看IP地址:
Windows:
ipconfig
Linux/Mac:
ifconfig
# 或
ip addr show
记下显示的IP地址(如 192.168.1.100)
4. 手机端连接
方法一:使用浏览器(推荐)
- 打开手机浏览器
- 访问
http://[服务器IP]:5000/mobile/mobile_client.html
- 例如:
http://192.168.1.100:5000/mobile/mobile_client.html
方法二:直接访问HTML文件
- 将
mobile/mobile_client.html
复制到手机 - 在文件中修改服务器IP地址
- 用浏览器打开HTML文件
5. 开始传输
- 在手机页面中点击"开始传输"
- 允许摄像头和位置权限
- 查看连接状态指示灯变绿
- 在指挥中心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文件中可以调整:
// 修改服务器地址
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信号强度
- 服务器状态: 确认服务器正常运行
- 自动重连: 等待自动重连或手动重连
调试方法
手机端调试
- 打开浏览器开发者工具 (F12)
- 查看Console面板的错误信息
- 检查Network面板的网络请求
服务端调试
- 查看控制台输出的日志信息
- 使用
python tests/test_system.py
测试系统 - 检查网络连接和端口状态
🌐 网络配置示例
局域网配置
电脑 (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秒间隔
🚁 实战应用场景
军用场景
- 前线侦察: 士兵携带手机进行前方侦察
- 多点监控: 多个观察点同时传输情报
- 指挥决策: 指挥部实时获取战场态势
民用场景
- 安保监控: 保安巡逻时实时传输画面
- 应急救援: 救援人员现场情况汇报
- 活动监管: 大型活动现场监控
技术演示
- 远程教学: 实地教学直播
- 技术展示: 产品演示和技术验证
📞 技术支持
如有问题,请:
- 查看控制台日志信息
- 运行系统测试脚本
- 检查网络配置
- 参考故障排除指南
这个手机连接功能大大扩展了战场态势感知系统的应用场景,让移动侦察成为可能!