# 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)