QGC二次开发
电脑:联想拯救者Lenovo R720,在电脑上安装虚拟机——>在虚拟机中安装UBuntu系统——>在Ubuntu中安装QGC以及Qt编译器。
1 安装VMware Workstation Pro以及UBuntu系统
1 下载
先在百度网盘上下载Ubuntu18.04-desktop-amd64.iso映像文件以及VMware Workstation Pro15.5.0rar压缩包。
1.1 VMware下载
接下来安装操作步骤进行安装,在点击安装之后会有许可证,其密钥是UY758-0RXEQ-M81WP-8ZM7Z-Y3HDA,最后点击安装完成。
1.2 Ubuntu下载
虚拟机中安装UBuntu系统,点开刚下载的VMware Workstation Pro,创建新的虚拟机,选择典型(推荐)——>稍后安装操作系统——>Linux(L)版本选择:Ubuntu 64位——>更改安装位置(建议不要安装在C盘,可以在D盘或其它磁盘下新建一个“ubuntu”文件夹)——>磁盘大小选择20G以上(最大磁盘大小:40.0G),同事选择的是“将虚拟磁盘拆分成多个文件”。——>自定义硬盘

这一部分我们添加的就是刚刚在百度网盘上下载的压缩包文件,直接双击添加进去,(图标和上图的不一样)。

接下来点击开启此虚拟机——>系统安装中——>中文(简体)——>安装Ubuntu——>继续——>继续——>现在安装——>继续——>继续——>输入姓名、密码,点击继续——>系统安装中——>现在重启——>点击Enter——>点击用户名——>输入密码,点击登录——>安装结束:在虚拟机里的Ubuntu系统界面图下。

2 安装VMware Tools
在VMware Workstation里面,只有安装VMware Tools后才能和物理机传文件和适应全屏。
打开虚拟机,登陆执行虚拟机——>安装VMware Tools菜单命令,自动挂载光驱(一般是自动挂载的,如果没有自动挂载请自行百度linux如何手动挂载光驱)——>在linux的文件管理器里打开光驱的界面,复制VMwareTools-10.2.5-8068393.tar.gz到桌面——>在桌面上右键,单击打开终端——>输入cd 桌面/(如果失败,这一步可以省略),按下Enter——>输入tar zxpf VMwareTools-10.2.5-8068393.tar.gz,按下Enter——>输入cd vmware-tools-distrib/,按下Enter——>输入sudo ./vmware-install.pl,按下Enter——>输入密码,注意在linux的终端里输入密码默认是不显示的,不要认为你的键盘坏了。一直按Enter。——>安装成功!当再次点击虚拟机上端“虚拟机(M)”,会看到倒数第二项显示的是“重新安装VMware Tools(T)…”
3 PX4环境搭建
3.1 下载PX4源码
通过命令:
git clone https://github.com/PX4/Firmware.git --recursive
克隆。克隆地址可以改成自己的码云地址。
但是这一步我们可以在Git官网上下载源代码,因为下载速度快。
Git官网 https://gitee.com/ 注册方便下载代码
点击官网右上角加号,点击最后一项从GitHub/GitLab仓库

https://github.com/PX4/Firmware.git 复制到第一栏。同时注意,是否开源:私有(private),公有(public),一定要选择公有(public)。

3.2 安装工具链
3.2.1 2017版本
说明:在这之前确保源码及其子模块都完整下载。在Firmware目录下执行(bash ./Tools/setup/ubuntu.sh,这个过程可能比较久,确保整个过程无错误,成功后最重要的就是已经安装了正确版本的arm-none-eabi-gcc,安装后执行arm-none-eabi-gcc --version

3.2.2 2016版本
或者下载的版本是在gcc-arm-none-eadi项目的官网上下载
https://launchpad.net/gcc-arm-embedded/+download

双击解压后的文件进入 gcc-arm-none-eabi-5_4-2016q3 -> bin. 这个文件夹中的便是软件的执行文件了,不过他们都是通过指令行调用的,但是在终端调用之前,我们需要把软件的路径置于系统的环境变量之下,这样系统才能过直接调用程序,否则我们每次执行都需要输入长长的路径系统才能够找到软件。打开终端输入:sudo gedit /etc/profile。打开profile文件后我们在其末尾添加:
export PATH=$PATH:/home/yangliu/Library/gcc-arm-none-eabi-5_4-2016q3/bin

图中红圈部分一定要改成自己的路径图中是一个例子,我自己在运用时,我改成了:/home/lcy3483826859/下载/Library/gcc-arm-none-eabi-5_4-2016q3/bin。
随后点击保存。在终端中输入指令更新系统路径。source /etc/profile。为了查看我们是否已经成功设置路径,在终端中输入:arm-non。点击Tab看看系统是否自动补全为:arm-none-eabi-。如果补全了,那么说明我们已经设置成功了,我们此时可以直接键入指令来调用工具链的程序。如果没有,说明你上面的环境变量设置步骤有误请重新检查自己的操作。 双击两下Tab则会把所有的工具链工具显示出来。

安装的是64位的ubuntu版本,则需要安装lsb-core才能正常使用这个工具链,使用指令:sudo apt-get install lsb-core。随后我们输入指令arm-none-eabi-gcc -v。之后重启一下,让系统更新全局环境变量。注意以上操作,从source 开始请使用一个终端,不要关闭,否则可能出错:无法找到工具链。实际按理说source指令和重启的效果是一样的,但在我安装的过程中却出错了,重启之后才变正常了。 还有个检查的方法就是,使用指令查看当前系统PATH变量的值,查看是否PATH中是否有刚刚设置的路径:echo $PATH

4 安装QGC
4.1 下载源码
最好还是在Git官网上下载
https://github.com/mavlink/qgroundcontrol
将上一行代码同样复制到git官网上(与PX4下载代码时一样)。注意:选择公开(public)。
4.2 安装QGC

5 关于Qt
5.1 下载Qt
https://download.qt.io/archive/qt/
这个网址中有Qt很多版本

要下载Linux的,就是qt-opensource-linux-x64-5.n.x.run
说明:我下载时QGC4.0(应该是4.0版本,反正是4以上版本的QGC)实在官网上下载的最新版本,而Qt下载的是之前版本的5.9.9,在运行之后Qt会报错:必须使用5.11版本以上才能运行。后来我有下载的是5.12版本,但是在Ubuntu中没办法卸载5.9的Qt(可能是我没找到),所以5.12下载之后并没有用到。然后拷贝过来3.4版本QGC,再放入到配置好的Qt中便可以运行。
5.2 配置Qt
我以5.12.8版本举例
从终端进入下载文件夹,一般是/home/用户名/Downloads,可以找到下载好的qt-opensource-linux-x64-5.12.8.run 给所有用户赋予qt-opensource-linux-x64-5.12.8.run可执行权限。
sudo chmod a+x qt-opensource-linux-x64-5.12.8.run。有权限后在该路经下执行就可以了:./qt-opensource-linux-x64-5.12.8.run。弹出安装指引窗口,按照指引填好QT Account(我记得以前有版本安装可以跳过),一路next,不建议修改默认路经。

修改完成后重启系统,或者使用"source /etc/profile"or ". /etc/profile"使得修改生效。source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。
在终端输入:qtcreator就能直接打开Qt Creator。
我们再新建一个Qt项目测试一下
File>>New File or Project,选择Qt Widgets Application,测试用基本可以一路next,后面可以自行删除项目。
建好的test项目,建好的test项目。
在mainwindow.ui上添加一个textBrowser控件,写上标准问候语

我的这部分是直接成功了,但是如果出现问题,有可能是以下内容:
Qt 默认在 /usr/lib/ 目录下查找动态链接库,但是很多 Linux 发行版将 OpenGL 链接库放在其它目录,例如使用的是 CentOS 7,OpenGL 链接库位于 /usr/lib64/ 目录,而对于 Ubuntu,OpenGL 链接库位于 /usr/lib/i386-linux-gnu/mesa/ 目录。只要我们把 libGL.so 拷贝到 /usr/lib/ 目录,或者在 /usr/lib/ 目录下为 libGL.so 创建一个链接,就能解决问题。显然第二种办法更好。
另外,Linux 发行版自带的 OpenGL 链接库在后缀中添加了版本号,例如 libGL.so.1、libGL.so.1.2.0、libGL.so.1.3.1 等,但是 Qt 在链接阶段查找的 OpenGL 链接库是不带版本号的。总起来说,我们需要在 /usr/lib/ 目录下为 OpenGL 链接库创建一个链接,并去掉版本号。
如果你不知道当前 Linux 系统中 libGL.so 的具体路经,可以使用locate libGL命令或find /usr -name libGL*命令查找,然后使用ln -s创建链接。按照方法进行操作:
#查找 libGL 所在位置

locate libGL
/usr/lib/x86_64-linux-gnu/libGL.so.1
/usr/lib/x86_64-linux-gnu/libGL.so.1.0.0
/usr/lib/x86_64-linux-gnu/libGLESv2.so.2
/usr/lib/x86_64-linux-gnu/libGLESv2.so.2.0.0

#创建链接,Linux 系统中可能存在多个版本的 libGL.so,为任意一个版本创建链接即可。普通用户没有权限创建链接,使用root用户或者sudo指令。
#sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1 /usr/lib/libGL.so
再次运行——>成功

使用git命令clone源码,更新
git clone --recursive https://github.com/mavlink/qgroundcontrol.git
git submodule update用Qt打开,一开始可能会有些messages输出,不用管

说明:下面图片是我现在已经加过QGC代码的界面,当第一次打开的时候应该是在圈出红圈的部分点击添加文件,而不是在左上角去点击添加新文件。由于我这个是添加文件后的样子,正常第一次打开应该是在红圈的右下角部分。反正只要别去点击左上角的文件——>打开文件或项目就可以。

我刚开始打开的时候,出现了比上图中更多的文件,但是最主要的就是把上图中的.pro文件找到就可以。然后点击左下角类似与▶的箭头,点击一下,第一次编译时间较长,需要等待。正常是一次就可以成功,但是我的当时是第一次没成功,紧接着又试着点了一下运行按钮,就成功了。编译完成后会出现这个页面,提示我们将用户加入权限组,并移除设备管理器,因为设备管理器会对串口造成影响。 在命令行输入 sudo usermod -a -G dialout $USER 和 sudo apt-get remove modemmanger 最后出现了QGC地面站,表示编译成功。连接上PIXHAWK,需要新建立一个串口,最好再重新启动一下Ubuntu

在Qt中导入QGC代码

说明:sudo vim /etc/profile,执行这条语句如果有问题,可能是再系统中没有Vim,还需要下载Vim。在末尾添加(注意:这里的路经对应安装路经,请检查自己的是否对应)export PATH="/opt/Qt5.12.8/Tools/QtCreator/bin:P A T H " e x p o r t P A T H = " / o p t / Q t 5.12.8 / 5.12.8 / g c c 6 4 : PATH" export PATH="/opt/Qt5.12.8/5.12.8/gcc_64:PATH"exportPATH="/opt/Qt5.12.8/5.12.8/gcc
6

4:PATH" (一定要注意版本问题,看好是Qt的什么版本以及路径)
1、下载 https://github.com/vim/vim
2、解压:unzip vim-master.zip
3、进入目录:/home/lcy3483826859/vim-master(注意看好自己的Ubuntu系统的名字)
4、配置、编译并安装(需要root权限,有相应权限即可)
./configure --prefix=/usr/local/vim && make && make install
6、查看vim的版本
7、修改默认vim,将原本vim7.0版本修改为vim7,添加软连接将新的vim8.0设置为默认vim
which vim
cd /usr/bin/
mv vim vim7
ln -s /usr/local/vim/bin/vim vim

6 相关网址链接
1.虚拟机安装Linux系统教程
[下载链接]:https://pan.baidu.com/s/1KAZuW46ObVmIXZeoccs90Q
[提取码]:wd5e
文章链接:https://mp.weixin.qq.com/s/OuClB4dwYh8_kZJfNRZWmQ
(1)安装虚拟机
(2)在虚拟机下安装Linux(ubuntu-18.04)系统。
2 安装VMare Tools
https://blog.csdn.net/u012273935/article/details/88675586

3.PX4环境搭建
(1)下载源码(2)安装工具链
https://blog.csdn.net/CSDN_X_W/article/details/105142281
4.下载安装gcc-arm-none-eabi
https://blog.csdn.net/zhengyangliu123/article/details/54783443
5.安装QGC
下载源码 https://github.com/mavlink/qgroundcontrol
Git官网 https://gitee.com/ 注册方便下载代码

点击官网右上角加号,点击最后一项从GitHub/GitLab仓库
将https://github.com/mavlink/qgroundcontrol 复制到第一栏
QGC官网 :https://docs.qgroundcontrol.com/master/en/getting_started/download_and_install.html

6.ubuntu中安装Qt5.12.8
https://blog.csdn.net/digitalkee/article/details/111125569?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-baidujs-1.nonecase
7.下载Qt
https://download.qt.io/archive/qt/
(我下载的是Qt5.9.9配置的是QGC3.4)
8. Linux QT 环境搭建
https://blog.csdn.net/todorovchen/article/details/21549671?ops_request_misc=&request_id=&biz_id=102&utm_term=ubuntu%E4%B8%AD%E9%85%8D%E7%BD%AEQt&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2-21549671.first_rank_v2_pc_rank_v29
9. Ubuntu18.04配置搭建基于Gazebo的虚拟仿真平台(Px4):无人机(UAV)等仿真平台(jMavsim)
https://zhuanlan.zhihu.com/p/344075425
10.将下载好的QGC源码在Qt中打开,安装qt环境开发QGC
https://blog.csdn.net/nieji3057/article/details/109215059?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161881833716780269813901%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161881833716780269813901&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-3-109215059.first_rank_v2_pc_rank_v29&utm_term=%E5%B0%86QGC%E4%BB%A3%E7%A0%81%E6%94%BE%E8%BF%87%E5%A6%82Qt%E8%BF%90%E8%A1%8C

资料:
哔哩哔哩视频 https://www.bilibili.com/video/BV1t7411W7mA?p=1
CSDN:https://blog.csdn.net/awujiang/article/details/81569878
(1)Resources/qgroundcontrol.qrc/ /qml,下面会出现很多.qml文件,这些qml文件就是在描述这些UI页面或者按钮似的东西一些属性特征,例如多高多宽,什么颜色等等。找不到也可以在左下角的搜索框直接搜索qml
(2)我们打开MainWindowlnner.qml,里面是描述上面提到的四个按钮UI的程序,例如,下面的程序就是显示Application Settings页面的程序。65——79行

QGC地面站小白安装与简单实用相关推荐

  1. Logstash 安装及简单实用(同步MySql数据到Elasticsearch)

    Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的.多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件 Windows环境: 1.下载logstas ...

  2. u盘安装ubuntu_简单实用的ubuntu18.04安装

    Linux诞生于1991年,Linus最初并没有想打造一个操作系统,然而Linus依然在为Linux而工作.现在Linux是世界上最大的网络协作项目,数十万人为Linux贡献代码. ubuntu 18 ...

  3. Kubernetes(k8s)安装部署+简单实用

    Kubernetes安装部署 Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署.自动扩缩容.维护等功能. 使用Kubernetes可以: 自动化容器的部署和复制 ...

  4. swoole 安装和简单实用

    Swoole是:PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,处理异步任务,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器, ...

  5. 凌波微步Flink——Flink安装及简单实用

    转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/88819199 本文出自[我是干勾鱼的博客] Ingredients: Java: ...

  6. 一阳指Kibana——Kibana安装及简单实用

    转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/89214284 本文出自[我是干勾鱼的博客] Ingredients: Java: ...

  7. Robot Framework应用——Mac环境下Robot Framework的安装及简单实用

    转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/116591032 本文出自[我是干勾鱼的博客] 下载robotframework ...

  8. QGC地面站中视频流配置及gstreamer安装

    QGC地面站中视频流配置及gstreamer安装 1. QGC地面站各版本视频流测试 2. 安装gstreamer 3. 修改路径 4. 地面站配置 5. Android版本安装 关于QGC地面站其它 ...

  9. 阵列卡u盘安装系统步骤_最简单实用的raid重装系统图文教程

    raid重装系统的方法,可能听过这种方法和使用过这种方法的网友都是比较少的,这种系统重装方法虽然现在使用的人不多,但是也是非常好用的.今天小编就要把raid重装系统的方法推荐给大家,下面就是最简单实用 ...

最新文章

  1. 转 Java的各种打包方式(JAR/WAR/EAR/CAR)
  2. 常见的正则表达式验证(更新中)
  3. Java中proc是什么意思,在java里头读取/proc/net/dev
  4. 很认真地聊一下 “选择比努力更重要”
  5. 一家踏实做产品,在疫情下销售增速仍达35%的公司,年报长啥样?
  6. Kubernetes-服务连接和暴露(endpoints)(二十)
  7. 蓝湖完成 10 亿元 C+ 轮融资,发布一站式产品设计协作工具
  8. C++_类和对象_对象特性_友元_成员函数做友元---C++语言工作笔记054
  9. cocos2dx游戏开发简单入门视频教程 (cocos2d-x)- 第4天
  10. Modeling Deformable Objects from a Single Depth Camera
  11. 字符串转码中文乱码问题的进一步理解 UTF-8 GBK转码
  12. spark aggregate函数详解
  13. 实力封装:Unity打包AssetBundle(四)
  14. Disease Ontology:人类疾病分类数据库
  15. Android游戏破解练习-大圣降魔录
  16. Network(无向图割点,tarjan)
  17. JavaWeb - 小米商城网 - 项目启动
  18. Maven项目右边依赖好多红色波浪线处理办法
  19. 华为桌面云虚拟机如何安装Ubuntu 20.04.3-live-server
  20. Everything 离线搜索功能详解 – 再也不怕找不到文件!

热门文章

  1. 离线状态下配置深度学习服务器-在ubuntu16.04 上安装python,pip以及包
  2. 机器视觉检测技术在汽车行业中的应用
  3. 基于IMDB评论数据集的情感分析
  4. oracle实例的内存(SGA和PGA)的调整和优化(转载)
  5. 基于货币供应量(M2)同比增长率序列的时间序列建模案例
  6. 用Java实现一个简单的考试系统
  7. 干货 | 免费GIS数据网站推荐
  8. gta4 oracle_GTA4车辆与现实车辆名字对照
  9. 〖产品思维训练白宝书 - 核心竞争力篇⑧〗- 产品经理核心竞争力解读之规划能力
  10. CSR8675的DSP学习笔记——离线调试与仿真