树莓派4B介绍

树莓派4B配备了一颗博通BCM2711处理器,28nm工艺,集成四核A72 1.5GHz,内置GPU频率为500MHz,性能比上代树莓派3B+提升了近50%,搭配1/2/4GB LPDDR4内存、千兆网卡、蓝牙5.0、USB 3.0接口、microHDMI接口。
树莓派实质上是一台迷你的嵌入式计算机,就像其他任何一台台式机或者笔记本那样,利用树莓派可以做很多事情。当然,也会存在一些差别。普通的计算机主板都是依靠硬盘来存储数据,但是树莓派则使用TF卡作为“硬盘”。
利用树莓派可以编辑文档、浏览网页、玩游戏、播放视频、播放音频等,还可以利用树莓派制作智能小车、示波器、电子相框、家庭影院、相机等。在树莓派的官网上,有很多开源的应用示例,可以通过下面的网址访问。
https://projects.raspberrypi.org/en

树莓派4B硬件基本组成图

树莓派4 android 源码 树莓派4b v1.2_树莓派

树莓派4B扩展接口

树莓派4 android 源码 树莓派4b v1.2_树莓派4 android 源码_02

迁移QT应用到树莓派

1.下载镜像

在树莓派官网有已经编译适配好的raspberry Pi OS镜像

地址:https://www.raspberrypi.com/software/

树莓派4 android 源码 树莓派4b v1.2_QT_03

2.烧录镜像

烧录准备:一个TF(建议16GB)、一个TF卡读卡器、烧录软件(balenaEtcher或者Win32DiskImager)

烧写软件可以使用balenaEtcher或者Win32DiskImager,此处我们以balenaEtcher为例:

1.首先将TF卡插到读卡器中,接入PC进行格式化处理

2.运行balenaEtcher,烧录完成后即可把TF卡插入到树莓派卡槽使用

树莓派4 android 源码 树莓派4b v1.2_树莓派_04

3.启动连接Pi方式

1.在没有显示器的情况下:需要在制作的镜像文件的TF卡的根目录放置一个名为ssh的空位文件用于建立ssh连接,然后接好网线使得树莓派和PC处于统一网络下,使用IP Scanner去扫描树莓派的IP地址,最后即可使用ssh进行连接
2.在有显示器的情况下,直接插好HDMI转接口,在显示器上操作

4.基础配置

树莓派运行起来后可以做一些基础配置方便使用

1、开启SSH服务(用于操作终端和传输一些小文件)

若拿到的树莓派是通过HDMI连接进入的操作系统,我们需要打开ssh服务,具体操作:
按ctrl+alt+T进入命令终端
输入:

sudo raspi-config

即可进入到图像界面配置,配置完成后通过ifconfig查看自己的ip,然后即可通过各种终端操作软件进行ssh建立连接

树莓派4 android 源码 树莓派4b v1.2_树莓派_05

2、开启VNC Server(免除显示器连接,通过VNC访问桌面)

同样的在这套系统中已经安装了VNC Server,需要用户在raspi-config中打开,操作和打开ssh基本一致。

用户可以在PC安装VNC Viewer,在PC和树莓派处于同一网络的情况下,在Viewer中输入树莓派IP以及用户名和密码即可访问树莓派的图形操作界面

3、更换下载源

树莓派本身里面放置的软件源的地址是来自树莓派官方的,所以下载速度会比较慢,为了方便下载和适用,我们需要将软件源更换为国内的源地址。

vi /etc/apt/sources.list

将其中原本的源路径注释掉,然后添加清华的源路径

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
vi /etc/apt/sources.list.d/raspi.list

同理也是注释掉原本的,添加新的源路径

deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui

最后更新一下

sudo apt-get update
sudo apt-get upgrade

5.安装QT

在树莓派上安装QT有两种方式,一种是自己下载交叉编译器去编译qmake,另一种是直接下载QT的软件到树莓派上
第一种方式适合在算力以及资源有限的开发板上进行,在PC上完成代码编译调试,最后交叉编译后即可运行。
第二种方式则较为方便,代码调试和运行都可以同步在树莓派上进行,免去交叉编译的环节。

交叉编译方式

交叉编译方式需要准备好所需版本的QT源码、交叉编译器
首先修改QT源码中的qmake.conf文件,配置交叉编译器作为编译工具链
然后就是安装一些编译过程中需要的库
最后就是漫长的

./configure 
make 
make install

完成qmake编译后我们需要将依赖库lib和qmake拷贝到树莓派上
最后在树莓派上配置一些系统环境变量即可

具体参考链接:

软件方式安装

在前面我们已经更换了国内的软件源,里面也有QT的软件资源,我们可以直接下载到树莓派上,在树莓派上直接运行QtCreator
在保证磁盘空间充足的情况下,通过以下指令进行安装:

pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get install qt5-default
pi@raspberrypi:~ $ sudo apt-get install qtcreator
pi@raspberrypi:~ $ sudo apt-get install qtmultimedia5-dev
pi@raspberrypi:~ $ sudo apt-get install libqt5serialport5-dev

树莓派4 android 源码 树莓派4b v1.2_QT_06

6.运行QT程序

对于第一种方式发布到开发板上的QT程序是由PC电脑上先通过交叉编译方式得到可以运行的bin文件,然后拷贝到树莓派上去运行的
第二种方式则是在树莓派上完成代码编写、编译、运行的流程,最后也是得到了可以运行的bin文件

前面已经可以将QT程序运行起来了,有时候需要软件可以自启动或者双击运行,而不是通过终端运行,归结了以下方式:

1.桌面写shell脚本,脚本内进行目录跳转和执行程序,双击此脚本即可
2.修改/etc/rc.local,将跳转和执行程序写入这个脚本,开机将会自动执行,缺点会阻塞执行
3.修改/etc/profile,和上一个类似,优势在于可以带上&在后台执行
4.守护进程,以进程方式启动