一、QGC 概述与环境准备
大家好,我是你们的嵌入式讲师。今天咱们正式开讲《QGC 源码编译与环境搭建实战指南》的第一章。
QGC 是什么?说白了,它就是一套开源的无人机地面站软件。全称叫 QGroundControl。你想想看,无人机在天上飞,总得有个东西在地面上看着它、控制它吧?QGC 就是干这个的。
我最早接触 QGC 是在 2016 年,那时候它还在用 Qt4,界面远没现在这么漂亮。但它的架构设计让我印象很深——跨平台、插件化、支持多种通信协议。嗯,从那时起我就一直在用它做项目。
1.1 QGC 的应用场景
QGC 能做什么?我列几个典型的场景:
- 无人机调试与参数调优——飞控的 PID 参数、传感器校准,都得靠地面站来完成
- 任务规划——在地图上画航线、设航点,无人机按规划自动飞行
- 实时监控——飞行姿态、电池电压、GPS 信号强度,所有数据一目了然
- 日志分析——飞完一趟,把飞行日志拉下来分析,找问题原因
- 二次开发——这是咱们课程的重点。QGC 完全开源,你可以改界面、加功能、对接自己的硬件
核心认知:QGC 不是玩具,它是 Pixhawk/ArduPilot/PX4 生态里最主流的地面站。全球数以万计的无人机开发者都在用它。
1.2 QGC 的架构概览
在动手编译之前,咱们先看看 QGC 的整体结构。我画了一张图,帮你快速建立认知框架。
这张图我建议你多看两眼。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 环境搭建流程总览
我把整个环境搭建的步骤画成一张流程图,你跟着走就行:
嗯,这张图你保存好。后面几章我们会一步步拆解每个步骤。第一次搭建环境,顺利的话两小时能搞定。如果遇到网络问题,可能会拖到半天。
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、编译器,一个都不能少