Files
flyLink/INSTALL.md

298 lines
4.7 KiB
Markdown
Raw Normal View History

2026-01-19 17:08:49 +08:00
# SkyLink 安装和编译指南
## 系统需求
### 通用需求
- Git
- CMake 3.16+
- C++ 编译器 (GCC 9+ / Clang 10+ / MSVC 2019+)
### 机载端 (ROS 2)
- Ubuntu 22.04 LTS (推荐)
- ROS 2 Humble
- OpenCV 4.5+
- libjpeg-turbo
### PC 端 (Qt 6)
- Qt 6.2+
- OpenCV 4.5+
- CMake 3.24+
### 移动端 (Android)
- Android 12+ (API 31+)
- Android Studio Flamingo+
- Kotlin 1.9.20+
---
## 🔧 机载端编译 (ROS 2)
### 1. 安装 ROS 2 Humble
```bash
# 添加 ROS 2 源
sudo apt update
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) main" > /etc/apt/sources.list.d/ros2.list'
# 安装 ROS 2 Humble
sudo apt update
sudo apt install ros-humble-ros-core
```
### 2. 安装依赖
```bash
# 系统依赖
sudo apt install -y \
build-essential \
python3-dev \
python3-colcon-common \
libopencv-dev \
libjpeg-turbo-dev \
libmavros-dev
# ROS 2 依赖
sudo apt install -y \
ros-humble-rclcpp \
ros-humble-sensor-msgs \
ros-humble-cv-bridge \
ros-humble-image-transport \
ros-humble-mavros
```
### 3. 编译 SkyLink ROS 2 包
```bash
# 导入 ROS 2 环境
source /opt/ros/humble/setup.bash
# 进入项目目录
cd ~/skylink_ros2
# 运行编译脚本
./build.sh release
# 或手动编译
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
```
### 4. 启动机载端
```bash
# 导入编译产物
source ~/skylink_ros2/install/setup.bash
# 编辑配置文件(可选)
nano src/skylink_bridge/config/params.yaml
# 启动节点
ros2 launch skylink_bridge bridge.launch.py
```
---
## 🖥️ PC 端编译 (Qt 6)
### 1. 安装 Qt 6
```bash
# Ubuntu
sudo apt install -y \
qt6-base-dev \
qt6-tools-dev \
qt6-network-dev \
qt6-concurrent-dev \
libopencv-dev
# Windows (使用 Qt Online Installer)
# https://www.qt.io/download-open-source
```
### 2. 编译 SkyLink 地面站
```bash
cd ~/skylink_qt_station
# 创建编译目录
mkdir build && cd build
# 配置
cmake .. -DCMAKE_BUILD_TYPE=Release
# 编译
make -j$(nproc)
# 运行
./skylink_station
```
### 3. 基于 Qt Creator 开发
```bash
# 用 Qt Creator 打开项目
qtcreator CMakeLists.txt
# 或 .pro 文件(如果存在)
qtcreator skylink_station.pro
```
---
## 📱 移动端编译 (Android)
### 1. 安装 Android Studio
从 [Android 官网](https://developer.android.com/studio) 下载并安装。
### 2. 打开项目
```bash
# 在 Android Studio 中:
File -> Open -> 选择 skylink_android_app
```
### 3. 配置 SDK
- 打开 `Tools -> SDK Manager`
- 安装 Android SDK 34
- 安装 NDK 26+(如需原生代码)
### 4. 编译 APK
```bash
# 使用 Gradle (Android Studio 内)
Build -> Build Bundle(s) / APK(s)
# 或命令行
cd skylink_android_app
./gradlew build
```
### 5. 安装到设备
```bash
# 使用 ADB
adb install -r app/build/outputs/apk/release/app-release.apk
# 或在 Android Studio 中
Run -> Run 'app'
```
---
## 🐳 Docker 编译 (ROS 2 机载端)
### 1. 安装 Docker
```bash
# Ubuntu
sudo apt install docker.io docker-compose
# 启动 Docker 服务
sudo systemctl start docker
sudo usermod -aG docker $USER
```
### 2. 构建镜像
```bash
cd ~/skylink
docker-compose build ros2-bridge
```
### 3. 运行容器
```bash
docker-compose up -d ros2-bridge
# 查看日志
docker-compose logs -f ros2-bridge
```
---
## ✅ 验证安装
### 机载端
```bash
# 检查节点是否运行
ros2 node list
# 查看发布的 Topic
ros2 topic list
# 检查参数
ros2 param list
```
### PC 端
```bash
# 启动地面站应用
./skylink_station
# 或调试模式
gdb ./skylink_station
```
### 移动端
```bash
# 检查 APK 签名
jarsigner -verify -verbose -certs app/build/outputs/apk/release/app-release.apk
# 运行应用
adb shell am start -n com.skylink.app/.MainActivity
```
---
## 🔍 故障排查
### 编译错误
#### CMake 找不到 Qt 6
```bash
# 设置 Qt 6 路径
cmake .. -DQt6_DIR=/path/to/Qt6/lib/cmake/Qt6
```
#### 缺少 OpenCV
```bash
# 重新安装 OpenCV
sudo apt install libopencv-dev
# 或从源代码编译
```
### 运行时错误
#### UDP 端口被占用
```bash
# 查找占用端口的进程
sudo lsof -i :9999
# 修改配置文件中的端口
# skylink_ros2/src/skylink_bridge/config/params.yaml
```
#### 相机设备找不到
```bash
# 列出可用的摄像头
v4l2-ctl --list-devices
# 检查权限
sudo chmod 666 /dev/video0
```
---
## 📚 参考资源
- [ROS 2 官方文档](https://docs.ros.org/en/humble/)
- [Qt 6 官方文档](https://doc.qt.io/)
- [Android 开发指南](https://developer.android.com/docs)
- [OpenCV 教程](https://docs.opencv.org/)
---
**需要帮助?** 请提交 Issue 或查看 [CONTRIBUTING.md](CONTRIBUTING.md)