前言
这是本人第一次写文章,旨在记录自己的树莓派学习过程,以及分享学习过程中遇到的问题,如果什么地方有错误,欢迎大家评论区批评指正。
第一章:树莓派5开机前知识准备
1.1 树莓派简介
Raspberry Pi(中文名为“树莓派”,简写为RPi、RasPi或RPI)是尺寸仅有信用卡大小的微型计算机,如图1.1所示。可以将树莓派连接电视、显示器、键盘鼠标等设备使用。因其尺寸小、价格便宜且扩展性强,树莓派能替代日常桌面计算机的多种用途,包括文字处理、电子表格、媒体中心甚至游戏。此外,我们所使用的树莓派5还可以双屏输出4KB的高清视频。
1.2
树莓派是一款开源的硬件,搭载着CPU、图形处理器、内存、USB控制器等,构成了一个片上系统。它虽然比笔记本电脑和台式计算机速度慢、性能低,但仍然是一个完整的Linux计算机,而且功耗极低。树莓派的很多项目都是开源的,有很全面的文档,使用者可以参与修改这些项目,或在其基础上创作自己的新项目。
我所使用的为最新的Raspberry Pi 5,其配备了运行频率为 2.4GHz 的 64 位四核 Arm Cortex-A76 处理器,CPU 性能比 Raspberry Pi 4 提升了 2 到 3 倍。此外,800MHz 的 VideoCore VII GPU 大幅提升了图形性能;通过 HDMI 实现了双 4Kp60 显示输出;重新架构的 Raspberry Pi 图像信号处理器支持最先进的摄像头。
这是首次使用 Raspberry Pi 内部制造的硅芯片的全尺寸 Raspberry Pi 计算机。RP1 为 Raspberry Pi 5 提供了大部分 I/O 功能,在外设性能和功能方面实现了质的飞跃。总的 USB 带宽增加了一倍多,从而提高了与外部 UAS 驱动器和其他高速外设的传输速度;早期型号上的专用双通道 1Gbps MIPI 摄像头和显示接口已被一对四通道 1.5Gbps MIPI 收发器取代。 通过支持 SDR104 高速模式,SD 卡的峰值性能提高了一倍;该平台首次开放了单通道 PCI Express 2.0 接口,为高带宽外设提供支持。
树莓派有两种型号即A和B,型号B的可扩展性远胜于A,如内存、USB口的数量、网卡等。所以A型的价格相对更加优惠,且功耗更低。型号A+和型号B+分别是相对于型号A和型号B的升级版本。在树莓派的终端中,可以通过以下命令查看树莓派的型号:
cat /proc/cpuinfo
我们的Raspberry Pi5显示为:
最后一行Model行显示的就是你的树莓派型号。
1.3 系统
树莓派主要的操作系统为Linux操作系统,许多Linux发行版都为树莓派提供了优化的版本。两个最流行的版本是Raspberry Pi OS(也称为Raspbian)和Pidora,其中Raspberry Pi OS是基于Debian操作系统,Pidora是基于Fedora操作系统。对于初学者来说,两个系统都是可以选择的,但最好是选择一个和平时使用的桌面系统或服务器环境较为相似的系统。如果想尝试不同的Linux发行版,但是不能确定使用哪个版本时,可以尝试最新生成软件(New out of Box Software,NOOBS)。当第一次从TF卡启动时,它会提供一个菜单让使用者选择,并列出多个Linux发行版,包括Raspberry Pi OS和Pidora。如果想尝试不同版本的系统,或是系统出现问题,只需要在启动时按住键盘上的Shift键,就会重新弹出该选择菜单。当然还有很多其他的选择,OpenELEC和RaspBMC同样是基于Linux的发行版系统,它们主要用于作为媒体中心的树莓派。树莓派支持的系统非常多,例如:Raspberry Pi OS、Arch Linux ARM、Debian Squeeze、Firefox OS、Gentoo Linux Google Chrome OS、Raspberry Pi Fedora Remix、Slackware ARM QtonPi、Slackware ARM、WebOS、RISC OS、FreeBSD、NetBSD、Android 4.0(Ice Cream Sandwich)等。也有非Linux的系统,如运行在树莓派上的RISC系统和Windows 10 IoT。一些树莓派爱好者为了学习操作系统原理,甚至利用树莓派来设计自己的操作系统。
本来我是习惯使用Ubuntu系统的,不过树莓派5所支持的Ubuntu系统版本比较高,我学习树莓派的目的是用来作为机器人的主控,较高版本的Ubuntu支持(22.04及以上)的ROS2,所以我之后会选择官方的Raspberry Pi OS系统安装。
1.3.1 Raspberry Pi OS简介
Raspberry Pi OS(Raspbian)发行版是基于Debian系统的Linux发行版,其针对Raspberry Pi硬件进行了优化,即Raspberry Pi OS系统是Debian 7.0/wheezy的定制版本。得益于Debian从7.0/wheezy开始引入的“带硬件浮点加速的ARM架构”,Debian 7.0在树莓派上的运行性能有了很大提升。Raspberry Pi OS默认使用LXDE桌面,内置C和Python编译器。操作系统是使Raspberry Pi运行的一组基本程序。但是,Raspberry Pi OS提供的不只是一个纯粹的OS系统,它带有35 000多个软件包,以稳定兼容的格式捆绑了大量预编译的软件,可以轻松地在Raspberry Pi上安装。但是,Raspberry Pi OS仍在积极开发中,其重点是尽可能提高Debian软件包的稳定和性能。Raspberry Pi OS系统不属于树莓派基金会。该系统是由专门的小型开发团队创建的,该开发团队的成员都是树莓派以及Debian Project的爱好者。Raspberry Pi5使用的是Debian 12版本的系统,别名bookworm。
1.3.2 Raspberry Pi OS系统的窗口系统
Raspberry Pi OS的标准窗口系统是LXDE, LXDE是一个轻量级的桌面环境,其基本组件与大多数的Windows窗口类似。在窗口的左上角显示出基本的操作菜单和应用的快捷方式,右上角显示出当前已启用的服务状态。树莓派启动后直接进入桌面环境,在桌面上通过双击的方式运行一个程序、打开文件管理器或编辑文件,也可以使用右键打开下拉菜单,再选择相应的命令。单击桌面左上角的树莓派图标,可以使用树莓派预装的一些应用,涵盖了编程(以后会经常使用的Thonny Python IDE)、教育、办公、互联网、影音、图像、游戏等各个领域,还有一些系统常见的软件工具等。在底部的Shutdown选项中,可以选择Shutdown(关机)、Reboot(重启)或Logout(登出)命令。打开树莓派的文件管理器,进入文件管理系统,显示Raspberry Pi OS系统的一些基础文件夹,如下图所示。各个文件夹存放的内容如下:
/bin:放置与Raspberry Pi OS有关的(包括运行图形界面所需的)二进制可执行文件。
/boot:放置Linux内核以及其他用来启动树莓派的软件包。
/dev:这是虚拟文件夹之一,用来访问所有连接设备,包括存储卡。
/etc:系统管理和配置文件。
/home:Linux上的我的文档,包含用户命名的文件夹。
/lib:各种应用需要的代码库。
/lost+found:一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media:放置可移动存储驱动器,例如USB和CD。
/mnt:用来手动挂载外部硬件驱动器或存储设备。
/opt:可选软件文件夹,非系统部分的软件将会放置在这里。
/proc:用于输出内核与进程相关的虚拟文件系统。
/root:管理员主目录。
/run:与运行中进程相关的数据,通常用于存放进程的pid文件。
/sbin:放置超级用户使用的系统管理命令。
1.4 电源
不同版本的树莓派使用的电流输出差别较大,就树莓派5而言,官方推荐的是Raspberry Pi USB-C电源:
Raspberry Pi 生产两种不同的 USB-C 电源。
第一款是 Raspberry Pi 15W USB-C 电源,是 Raspberry Pi 4 和 Raspberry Pi 400 的推荐电源。第二种是 Raspberry Pi 27W USB-C 电源,它能在 +5.1V 电压下提供高达 5A 的电流,是 Raspberry Pi 5 的推荐电源。
即使支持 USB-PD 的手机充电器标榜功率超过 15W,但几乎所有充电器都是通过提高电压而不是在 +5V 电压下提供更多电流来实现这一目标的。如果您使用的电源在首次启动时不能在 +5V 电压下提供 5A 电流,则操作系统会警告您外设的电流将限制在 600mA。
注意
推荐使用 Raspberry Pi 官方电源,它可以在电流快速波动的情况下持续提供 +5V 电压。当我们使用 Raspberry Pi 外围设备时,这种需求波动很常见也很频繁。其他电源(通常设计用于为手机充电提供稳定的电流)并不能很好地应对电源波动。官方电源还附有一条(俘获式)USB 电缆,这意味着你不会不小心使用劣质或 "哑巴 "电缆,而其他电源可能会出现这种问题。
警告
如果使用的是具有 USB-PD 功能的第三方多端口电源,在为 Raspberry Pi 供电的同时为电源插入其他设备会导致电源和 Raspberry Pi 之间重新协商。如果 Raspberry Pi 处于通电状态,这种情况会无缝发生,但如果 Raspberry Pi 插上电源并断电,这种重新协商可能会导致 Raspberry Pi 启动。
可以使用 vcgencmd 检查 USB 端口的电源输出状态。
vcgencmd get_config usb_max_current_enable
默认情况下,使用 3A 电源时不会启用 USB 启动。不过,之后在 /boot/firmware/config.txt 文件中设置 usb_max_current_enable=1 就可以在使用较低功率电源时启用 USB 启动。
1.5 散热
树莓派5性能相比树莓派4B有了很大的提升,这也让CPU功耗的热量也大幅度提升,为了让树莓派能够正常工作,建议使用主动冷却器来作为冷却的解决方案。
主动冷却器带有一个单片阳极氧化铝散热片(Active Cooler),有集成鼓风机。它预装了导热垫,使用弹簧推针直接安装到 Raspberry Pi 5 电路板上。
径向鼓风机可以达成低噪音和延长使用寿命,它推动空气通过挤压和铣削的铝制散热片。主动冷却器的冷却性能略优于风扇散热箱。
安装了主动冷却器的树莓派 :
1.6
树莓派还具有很多的功能,此处就不一一赘述,在后面的学习中我使用到对应功能的时候在细细记录。
下一章,我准备记录一下在使用 Raspberry Pi OS系统前需要简单了解的命令。今天的记录就到这里吧。