1. QGC概述与环境准备

大家好,我是你们的嵌入式讲师。今天咱们正式开讲《QGC 源码编译与环境搭建实战指南》的第一章。

QGC 是什么?说白了,它就是一套开源的无人机地面站软件。全称叫 QGroundControl。你想想看,无人机在天上飞,总得有个东西在地面上看着它、控制它吧?QGC 就是干这个的。

我最早接触 QGC 是在 2016 年,那时候它还在用 Qt4,界面远没现在这么漂亮。但它的架构设计让我印象很深——跨平台、插件化、支持多种通信协议。嗯,从那时起我就一直在用它做项目。

1.1 QGC 的应用场景

QGC 能做什么?我列几个典型的场景:

  • 无人机调试与参数调优——飞控的 PID 参数、传感器校准,都得靠地面站来完成
  • 任务规划——在地图上画航线、设航点,无人机按规划自动飞行
  • 实时监控——飞行姿态、电池电压、GPS 信号强度,所有数据一目了然
  • 日志分析——飞完一趟,把飞行日志拉下来分析,找问题原因
  • 二次开发——这是咱们课程的重点。QGC 完全开源,你可以改界面、加功能、对接自己的硬件

核心认知:QGC 不是玩具,它是 Pixhawk/ArduPilot/PX4 生态里最主流的地面站。全球数以万计的无人机开发者都在用它。

1.2 QGC 的架构概览

在动手编译之前,咱们先看看 QGC 的整体结构。我画了一张图,帮你快速建立认知框架。

QGC 软件架构概览 用户界面层 (Qt Quick / QML) 业务逻辑层 (C++ / Qt Core) 飞行控制 | 任务规划 | 参数管理 | 日志处理 通信与协议层 MAVLink 协议 | 串口 / UDP / TCP / 蓝牙 硬件抽象层 / 操作系统 关键特性 跨平台 插件架构 开源免费 MAVLink 多语言 地图集成 视频流 模拟器 日志分析 自定义 图 1-1 QGC 四层架构:UI → 业务逻辑 → 通信协议 → 硬件抽象

这张图我建议你多看两眼。QGC 的代码量很大,但分层很清晰。你只要抓住这四层,后面读源码就不会迷路。

1.3 硬件准备清单

搭建 QGC 开发环境,硬件方面其实不复杂。我列个清单:

硬件 最低要求 推荐配置 备注
CPU 双核 2.0 GHz 四核 3.0 GHz 以上 编译时多核优势明显
内存 8 GB 16 GB 或更高 编译 Qt 项目很吃内存
硬盘 50 GB 空闲 SSD 256 GB+ SSD 能省一半编译时间
操作系统 Windows 10 / Ubuntu 18.04 Windows 11 / Ubuntu 22.04 macOS 也可以,但社区主要用 Win/Linux
飞控硬件(可选) Pixhawk 系列 Pixhawk 4 或 Cube Orange 调试阶段需要,学习阶段可用模拟器

我的建议:如果你只是学习编译和二次开发,不需要买飞控硬件。QGC 自带模拟器,可以跟 SITL(软件在环仿真)配合使用。我当年学的时候,光靠模拟器跑了三个月,一样把源码啃透了。

1.4 软件准备清单

软件方面,这是重头戏。我按类别给你整理好:

1.4.1 版本管理工具

  • Git——必须装。QGC 源码托管在 GitHub 上,你得用 Git 拉代码、切分支、管理自己的修改
  • Git LFS——大文件存储。QGC 里有些资源文件比较大,没有 LFS 可能拉不下来

1.4.2 编译工具链

  • Qt 框架——QGC 基于 Qt 开发。建议用 Qt 5.15.x LTS 版本,稳定
  • CMake——跨平台构建工具。QGC 从 Qt 4 时代就用的 CMake
  • 编译器:
    • Windows:Visual Studio 2019/2022 或 MinGW
    • Linux:GCC 7.0+
    • macOS:Clang

1.4.3 依赖库

  • MAVLink——QGC 与飞控通信的协议库。编译时会自动拉取
  • OpenSSL——加密通信需要。Windows 下要单独装
  • Speech SDK——语音播报功能。可选,不影响核心编译

1.4.4 开发工具(推荐)

  • Qt Creator——官方 IDE,调试 QML 很方便
  • Visual Studio Code——我个人的主力编辑器,插件丰富
  • GitHub Desktop——如果你不习惯命令行 Git,可以用这个

注意:版本匹配很重要。我曾经在一个项目里用了 Qt 6.0 的预览版,结果 QGC 的 QML 组件有一半渲染不出来。折腾了两天才发现是版本兼容问题。所以,老老实实用 Qt 5.15.x,别追新。

1.5 环境搭建流程总览

我把整个环境搭建的步骤画成一张流程图,你跟着走就行:

QGC 开发环境搭建流程 1. 安装 Git + LFS 2. 安装 Qt 5.15.x 3. 安装 CMake + 编译器 4. 克隆 QGC 源码 5. 编译 & 运行 各步骤耗时参考 步骤1:5-10 分钟 步骤2:30-60 分钟 步骤3:10-20 分钟 步骤4:5-15 分钟 步骤5:20-60 分钟 总耗时:约 1.5-3 小时 (取决于网络和硬件) 第一次编译最慢 后续增量编译快很多 建议预留半天时间

嗯,这张图你保存好。后面几章我们会一步步拆解每个步骤。第一次搭建环境,顺利的话两小时能搞定。如果遇到网络问题,可能会拖到半天。

1.6 常见问题与避坑

我把自己踩过的坑分享给你,能帮你省不少时间:

坑一:Git LFS 没装,拉代码报错

我曾经在换电脑后忘了装 Git LFS,结果 git clone 到一半报错 "smudge filter lfs failed"。解决方案:先装 Git LFS,再执行 git lfs install,最后重新 clone。

坑二:Qt 安装时漏选组件

Qt 安装器默认只装一小部分。你得手动勾选:Qt 5.15.x → MSVC 2019 64-bit(Windows)或 GCC 64-bit(Linux),还有 Qt Charts 和 Qt Location。漏了的话编译到一半会报找不到头文件。

坑三:CMake 版本太旧

QGC 要求 CMake 3.16 以上。Ubuntu 18.04 自带的 CMake 是 3.10,直接编译会报错。解决方案:去 CMake 官网下载最新版,或者用 pip 安装。

1.7 本章小结

这一章咱们把 QGC 是什么、能干什么、需要什么硬件和软件,都捋了一遍。核心就三件事:

  • QGC 是开源地面站,四层架构,跨平台
  • 硬件要求不高,但 SSD 和大内存能显著提升体验
  • 软件准备是关键,Git、Qt 5.15、CMake、编译器,一个都不能少