树莓派 3B/3B+/4B 的基本配置(保姆级新手教程)


现市面上树莓派相关配置教程多而杂,新手用户缺少一个系统和完整的配置过程,本篇结合各种博文和个人踩坑经历,整理出一篇比较完整的新手配置树莓派教程,旨在帮助更多树莓派的新手玩家快速入门,也可以根据目录找到想要查找的内容跳跃式阅读。本篇教程使用树莓派 3B+ 为主体编写,所有内容同样适用于树莓派 3B 和 4B。


一、准备工作

1. 硬件准备

1-1. 树莓派和电源适配器

很多新手玩树莓派时,给树莓派提供的电源都是来自电脑的 USB,通常情况下 USB 2.0 接口课提供5V 500mA的输出功率,USB 3.0 接口课提供5V 900mA的输出功率。从下图的各种不同版本的树莓派单板(未收录树莓派 4B 的数据)的功耗来看,在不使用其他外设的情况下,电脑的 USB 3.0 接口能为树莓派 3B+ 提供稳定的电源。

在这里插入图片描述

但是考虑到后期会使用各种外设,最好给树莓派配个适配器。适配器可以选择树莓派官方使用的适配器,但是价格较贵,可以使用其他适配器平替,我这里用的是最大输出功率为 5V 2.5A 的适配器。

在这里插入图片描述

1-2. USB 转 TTL 模块

市面的 USB 转 TTL 模块很多,USB 转 TTL 模块的常见芯片有 CH340CP2102,这两种芯片都支持多种操作系统,如Windows、Mac和Linux,使用简单易懂,应用范围广泛。我测试了两种不同串口模块,性能基本一致,可以放心购买使用。该模块主要用于树莓派的终端访问和串口输出的测试,前期树莓派还未配置 SSH 访问,只能通过串口(或者直接接上 HDMI ,用显示器访问)访问终端。我将以相对较便宜的 CH340 串口模块为例,进行后续的操作。

在这里插入图片描述

1-3. 读卡器和 TF 卡

读卡器市面也非常多,不过也都是很成熟的产品,放心购买使用。TF 卡(Micro SD 卡),最小选择 8 GB 容量以上的、class 10 级以上的高速闪迪卡,使用其他品牌的 TF 卡(非闪迪的 TF 卡),系统启动过程中会出现问题(有很多朋友都在反馈这个问题),比如系统启动到一半卡住不动,或者 reboot 命令无法正常使用,最后都是换了闪迪牌的 TF 卡后才解决的。所以新手最好使用的是闪迪牌的 TF 卡,不然前期学习时的各种使用问题会严重消耗学习的热情。

在这里插入图片描述

1-4. 若干杜邦线

2. 软件下载

2-1. 下载 Raspberry Pi OS

下载树莓派系统镜像的途径很多,我建议直接在树莓派的官网下载(官网链接:Operating system images – Raspberry Pi),新手推荐下载 Raspberry Pi OS with desktop,就是带有桌面的系统版本,使用 Windows 系统的远程桌面连接访问树莓派时,会显示图形界面,或者在使用显示器连接树莓派时,也会对应的桌面。

打开链接后,找到下图对应的位置,点击深蓝色的Download按钮即可下载。

在这里插入图片描述

2-2. 下载 SD Card Formatter

不同的操作系统对都有对应的文件系统,而 TF 卡出厂未经格式化(即未确定文件系统格式)或者当前的文件系统格式与树莓派不兼容,会导致树莓派无法识别,树莓派系统无法正常刻录。因此需要格式化,指定存储的文件系统,以使树莓派能够识别和使用。

内存卡格式工具也非常多,这里推荐一款免费的软件—— SD Card Formatter,下载链接:Download SD Card Formatter for Windows and Mac。根据自己电脑的操作系统下载对应的软件版本即可。

在这里插入图片描述

2-3. 下载系统镜像刻录软件

系统镜像刻录到 TF 卡需要用到系统镜像刻录软件,可以选择 Win32 Disk Imager 或者使用树莓派官方提供的 Raspberry Pi Imager。不过建议使用 Win32 Disk Imager,因为 Raspberry Pi Imager 只能用来刻录树莓派的系统,而我们不可能只局限于树莓派,之后还会接触到其他 Linux ARM 开发板。

Win32 Disk Imager 下载链接:Win32 Disk Imager - Download Official Site

进入网页后点击下方的DOWNLOAD按钮即可下载。

请添加图片描述

当然了,想体验一下官方工具的小伙伴也可以下载来试一下。下载链接:Raspberry Pi OS – Raspberry Pi

使用 Windows 系统的小伙伴可以直接点击Download for Windows按钮进行下载,使用 Mac OS 的则选择Download for macOS

请添加图片描述

2-4. 下载远程终端软件

远程终端软件是用于用户与树莓派之间进行交互的软件,市面上的远程终端软件也是非常多,我个人使用较多的是 MobaXterm,功能非常强大,唯一的缺点就是对英语不好的小伙伴不友好,软件目前没有汉化版本。

下载链接:MobaXterm - Download。软件类型分家庭版和专业版,家庭版相较于专业版功能少了很多,重点是免费,前期用于学习也够用了。

请添加图片描述

点击Download now按钮后,会跳转到如下界面,蓝色按钮和绿色按钮都是下载按钮,蓝色按钮是Portable edition,也就是绿色版,不需要进行安装程序,即下即用。绿色按钮是Install edition,为安装包,下载好后还需要安装才能使用。实测两者区别不大,对新手来说越简单越好,直接选择Portable edition下载就可以了。

请添加图片描述

2-5. 下载串口驱动(CH341驱动)

一般玩过单片机的小伙伴这一步可以跳过,基本上学过串口相关知识和编程的,都会下载和安装串口驱动,用于下载单片机程序和串口相关的测试。

如果之前没有接触过单片机或者串口的小伙伴就需要安装这个驱动,下载链接:CH341SER.EXE

CH340 和 CH341 是兼容的,虽然作用不同、通信方式不同、接口不同,但是都可以使用相同的驱动。

请添加图片描述

3.软件安装

3-1. 安装 Win32 Disk Imager

双击运行win32diskimager-1.0.0-install.exe,选择I accept the agreement,单击Next按钮。

在这里插入图片描述

输入安装路径,默认是“C:\Program Files (x86)\ImageWriter”,我这里改成“D:\ImageWriter”,单击Next按钮。

在这里插入图片描述

下一个界面直接单击Next按钮跳过,然后到下图的界面,可以把这个选项勾上,这样可以在桌面看到这个软件的快捷方式,再单击Next按钮。

在这里插入图片描述

直接单击Install按钮安装,静静等待安装结束就可以了。

在这里插入图片描述

安装完毕会有下面这个界面,有两个复选框,第一个是打开说明书,可以不看。第二个是运行 Win32 Disk Imager,暂时先不允许,所以两个勾都可以去掉,直接点击Finish完成安装。

在这里插入图片描述

3-2. 安装 SD Card Formatter

下载好的 SD Card Formatter 是一个名为SDCardFormatterv5_WinEN.zip压缩包文件,双击打开压缩包,可以不用解压,直接双击运行里面唯一的文件SD Card Formatter 5.0.2 Setup EN.exe

在这里插入图片描述

如果有下面这个弹窗,直接点击确定按钮即可。

在这里插入图片描述

等接下来的弹窗走完进度条,就可以看到下面的弹窗了,直接单击Next按钮。

在这里插入图片描述

选择I accept the terms in the license agreement,单击Next按钮。

在这里插入图片描述

安装路径默认是“C:\Program Files (x86)\SDA\SD Card Formatter\”,我这里改成“D:\SDA\SD Card Formatter\”,先单击change按钮会出现弹窗,在弹窗下方的 Folder name 一栏中,输入想要更改的安装路径,单击OK按钮关闭弹窗,修改完路径后,再单击Next按钮。

在这里插入图片描述

直接单击Install按钮安装,等待安装结束。

在这里插入图片描述

安装结束后,可以把这个界面的勾去掉后,点击Finish按钮结束安装。

在这里插入图片描述

3-3. 安装 Raspberry Pi Imager

如果已经安装了 Win32 Disk Imager 了,这个软件可以不安装,直接跳过。如果想体验树莓派官方刻录工具,可以按下面的步骤完成安装。

下载好的安装包是名为imager_1.7.5.exe的可执行文件,直接双击运行。会弹出下面的弹窗,直接单击Install按钮。

在这里插入图片描述

等待进度条跑完,就完成安装了,同样不勾选复选框,点击Finish按钮结束安装。

在这里插入图片描述

3-4. 安装串口驱动(CH341驱动)

这个驱动即使没玩过单片机也可能已经安装了这个驱动,如果不确定自己的电脑是否已经安装了该驱动,可以先将 USB 转 TTL 模块插入电脑,听听是否有提示音,如果不确定有没有提示音,可以打开设备管理器查看。

如下图,在插入 USB 转 TTL 模块后,在“端口”的分叉树种有出现USB-SERIAL CH340的字样,就说明已经安装了驱动,这一步可以跳过。

在这里插入图片描述

如果即没有提示音,“端口”分叉树中也没有对应字样,且在“其他设备”的分叉树中出现了带有感叹号的黄色三角牌的USB Serial,就说明该电脑没有安装对应的驱动。这时就安装对应的驱动。

在这里插入图片描述

先拔掉 USB 转 TTL 模块,双击运行下载的驱动安装程序CH341SER.EXE,点击安装按钮。

在这里插入图片描述

安装好后,会有弹窗提示驱动预安装成功,直接点击确定按钮退出(不是关闭软件)。

在这里插入图片描述

然后插入 USB 转 TTL 模块,再次单击安装按钮,就会有弹窗提示驱动安装成功,再次单击确定按钮后,退出后就完成安装了。

在这里插入图片描述

二、树莓派系统安装和配置

1. 系统安装

由于上面介绍了两款安装系统的软件,所以关于系统安装就有两种办法,下面会分别介绍。不过在安装系统之前,需要把 TF 卡先格式化,具体操作如下:

先把 TF 卡装进读卡器,然后插到电脑的 USB 接口,再打开 SD Card Formatter 软件。软件会自动识别 TF 卡,选择Quick format,再单击下方的Format按钮开始格式化。

在这里插入图片描述

随后的弹窗直接单击,等跑完进度条就完成了格式化。

在这里插入图片描述

格式化完成后,直接单击弹窗的确定按钮,关闭软件即可。

在这里插入图片描述

如果之后需要刷新系统,都要先进行一下格式化。

格式化结束后就可以开始刻录系统了,两个不同的刻录软件,分两种方法供大家参考。

1-1. 方法一:Win32 Disk Imager 刻录系统

在刻录之前,需要先将下载好的系统解压出来,然后打开 Win32DiskImager 软件,确认好 TF 卡的盘符,点击小文件夹按钮选择镜像的路径。

在这里插入图片描述

选择刚刚解压好的镜像文件

在这里插入图片描述

单击写入按钮,随后的弹窗选择Yes
在这里插入图片描述

系统开始刻录进 TF 卡,刻录时间根据电脑性能决定。

在这里插入图片描述

刻录成功,单击弹窗的OK,再退出软件即可。

在这里插入图片描述

1-2. 方法二:Raspberry Pi Imager工具刻录

使用这个办法刻录系统可以不用解压树莓派官网的压缩包,甚至都不需要下载,因为这个软件本身附带系统下载功能,可以选择系统之后下载对应的系统并刻录进指定的 TF 卡。本次只介绍已经下载好系统镜像压缩包的刻录过程。

Raspberry Pi Imager 安装好后,并没有在桌面创建快捷方式,可以在任务栏的搜索中输入Raspberry找到。

在这里插入图片描述

找到后,点击软件图标即可运行。

在这里插入图片描述

点击左边的选择操作系统,会有系统选择弹窗,第一个选项就是在该软件上下载系统镜像后再烧录进 TF 卡,由于系统已经下载好,可以滑动菜单到最下方。

在这里插入图片描述

选择最下面的使用自定义镜像,然后在弹窗中找到系统镜像压缩包的路径,可以不需要解压。

在这里插入图片描述

选择好系统镜像后,点击选择 SD 卡按钮。

在这里插入图片描述

这里会自动识别仅有的一张 TF 卡,选择即可。

在这里插入图片描述

选择好后,可以直接点击烧录按钮,也可以点击下方的小齿轮,也就是设置按钮,进行一些配置。

在这里插入图片描述

如果点击设置按钮,可以设置主机名、开启 SSH 服务,WiFi 等等,本次先跳过这些设置,之后再来说明这种设置有什么具体作用。

在这里插入图片描述

单击烧录按钮,会有如下弹窗,直接选择

在这里插入图片描述

系统烧录中。

在这里插入图片描述

Raspberry Pi Imager 烧录后,还多一步验证文件。

在这里插入图片描述

系统烧录成功,关闭弹窗,退出软件。

在这里插入图片描述

2. 系统配置

系统刻录好之后,先别着急装进树莓派,有些配置没设置好,树莓派没办法正常使用。先找到 TF 卡对应的盘符,因为刷入了系统,卷标被命名为bootfs,双击打开这个盘符,如下图所示,当前就是树莓派系统的根目录。

在这里插入图片描述

找到文本文件config.txt,双击打开,把下面的代码输入在文本的最后一行,这行代码可以停止蓝牙对串口 1 的占用,之后使用 SSH 登录访问树莓派时,在回头把这行代码删除。

dtoverlay=pi3-miniuart-bt

接着找到文本文件cmdline.txt,复制一个到本地保存备用,然后打开 TF 卡里的文本文件,删除里面全部内容,替换成下面的代码,目的是为了让串口 1 作为远程终端的接口,并且设置了波特率为 115200 bps。

dwc_otg.lpm_enable=0 console=tty1 console=serial0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

然后在根目录下新建一个文件,命名为userconf.txt,在userconf.txt输入如下内容:

pi:$6$/4.VdYgDm7RJ0qM1$FwXCeQgDKkqrOU3RIRuDSKpauAbBvP11msq9X58c8Que2l1Dwq3vdJMgiZlQSbEXGaY5esVHGBNbCxKLVNqZW1

加上这个文件的目的是为了能正常登录树莓派,2022 年 4 月之前的版本都是自带userconf.txt这个文本文件的,可以正常用默认账户和密码登录树莓派。但是在2022 年 4 月之后的版本,官方把这个文件移除(据说是为了安全),如果不加这个文件,只能通过外接 HDMI 的显示器来创建账户来登录树莓派,或者使用树莓派官方的镜像烧录工具,也就是 Raspberry Pi Imager,在烧录镜像前先设置好账户和密码,以及配置好 WiFi 和 SSH 服务器,当系统烧录之后,直接用 SSH 访问树莓派,用设置好的账户和密码登录也能正常使用。

上面那段代码,其实就设置 username 为 pi,password 为 raspberry,那一长串 hash 就是 raspberry。

系统配置好后,就可以取出 TF 卡,装上树莓派了。

三、串口访问树莓派

1. 串口接线

1-1. 树莓派串口引脚

通过查看查看树莓派 3B+ 的引脚图,先找到树莓派的串口引脚,也就是 UART TX 和 UART RX。TX 就是 Transmit,用于发送信号,RX 就是 Receive,用于接受信号。两个引脚如下图所示(红框标识),按图示的位置,在双排针脚的右边第四脚和第五脚。(注:图中所有的地线就是GND

在这里插入图片描述

1-2. USB 转 TTL 模块引脚

市面上的 USB 转 TTL 模块众多,但是接线和使用方法都是一致的,同样是找到 TX 和 RX,或者标为 TXD 和 RXD。以单排引脚的 USB 转 TTL 模块为例,那就是所见即所得。

在这里插入图片描述

单排引脚的 USB 转 TTL 模块比较简单,下面双排 10 PIN 引脚的 USB 转 TTL 模块,新手小白可能不太确定引脚和示意图的对应关系,这里也标注出来。通常这类 USB 转 TTL 模块都有一个缺口,缺口朝左,左边的第二引脚和第三引脚就分别是 RXD 和 TXD 了。

在这里插入图片描述

1-3. USB 转 TTL 模块与树莓派的连接

接线是新手最容易犯错的地方,很多小白以为把引脚一一对应起来就可以了,也就是把树莓派的 TX 和 USB 转 TTL 的 TX 接一起,树莓派的 RX 和 USB 转 TTL 的 RX 接一起就可以了。其实要实现串口通信,TX 和 RX 要交叉接线,而且为保证信号的稳定性,还需要把 GND 接起来,用于来平两设备之间的电势,如下图所示。

在这里插入图片描述

把串口接好后,把 USB 转 TTL 模块插入电脑的 USB 口了,在电脑的设备管理器的“端口”分叉树上有出现USB-SERIAL CH340的字样,就可以开始访问树莓派了。

这里插一句,可以考虑购买一个 GPIO Extension Board,也就是树莓派的扩展板,让接线更方便。

在这里插入图片描述在这里插入图片描述

2. 串口登录

USB 转 TTL 模块插入电脑后,别着急给树莓派上电开机,先在设备管理器上找到对应的 COM 口。要注意一点,每台电脑的每个USB都是不一样的 COM 编号,所以插入后最好在设备管理器上确认一下,我这里的设备管理器显示的是 COM9。

在这里插入图片描述

打开终端软件(以 MobaXterm 为例,其他终端软件大同小异),单击左上的图标Session

在这里插入图片描述

在随后弹窗中,单击Serial按钮。

在这里插入图片描述

接着会切换到串口设置界面,在Serial port右边的下拉窗口在,找到并选择COM9,这个就是刚刚插入电脑 USB 的 USB 转 TTL 模块的 COM 口。

在这里插入图片描述

然后选择波特率,单击Speed (bps)的 下拉按钮,选择 115200 的波特率,这与前面在根目录下,设置“cmdline.txt”时,所设置的 115200 波特率对应上,然后单击OK按钮,完成串口通信设置。

在这里插入图片描述

接下来给树莓派上电,就可以看到树莓派系统启动的整个过程了。

在这里插入图片描述

如果到了下图这个界面,也就是终端软件最后一行显示“raspberrypi login: ”,就可以输入账户了,前面我们在根目录下创建了userconf.txt,就是为了在这里能够正常登录,

账户:pi

密码:raspberry

输入用户名后回车再输入密码,注意,输入用户名会在终端显示,但是输入密码不会在终端显示,且不显示已经输入了多少位,所以新手输入密码时,最好是慢慢地、一个一个字母地敲,输入密码后再按回车键,就完成登录了。

在这里插入图片描述

登录完成后,就如下图所示,接下来就可以做下一步操作了。

在这里插入图片描述

四、修改登录密码和配置网络

1. 修改登录密码和重启

由于默认的密码较长,且在输入时不显示,所以很难避免输入错误又要重新输入的尴尬情况,我们可以使用下面的命令来修改登录时的密码。

sudo passwd pi

这里使用了 sudo 指令,sudo 是 Linux 系统管理指令,是允许系统管理员让普通用户执行一些或者全部的 root 命令的一个工具。只要带有 sudo 的命令,都需要输入一次登录密码,和登录时一样,输入密码时不显示,如果前面已经输入过一次密码。第二次执行带有 sudo 的命令就不需要再输入密码了。

我这里把密码改成 1,输入后回车,再一次输入密码 1 ,按下回车键就完成了密码的更改。

当然了,小伙伴们也可以根据自己的喜好设置自己的密码。

在这里插入图片描述

我们可以重启树莓派来试一下新密码,输入下面的命令就可以重启树莓派。

sudo reboot

重启树莓派后,账户还是 pi, 密码只需要输入 1 后回车,即可登录。

2. 配置网络

目前树莓派还没有连接网络,暂时没办法进行软件更新和下载新软件,也无法通过网络的方式访问树莓派,我们可以通过下面的命令来查看当前树莓派的网络连接情况。

ifconfig

该命令是Linux中用于显示或配置网络设备(网络接口卡)的命令,英文全称是 network interfaces configuring。输入该命令后,树莓派显示了 eth0 和 lo 的连接情况,当前并未连接网络。

在这里插入图片描述

下面介绍一下两种连接网络的方式。

2-1. 网线直连

eth0 是树莓派的第一块网卡,用网线(前提是有网)直接插入树莓派的 RJ-45 接口,就是我们俗称的网口,就可以连接网络了。

在这里插入图片描述

稍等几秒钟,再次输入 ifconfig 命令,就可以看到同一个局域网下的网络 IP 了。

我这里显示的 IP 是 192.168.31.146,不同的局域网的 IP 都是有所差异的,只要和电脑的 IP 是同一局域网,都是可以访问到的。

在这里插入图片描述

可以在自己电脑上按下键盘的组合键 Win + r,在弹窗的弹窗中输入 cmd 或者 powershell 都可以,然后回车进入电脑的命令行窗口,输入 ipconfig(Windows 的命令和 Linux 的命令还是有点区别的)回车,就可以看到自己本地的 IP 地址了。

我的电脑 IP 是192.168.31.253,和树莓派当前的 IP 都是同属局域网 192.168.31 这个网段。

在这里插入图片描述

2-2. WiFi 连接

绝大多数小伙伴可能没有多余的网线,所以无线局域网连接才是大多数人的选择。

由于树莓派系统并没有 vim 编辑器,所以只能用 nano 编辑器来配置网络,之后有网络后再安装 vim 编辑器。

在终端输入下面的命令:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

按方向键把光标移到空白行,输入下列内容:

country=CN

network={
    ssid="your_wifi_name"
    psk="your_wifi_password"
}

"country=CN"的作用是把无线网连接区域设置为中国地区。

把 ssid 后面双引号的内容改成路由器的名称,也就是 WiFi 名,要注意的是,WiFi 名只能是 ASCII 码,也就是说 WiFi 名只能用英文和阿拉伯数字,还有一些英文符号组成,不能有中文。如果家里的 WiFi 名带有中文或者其他语言的字符,可能无法输入或者输入后无法连接,建议先修改路由器名称,再执行此操作。

psk 这是 WiFi 的密码,把 psk 后面双引号的内容改成 WiFi 密码即可。

下图是我的树莓派的修改。

在这里插入图片描述

输入完毕后,按组合键 CTRL + o 之后,会提示是否保存文件,可以不管直接按回车,再按组合键 CTRL + x 退出 nano 编辑器。

然后输入 sudo reboot 重启树莓派,树莓派重启登录后,再次输入 ifconfig 就可以看到成功连上 WiFi,并获得 IP 地址了。

在这里插入图片描述

可以看到多出了一个 wlan0,这个就是连接上 WiFi 才有的无线局域网接口,当前的无线局域网的 IP 地址是 192.168.31.173

顺带提一嘴夹在 eth0 和 wlan0 中间的 lo,这是本地回环接口(Local Loopback),一般用于本机内部通信,并不真实地从外界接收和发送数据包。

2-3. 初次 WiFi 连接失败的处理方法

如果在设置 WiFi 连接,重启登录后,查看网络连接情况,出现入下图所示的情况,也就是发现没有出现 wlan 的连接信息,就说明 WiFi 连接失败了。在登录成功之后,会打印一些 WiFi 连接失败的报错信息。

一般在/etc/wpa_supplicant/wpa_supplicant.conf这个文件中加入这句 country=CN都不会出现这个问题。

当然了,报错的同时还贴心地告诉我们怎么去处理,提示我们用 raspi-config 命令进入树莓派的设置界面做一些设置。

在这里插入图片描述

终端命令输入:

sudo raspi-config

进入树莓派系统设置界面,选择第五个选项“Localisation Options”,回车。

该选项是用于本地化选项配置语言和区域设置,要把里面的地区改成中国。

在这里插入图片描述

然后选择第四个选项“WLAN Country”,回车。

该选项用于设置中国地区为合法的无线信道的 WLAN 国家或地区。

在这里插入图片描述

在下面的界面按方向键找到“China”,并回车选中。

在这里插入图片描述

再按一次回车表示确定,就会回到最开始的系统设置界面。

在这里插入图片描述

TAB 键把光标移到Finish上,回车完成设置并退出界面。

在这里插入图片描述

这时候再输入 ifconfig 回车,就可以看到 WiFi 成功连上了。

五、SSH 访问树莓派

使用串口的方法登录访问树莓派,每次都要输入用户名和密码,而且还占用端口,让树莓派的蓝牙成了摆设,所以在树莓派已经连上局域网并获得 IP 地址后,就可以设置树莓派打开 SSH 连接,用 SSH 登录的方式访问树莓派了。

1. 固定 IP 地址(设置静态 IP)

固定树莓派的 IP 地址是为了每次都能正确的访问登录到树莓派,毕竟 IP 地址是由路由器开启了 DHCP(动态主机配置协议)分配的,树莓派的 IP 地址有可能存在变动,导致电脑访问不到树莓派的尴尬局面。不过现在的路由器基本上都可以避免这种情况,它会在分配给设备 IP 地址后记住设备,当设备重启后再次连接路由器,不会在重新分配新的 IP 地址,会继续使用之前的 IP 地址,以确保设备能正常访问或被访问。

如果你的树莓派 IP 地址,在同一个局域网内发生过变动变动,如下图,前面的 wlan0 的 IP 地址显示为 192.168.31.173,后来重启几次之后,就变成了 192.168.31.174。IP 地址一旦改变,SSH 服务器肯定就没办法访问了,所以我们就需要设置它的静态 IP 地址。如果不存在这种情况,可以跳过这个操作。

在这里插入图片描述

终端命令行输入:

sudo nano /etc/dhcpcd.conf

/etc/dhcpcd.conf 是 DHCP 客户端的配置文件,该文件主要包含了 DHCP 客户端所需的网络配置信息,如 IP 地址、网关、DNS 服务器等,通常被用于网络配置。

打开***/etc/dhcpcd.conf*** 后,滑动到最下面,可以看到这个文件提供了一些配置静态 IP 的设置方法,我们可以参考这些写法来配置 eth0 和 wlan0 的静态 IP地址。

在这里插入图片描述

其中的routersdomain_name_servers暂时不知道写什么,我们可以先按组合键CTRL + x退出,输入下面的命令查看。

route -n

其中的Gateway的地址就是网关地址,也是我们要写入routers的参数。而Genmask为子网掩码,这里可以看到都是255.255.255.0,由于 IPv4 地址是由 32 位二进制数构成的,其中前 24 位被用来表示网络部分,所以子网掩码255.255.255.0的网络部分占据了 24 位,那么在 IP 地址后面就要写 24。(一共四段,每段 8 个位,前三段都是 255,第四段是 0。255 转为二进制数是 8 个 1,三段 255 就有 24 个 1。)

在这里插入图片描述

domain_name_servers为 DNS 服务器,具体的写什么内容,可以同过电脑连接同一个局域网后,在 cmd 或者 powershell 中输入 ipconfig /all 查看,我这里的 DNS 服务器为 192.168.31.1

在这里插入图片描述

再次打开***/etc/dhcpcd.conf*** ,在文件的最后输入下面的设置内容,不过也根据自己的实际情况修改,不要什么都照搬我的。

#设置网口的静态 IP 地址
interface eth0
static ip_address=192.168.31.146/24
static routers=192.168.31.1
static domain_name_servers=192.168.31.1

#设置 WiFi 的静态 IP 地址
interface wlan0
static ip_address=192.168.31.173/24
static routers=192.168.31.1
static domain_name_servers=192.168.31.1

输入完毕后,按组合键 CTRL + o 回车,再按组合键 CTRL + x 退出 nano 编辑器。

配置成功后,重启树莓派。

2. 打开树莓派的 SSH 连接

打开 SSH 连接的方法有很多种,可以逐一介绍一下。

2-1. 根目录下新建 SSH 文件

这种办法最简单,关闭树莓派,取出 TF 卡,装上读卡器后插入电脑,打开 TF 卡的盘符,在根目录下新建一个名为ssh 的文件,方法和前面新建userconf.txt一样,只不过ssh文件不需要输入任何内容,也不需要.txt的扩展名。

建好文件之后,把 TF 卡插入树莓派,上电启动就可以打开 SSH 了

2-2. 系统设置界面开启 SSH

和前面处理 WiFi 连接失败问题一样,输入命令:sudo raspi-config 回车,进入树莓派系统设置。

选择第三个选项“Interface Options”,回车。

该选项是用于配置与外围设备的连接。

在这里插入图片描述

进入到接口选项,选择第二项“SSH”,回车。

在这里插入图片描述

接着会提示是否开启 SSH 服务器,按方向键选择Yes回车。

在这里插入图片描述

SSH 已经开启,再次按回车回到系统设置界面

在这里插入图片描述

最后按 TAB 键选择Finish回车退出即可。

2-3. 命令行开启 SSH

在终端命令行输入:

sudo systemctl enable ssh
sudo systemctl start ssh

即可开启 SSH 服务器。

在这里插入图片描述

3. 设置 SSH 登录树莓派

同样以 MobaXterm 为例,单击左上的图标Session

在这里插入图片描述

在弹窗中单击SSH选项,然后在SSH的设置界面的Remote host中输入树莓派的 IP 地址,我这里输入的是 eth0 的 IP 地址,也可以输入 wlan0 的 IP 地址,操作都是一样的。然后在Specify username前的复选框打上勾,并在后面输入账户名,也就是 pi。然后单击下面的OK按钮,完成设置。

在这里插入图片描述

MobaXterm 会跳转到新建的选项卡窗口,如下图所示,输入登录的密码,再按回车。

在这里插入图片描述

成功通过 SSH 服务器登录树莓派。

在这里插入图片描述

六、更换国内可用镜像源并更新升级系统

开启了 SSH 服务器之后,就是更换国内可用的镜像源了。

首先是为什么要使用国内镜像源?

主要就是树莓派官方 Raspbian 系统默认设置软件源为 http://raspbian.raspberrypi.org/raspbian/ 和 http://archive.raspberrypi.org/debian/,这两个网站在国内通常连接缓慢,及其影响用户使用体验。

那么如何更换国内源?

Raspbian系统的apt软件源由/etc/apt/sources.list/etc/apt/sources.list.d/raspi.list两个文件设定,只需更改两个文件内的记录即可。

目前国内可用的镜像源如下(没有全部收录):

腾讯软件源
https://mirrors.cloud.tencent.com/raspbian/raspbian/
https://mirrors.cloud.tencent.com/raspberrypi/

清华大学开源软件镜像站 TUNA
https://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/
https://mirrors.tuna.tsinghua.edu.cn/raspberrypi/

上海交通大学 SJTUG 软件源
https://mirrors.sjtug.sjtu.edu.cn/raspbian/raspbian/
https://mirrors.sjtug.sjtu.edu.cn/raspberrypi/debian/

中国科学技术大学开源软件镜像源
https://mirrors.ustc.edu.cn/raspbian/raspbian/
https://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/

为避免误更换为无效的源,先对配置文件在同目录进行备份,在命令终端输入下面的命令:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.save
sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.save

如果后期发现某些源文件用不了,想要复原,可以直接输入下面的命令:

sudo cp /etc/apt/sources.list.save /etc/apt/sources.list
sudo cp /etc/apt/sources.list.d/raspi.list.save /etc/apt/sources.list.d/raspi.list

可以通过 sed 命令修改配置文件,我已经结合上面提供的国内源编好了命令,新手玩家只需粘贴到终端运行即可换源,从下面四组任选一组运行即可。

替换成腾讯软件源的命令:

sudo sed -i "s?http://raspbian.raspberrypi.org/raspbian/?https://mirrors.cloud.tencent.com/raspbian/raspbian/?g" /etc/apt/sources.list
sudo sed -i "s?http://archive.raspberrypi.org/debian/?https://mirrors.cloud.tencent.com/raspberrypi/?g" /etc/apt/sources.list.d/raspi.list

替换成清华大学开源软件镜像站的命令:

sudo sed -i "s?http://raspbian.raspberrypi.org/raspbian/?https://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/?g" /etc/apt/sources.list
sudo sed -i "s?http://archive.raspberrypi.org/debian/?https://mirrors.tuna.tsinghua.edu.cn/raspberrypi/?g" /etc/apt/sources.list.d/raspi.list

替换成上海交通大学 SJTUG 软件源的命令:

sudo sed -i "s?http://raspbian.raspberrypi.org/raspbian/?https://mirrors.sjtug.sjtu.edu.cn/raspbian/raspbian/?g" /etc/apt/sources.list
sudo sed -i "s?http://archive.raspberrypi.org/debian/?https://mirrors.sjtug.sjtu.edu.cn/raspberrypi/debian/?g" /etc/apt/sources.list.d/raspi.list

替换成中国科学技术大学开源软件镜像源的命令:

sudo sed -i "s?http://raspbian.raspberrypi.org/raspbian/?https://mirrors.ustc.edu.cn/raspbian/raspbian/?g" /etc/apt/sources.list
sudo sed -i "s?http://archive.raspberrypi.org/debian/?https://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/?g" /etc/apt/sources.list.d/raspi.list

新手玩家可以找到对应的规律后,可以使用本文未提及的镜像源。

修改完毕之后,使用 apt 进行软件包升级,输入下面两条命令:

sudo apt update
sudo apt upgrade -y

如果大家在运行sudo apt upgrade时,遇到下面这种情况,也就是在出现了一个大写的红色字母 E,则表示这是一个报错信息。“You don’t have enough free space in /var/cache/apt/archives/.”,说人话就是你的 TF 卡空间够了,那么可以直接进入下一个环节,再重新执行这两个命令。

在这里插入图片描述

七、根分区扩展

在终端命令行输入命令:

df -ah

此时可以看到当前树莓派磁盘分区的参数,Filesystem 是文件系统,Size 表示分区大小,User 表示已使用的空间,Avail 表示可用空间。如此看来,根目录大小为 3.5 GB,已使用了 3.2 GB,剩余 123 MB,在运行sudo apt upgrade命令时,提示空间不够。但是我们使用的 TF 卡可是有 16 GB的空间啊,这些空间到哪去了呢?

在这里插入图片描述

主要原因就是树莓派系统刻录结束后,并没有把整个存储空间拓展到整张 TF 卡中,需要可以通过系统设置剩下的存储空间拓展到整张卡上。

输入命令:sudo raspi-config 回车,进入树莓派系统设置,按方向键选择第六项“Advanced Options”,回车进入。

(是不是跟之前串口登录时进入的系统设置界面不一样了,这就是用 SSH 登录才能看到的系统设置,UI 界面都好看很多了。)

在这里插入图片描述

然后直接回车,也是直接选第一个选项“Expand Filesystem”,扩展文件系统。

在这里插入图片描述

接着就提醒我们根分区已经调整大小了,会在下一次重启后生效,直接回车。

在这里插入图片描述

TAB 键选择Finish回车退出。

在这里插入图片描述

此时,系统会提示是否重启,直接选择Yes回车重启树莓派。

在这里插入图片描述

重启之后,终端软件会和树莓派断连,等树莓派重启完成,根据终端软件的提示,按下r键就可以重新连上树莓派了。

在这里插入图片描述

重新连上后,输入df -h命令,就可以看到根目录已经扩展到整张 TF 卡了。

在这里插入图片描述

这时就可以按计划运行sudo apt updatesudo apt upgrade -y来升级系统了。

八、安装和配置 vim

nano 编辑器对大部分新手朋友并不友好,很多新手都是先在虚拟机上学习了 Linux 系统编程之后,再玩的树莓派,很多人都已经适应了 Linux 系统的 vim 编辑器了。所以在树莓派上安装 vim 编辑器可以让我们更方便地进行代码编写。

输入下面的命令即可安装 vim:

sudo apt-get update 
sudo apt-get install vim -y

安装完成后,可以根据自己的需求喜好配置 vim,下面是我常用的配置,有些可以尝试配置一下。

命令行输入:

sudo vim /etc/vim/vimrc

vimrc是 vim 编辑器的配置文件,下滑到文件最后可以看到下面几个被注释的设置,我简单翻译了一下。

在这里插入图片描述

如果需要启用对应的功能,只需按i键进入编辑器模式,把前面的双引号去掉即可,如图所示。

在这里插入图片描述

也可以增加一些这里没有提到的功能,下面列举一些我常用的功能:

set number       #在每一行的前面显示行号
set cursorline  #在屏幕上显示光标所在的行
set tabstop=4    #设置制表符的宽度为4个空格
set laststatus=2 #在状态行的右侧显示最后一个状态
set ruler        #在屏幕的右下角显示光标的位置
set cindent      #开启 C 语言的缩进模式:

以下是我在我的树莓派上的配置。

在这里插入图片描述

配置好了之后,输入下面的命令:

source /etc/vim/vimrc

如果出现下图这种情况,可以直接忽视。

在这里插入图片描述

九、修改和校正树莓派时间

输入命令date查看当前树莓派的时间,如下图所示,与电脑的时间不符合。

在这里插入图片描述

电脑显示的时间是同步了 NTP 服务的时间,而树莓派上除了日期是对的,时间并不对。主要是树莓派显示的时区不是中国的时区,BST 是英国夏时制,可以通过输入下面的命令来设置时区。

sudo dpkg-reconfigure tzdata

进入时区设置界面,按方向键选择“Asia”,也就是亚洲,然后回车。

在这里插入图片描述

然后是选择时区,不过选项都是一些城市的名字,找到“shanghai”,按回车选中。

在这里插入图片描述

设置成功后,自动退出并打印出当前时区的时间,此时时间已经对上了,但是实际上这个时区还是错的,CST 是美国中部标准时间,正确的应该显示 CCT,也就是中国沿海时间(北京时间)。不过时间显示正确,这种小 bug 我们就不纠结了。

在这里插入图片描述

十、还原蓝牙与串口的连接

使用 SSH 可以登录访问树莓派之后,就基本不需要串口登录访问树莓派这种方式了,为了能使蓝牙能正常使用,我们要恢复原先蓝牙和串口之间的绑定。

输入命令:sudo raspi-config 回车,进入树莓派系统设置。选择第三个选项“Interface Options”,回车。

在这里插入图片描述

选择第六个选项"Serial Port",回车。

在这里插入图片描述

接下来的两个提问,全部选NO

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

设置好后,按 TAB 键选择Finish回车,选择Yes重启树莓派。

重启之后输入

sudo vim /boot/config.txt

在最后一行,将enable_uart=0改为enable_uart=1,也就是重新启用 ttyS0

在这里插入图片描述

保存退出后,蓝牙和串口就恢复好了。

十一、系统备份

新手玩树莓派时,把系统玩崩了也是常有的事,一旦系统崩了,只能重新刷系统,重新把上面的工作再做一遍,很影响学习体验。所以做到这一步,建议把现在的系统保存备份到电脑,万一操作失误导或者偶然出现宕机的情况,重刷一遍备份的操作系统,就不需要浪费太多时间去进行各种配置。备份的方法也很简单,前面下载安装了 Win32 Disk Imager,用这个软件就可以做系统备份文件。

先把 TF 卡从树莓派上取下来,装在读卡器上插入电脑。电脑运行 Win32 Disk Imager,当电脑识别到 TF 卡时,单击下图中的“小文件”按钮。

在这里插入图片描述

随后在出现的弹窗中的文件名输入栏,输入备份文件名,扩展名为.img。我个人习惯是以“设备名”+“system_backup”+“日期”的方式命名,所以文件名为“RaspberryPi3B+_system_backup_20230923.img”。

在这里插入图片描述

点击“读取”开始备份,耐心等待备份完成即可。

在这里插入图片描述

正常整个 img 备份下来的大小和实际 TF 卡的大小一样,下次如果TF卡无法正常启动,可利用 Win32 Disk Imager 将备份好的 img 再次写入即可。


好了,以上就是本次的新手教程,如有疏漏错误之处,欢迎指正。

  • 17
    点赞
  • 85
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
树莓派4B 是一款单板计算机,它作为一个强大而灵活的开源平台,被广泛应用于物联网、嵌入式系统、教育等领域。其中的/dev/ttyama0 是树莓派4B上的一个串口设备。 串口是一种用于串行数据传输的通信接口,它可以用于连接各种外部设备,如传感器、打印机、调试工具等。而/dev/ttyama0 是树莓派4B上的第一个串口设备,它通过GPIO引脚实现了数据的收发。 通过/dev/ttyama0,可以实现与其他设备之间的数据交换和通信。用户可以通过编程语言(如Python)或者命令行工具(如minicom)来访问/dev/ttyama0,并使用相应的协议进行数据传输。在物联网项目中,可以利用/dev/ttyama0与传感器进行通信,获取传感器的数据并进行处理。在嵌入式系统开发中,可以使用/dev/ttyama0进行调试,输出调试信息,或者与其他设备进行交互。 当我们在树莓派4B上使用串口通信时,需要注意一些配置和设置。首先,我们需要确认树莓派上的串口是否已经启用,并且与/dev/ttyama0 对应。在树莓派操作系统中,可以使用命令行工具raspi-config来对串口进行配置。其次,我们需要按照相应的通信协议编写代码,以实现数据的发送和接收。不同的设备和应用场景可能需要不同的协议和参数设置,因此需要根据具体情况进行配置。 总而言之,树莓派4B上的/dev/ttyama0 是一个串口设备,它提供了与其他设备进行数据交换和通信的接口。通过适当的配置和编程,我们可以实现与传感器、工具等设备的连接和数据交互。这为我们在物联网、嵌入式系统等领域的开发和应用带来了更多的可能性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Grayson Zheng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值