为啥要折腾?
因为最近有课程设计需要使用到树莓派,所以我花了好大的精力联系学姐和辅导员,把板子从学校给寄了回来。
寄回来之后,我发现没有显示器和额外的键盘,完全没办法直接使用(哭)。然后我就尝试 SSH 连接树莓派,但是似乎连接设置出现了问题无法连接,所以最后只能够重新安装树莓派的系统了。
我之前安装树莓派的时候是有显示器和额外的一套键鼠的,整体安装过程十分简单直观。这一次因为没有这些额外的硬件,所以我也是查了许多的教程,才摸索出了一个比较正常和方便的安装过程,而且全称可以完全无头,即无网线、显示屏和键盘,只用一条电源线即可。
开始前的软件准备
- 系统镜像,可以去官网的下载页面下载,我是用的是 Buster Lite;
- SD Card Formatter 工具
- Win32 Disk Imager
安装系统
- 将下载下来的系统镜像
.img
文件解压出来; - 使用 SD Card Formatter 工具格式化 SD 卡;
- 使用 Win32 Disk Imager 工具将系统镜像写入 SD 卡;
至此系统已经安装完成,但还需要两步操作,使树莓派在上电开机后能够自动连接上 WiFi 网络。
-
在电脑上打开 SD 卡的
/boot
分区(Windows 系统上只能够看到这个分区),在根目录下新建一个名字为ssh
的空文件; -
再新建一个
wpa_supplicant.conf
文件,写入如下内容:country=GB ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="WiFi 名称,注意大小写" psk="WiFi 密码" }
这个文件会写入树莓派系统中的
/etc/wpa_supplicant/wpa_supplicant.conf
,所以一般设置一次,后面就不用设置了,可以开机自动接入网络。 这一个配置文件的 network 还有其他的配置项,详情可以见这篇博客。
搞定上述操作之后,就可以把 SD 卡插入树莓派,然后上电开机了。
远程连接树莓派
远程连接树莓派这一步简单一些,直接找到树莓派的 IP,然后 SSH 连接即可。
首先需要通过内网 IP 进入路由器的控制台,通过控制台可以找到 raspberrypi 设备以及对应的 IP;(这里不同的路由器的具体情况不一样,所以不过多赘述了)然后通过 XShell 等软件 SSH 连接即可。
至此,树莓派已经可以正常连接使用了。
其他的操作
这里的操作更多是为了方便使用,非必须。
获取 root
树莓派默认的用户是 pi,所以我们需要获取到 root 用户以便做一些高级操作。
先给 root 设置密码:
sudo passwd root
然后开启 root 用户:
sudo passwd --unlook root
如果要禁止,可以执行下面的命令:
sudo passwd -l root
apt 切换为清华源(Raspbian-buster 系统)
第一步,先备份源文件:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.
第二步,编辑系统源文件:
sudo 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
这里的树莓派系统是Raspbian-buster系统,在写系统源链接时要注意是buster,网上很多教程都是之前stretch版本,容易出错!
第四步,更新软件包索引:
sudo apt-get update&&upgrade
第五步,更改系统源为清华源:
sudo 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
pip 更换国内源
在用户文件夹进入或者创建 .pip
目录,新建 pip.conf
文件:
mkdir ~/.pip
vim ~/.pip/pip.conf
写入如下内容:
[global]
timeout=100
index-url=https://pypi.tuna.tsinghua.edu.cn/simple/
extra-index-url= http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=
pypi.tuna.tsinghua.edu.cn
mirrors.aliyun.com
解决 SSH Connection closed by foreign host 问题
可能是 SSH 服务器没有设置保活间隔,需要修改下面的配置文件:
vi /etc/ssh/sshd_config
添加两行,也可以直接去掉注释然后修改:
ClientAliveInterval 60
ClientAliveCountMax 3
这里的 ClientAliveInterval 数值为超时的秒数;ClientAliveCountMax 为允许超时的次数
最后重启 SSH 服务:
/etc/init.d/ssh restart
systemctl restart sshd