文章目录
现市面上树莓派相关配置教程多而杂,新手用户缺少一个系统和完整的配置过程,本篇结合各种博文和个人踩坑经历,整理出一篇比较完整的新手配置树莓派教程,旨在帮助更多树莓派的新手玩家快速入门,也可以根据目录找到想要查找的内容跳跃式阅读。本篇教程使用树莓派 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 模块的常见芯片有 CH340 和 CP2102,这两种芯片都支持多种操作系统,如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地址。
其中的routers
和domain_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 update
和sudo 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 再次写入即可。
好了,以上就是本次的新手教程,如有疏漏错误之处,欢迎指正。