Files
flyLink/README.md
flowerstonezl adc8f0569a app更新
2026-01-20 17:24:15 +08:00

251 lines
6.0 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SkyLink 项目总览
## 🎯 项目目标
SkyLink 是一个**多平台实时视频传输系统**,旨在为无人机、移动机器人和其他移动平台提供低延迟、高可靠性的实时视频流传输和地面控制能力。
## 🌟 核心特性
| 特性 | 说明 |
|------|------|
| 📺 **实时传输** | 低延迟的 UDP 广播,支持高清视频实时显示 |
| 🌐 **多平台支持** | 机载端 (ROS 2)、PC 地面站 (Qt 6)、移动端 (Android) |
| 📍 **GPS 集成** | 实时位置标注和轨迹记录 |
| 📊 **智能压缩** | 自适应 JPEG 压缩,根据网络状况动态调整质量 |
| 📈 **数据统计** | FPS、丢包率、带宽等实时统计 |
---
## 📂 项目结构
```
SkyLink/
├── README.md # 项目说明
├── INSTALL.md # 安装编译指南
├── PROTOCOL.md # 协议规范
├── protocol/ # [核心] 公共协议定义
│ ├── protocol.h # C++ 结构体定义
│ └── Protocol.kt # Kotlin 参考实现
├── skylink_ros2/ # [机载端] ROS 2 工程
│ ├── src/skylink_bridge/
│ │ ├── include/ # 头文件
│ │ ├── src/ # 源文件
| | ├── test/ # 相机测试文件
│ │ ├── launch/ # 启动脚本
│ │ ├── config/ # 参数配置
│ │ ├── CMakeLists.txt
│ │ └── package.xml
│ └── build.sh # 快速编译脚本
├── skylink_qt_station/ # [PC端] Qt 工程
│ ├── src/ # 源代码
│ │ ├── main.cpp
│ │ ├── MainWindow.*
│ │ ├── GroundReceiver.*
│ │ └── DataLogger.*
│ ├── forms/ # UI 文件
│ ├── resources.qrc
│ └── CMakeLists.txt
├── skylink_android_app/ # [移动端] Android 工程
│ ├── app/
│ │ ├── build.gradle.kts
│ │ └── src/main/
│ │ ├── AndroidManifest.xml
│ │ ├── java/com/skylink/app/
│ │ │ ├── MainActivity.kt
│ │ │ ├── network/
│ │ │ └── utils/
│ │ └── res/
│ ├── build.gradle.kts
│ └── settings.gradle.kts
```
---
## 🚀 快速开始
### 1⃣ 克隆仓库
```bash
git clone http://www.flowzl.top/flowzl/flyLink.git
cd skylink
```
### 2⃣ 机载端启动ROS 2
```bash
cd skylink_ros2
./build.sh
source install/setup.bash
ros2 launch skylink_bridge bridge.launch.py
```
### 3⃣ PC 端启动Qt 地面站)
```bash
cd ../skylink_qt_station
mkdir build && cd build
cmake ..
make
./skylink_station
```
### 4⃣ 移动端启动Android
在 Android Studio 中打开 `skylink_android_app`,编译并安装 APK
```bash
Build > Build Bundle(s) / APK(s) > Build APK
```
---
## 🔧 系统需求
| 平台 | 最低要求 | 推荐配置 |
|------|--------|--------|
| **ROS 2 机载** | Ubuntu 20.04, ROS 2 Foxy | Ubuntu 22.04, ROS 2 Humble |
| **Qt PC 地面站** | Windows 10 / Linux / macOS | Windows 11 + Qt 6.5+ |
| **Android 移动** | Android 11 (API 30) | Android 12+ (API 31+) |
---
## 🏗️ 核心架构
### 数据流
```
ROS 2 机载端
↓ (相机 + GPS)
编码为 JPEG + 分片
↓ (UDP 广播)
网络传输 (局域网 / WiFi)
接收端接收
↓ (收集分片)
重组 JPEG 数据
↓ (解码)
显示到屏幕
可选:保存文件或处理
```
### 核心组件
| 组件 | 说明 | 技术栈 |
|------|------|--------|
| **协议层** | 统一的数据包定义 | C++ Header / Kotlin Data Class |
| **机载端** | 图像采集 + 编码 | ROS 2 + OpenCV + JPEG |
| **PC 端** | UDP 接收 + 重组 + 显示 | Qt 6 + OpenGL |
| **移动端** | UDP 接收 + 解码 | Android + Coroutines |
---
## 📚 文档导航
| 文档 | 内容 |
|------|------|
| [README.md](README.md) | 快速开始、架构、启动命令 |
| [PROTOCOL.md](PROTOCOL.md) | 数据包结构、协议规范 |
---
## 🎯 主要用途
### 1. 无人机遥控
```
ROS 2 自主控制器 + 摄像头
→ UDP 广播视频流
→ PC 地面站实时监看
→ 操作员远程决策
```
### 2. 移动机器人监控
```
机器人搭载摄像头 + GPS
→ 通过 WiFi 传输视频
→ Android APP 实时接收
→ 云端存储日志
```
### 3. 户外勘测
```
手持摄像设备 + ROS 节点
→ 实时采集视频和位置
→ PC 端地面站绘图
→ 生成任务地图
```
---
## 💡 创新亮点
1. **跨平台统一协议** - 单一协议支持所有端
2. **自适应压缩** - 根据网络状况自动调整质量
3. **无缝 GPS 集成** - 每帧数据都带有位置信息
4. **高效分片重组** - 支持 UDP 乱序和丢包
5. **模块化设计** - 易于扩展和集成
---
## 🔮 后续规划
### 短期 (v1.1)
- [ ] 启用 CRC16 校验和错误检测
- [ ] 支持录音轨道
- [ ] 改进 UI 响应速度
### 中期 (v2.0)
- [ ] 基于 QUIC 协议的改进
- [ ] 多路视频流支持
- [ ] 云端数据同步
- [ ] AI 目标检测集成
### 长期 (v3.0)
- [ ] 支持 5G 和边缘计算
- [ ] 实时 3D 地图构建
- [ ] 高精度 RTK-GNSS 定位
- [ ] WebRTC 网页客户端
---
## 📞 联系方式
- 📧 **邮件**: support@skylink.dev
- 🐙 **GitHub**: https://github.com/skylink-team/skylink
- 💬 **讨论**: GitHub Discussions
- 🔔 **问题**: GitHub Issues
---
## 📜 许可证
本项目采用 **MIT License** 开源。详见 [LICENSE](LICENSE)。
---
## 🙏 感谢
感谢所有贡献者的辛勤工作!
## Contributors
<a href="https://github.com/skylink-team/skylink/graphs/contributors">
<img src="https://contrib.rocks/image?repo=skylink-team/skylink" />
</a>
---
**⭐ 如果您觉得这个项目有帮助,请给个 Star**
**最后更新**: 2026-01-19 | **维护者**: flowzl