MAVLink(Micro Air Vehicle Link,微型空中飞行器链路通讯协议)是无人飞行器与地面站之间通讯,以及无人飞行器之间通讯最常用的协议。它已经在PX4、APM、PIXHAWK和Parrot AR.Drone飞控平台上进行了大量测试。
QGroundControl则是一种操纵基于MAVLink通信协议的无人机的跨平台地面站开源软件。下面记录在Debian Linux下从源码编译QGroundControl的过程。
下载源码
1 2 3 4
| # 下载QGroundControl源码 git clone --recursive https://github.com/mavlink/qgroundcontrol.git # 更新子模块 git submodule update
|
安装编译环境
- 下载Qt社区版在线安装器,安装5.11.0版本的Qt,安装路径可在/opt下。
1 2 3 4
| # 注意要选择安装5.9+以上版本的Qt,因为构建QGC时需要 # 运行qtcreater $ cd /opt/Qt/Tools/QtCreator/bin/ $ ./qtcreator
|
1
| sudo apt-get install speech-dispatcher libudev-dev libsdl2-dev
|
- 解决编译时libQt5PositioningQuick.so.5不存在的bug
1 2 3
| sudo apt-get install libqt5positioningquick5 sudo find /usr/ -name libQt5PositioningQuick.so.5 cp /usr/lib/x86_64-linux-gnu/libQt5PositioningQuick.so.5 /opt/Qt/5.10.0/gcc_64/lib/libQt5PositioningQuick.so.5
|
- 将当前用户添加到dialout组,获取串口访问权限
1 2
| # 运行QGroundControl需要当前用户拥有串口访问权限 sudo usermod -a -G dialout $USER
|
编译运行
打开Qt Creater,打开qgroundcontrol.pro工程,构建后运行,即可打开QGroundControl地面站软件。
参考链接
- https://blog.csdn.net/hebbely/article/details/79022799, by hebbely
- https://dev.qgroundcontrol.com/en/getting_started/, by Dronecode