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

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. 手机端连接

方法一:使用浏览器(推荐)

  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文件中可以调整

// 修改服务器地址
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. 参考故障排除指南

这个手机连接功能大大扩展了战场态势感知系统的应用场景,让移动侦察成为可能!