手把手详细配置树莓派4B 4g版本(超级详细)以及遇到的问题解决方案(there was an error running option P3 VNC、Software caused connection abort )
目的
先说下写这个文章的目的:
日期:2020.8(说明日期也是为了方便后面读者参考,因为时间不同有些软件版本或者硬件会有差异,注意根据自己问题寻找解决方案);
配置:树莓派4B 4g一枚(主板、电源、16gSD卡,无屏幕),如果天气较热最好有个风扇吹着,后面有必要的话还是带个散热风扇;
在配置过程中按照网上很多教程做下来遇到了不少其他教程未遇到的问题,经过一天的摸索终于解决,在这里整理记录下,方便后面自己的回看和有相同困惑的人。
遇到的问题
-
ssh设置树莓派分辨率过程中出现无法显示分辨率界面的问题,最后报错Software caused connection abort
-
启用vnc下载更新和安装vnc server过程中,出现there was an error running option P3 VNC
-
使用官方工具Raspberry Pi Imager格式化已经有系统的sd卡时频繁error问题
达到的效果
通过笔记本电脑能够正常进入树莓派4B的桌面
第一步 烧录系统
工具
-
电脑(windows 10系统)
-
16g SD卡
-
读卡器(有些笔记本电脑自带读卡器)
软件
-
官方系统(下载链接),注意有三个版本,新手最好安装带桌面和常用软件的版本;
-
格式化及烧录工具,我这里用的是官方的Raspberry Pi Imager (下载地址)
操作
1 安装Raspberry Pi Imager
打开软件界面是这样的:
一共3个按钮,作用分别是
- 选择操作,操作可以是格式化、选择系统文件(也可以不提前下载下来,在这时候下载,但是建议最好提前下载下来)、等等操作,可以点开看看,前面的可以不管它,直接滚到后面
- 选择操作的主体,也就是我们的sd卡,一般我们在时候就插了一个sd卡,那么这里一般就一个备选,选中就可以
- 第三个按钮是执行按钮,选择了干什么,对谁干,最后就是just do it
2 插入sd卡,格式化(方法一)
然后就是write,这中间会提示格式化会清空里面现有文件等等警告,直接选继续就可以。
3 插入sd卡,格式化(方法二)
但是这里有个问题,如果你是新卡,这个操作没有问题,但是如果你已经装了一次系统想重新格式化重装系统,中间可能会报error操作,试了几次依然如此,我当时没有截图。
解决方式是使用SDCardFormatter这个工具,下载链接,用这个软件先格式化下,然后再用Raspberry Pi Imager按照上面步骤做就没有问题了。
4 烧录系统
虽然是关键过程,但跟格式化过程基本一致,只是第一步不是选择ERASE,选择Use custom,然后选择提前下载好的官方系统,.img文件格式。注意文件路径不要有中文。
系统选择好后,选择SD卡,点击write,开始漫长的等待。
安装完成后会提示成功,这时候这个盘符是点不开的。重新插拔一次就可以了。打开后增加了两个,我这里是E、F,到此烧录系统完成。
第二步 配置ssh和wifi
ssh
ssh是什么,用来后面电脑与树莓派通信
紧接着在boot里面新建一个文本,按F2重命名,将<文本名.txt>连同扩展名一起删除,改为ssh,注意是小写无扩展名。
如果你的文件夹不显示扩展名,在文件夹选项中勾选扩展名,如下图
wifi
树莓派联网用,提前在配置文件里面写好wifi的信息。
ssh这个文件建好后,再新建一个文本文档,名字命名为 wpa_supplicant.conf,然后用记事本程序打开,在里面输入以下文档,对这个文档大概说明下
ssid这里输入你的wifi名字;
psk输入你的wifi密码;
key_mgmt这里是你的加密方式;
priority 是wifi的优先级,数字越大优先级越高;
我这里设置了3个wifi,你可以根据自己的实际情况增加或者删减。写好后保存关闭。
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="WiFi1"
psk="密码"
key_mgmt=WPA-PSK
priority=1
}
network={
ssid="WiFi2"
psk="密码"
key_mgmt=WPA-PSK
priority=2
}
network={
ssid="WiFi3"
psk="密码"
key_mgmt=WPA-PSK
priority=3
}
完成效果
注意只要插入树莓派后,再拔出sd卡,读取里面内容,你会发现这两个文件没了,如果你要添加wifi还要再重新弄。我建议你将这两份文件复制在电脑里一份,有备无患。
好了,到这里就可以将sd卡取下来插入树莓派了。
第三步 启动树莓派
软件
puTTY (下载地址)支持ssh协议的客户端,用来跟树莓派通信
Advanced_IP_Scanner,这个软件是用来扫描路由器连接设备的,因为我们前面已经把路由器wifi的名和密码写到.conf文件里面了,树莓派在通电后会自动连接,通过该软件可以查询到路由器分配给树莓派的地址,有了这个地址我们后面通过ssh协议控制树莓派。我这次没用这个软件,我是用的我路由器的管理台,管理台一般是192.168.1.1,具体管理员账号和密码,可以看下自己的路由器底部。当然如果要连接的wifi你没有管理员权限(大部分可能性是学校或者公司,如果是自己家里最好使用路由器管理台),可以使用Advanced_IP_Scanner扫描,但是比较慢。
操作
1 插入sd卡,通电启动树莓派
这个其实没什么好说的,注意sd别插反了,插不进去,别强插。启动后会看到绿色闪烁,红灯亮。放在那里就可以不用管了。
2 查找树莓派的ip地址
这个网上有很多教程,我就不赘述了。我是通过192.168.1.1查到的。我这里就是192.168.1.41
3 启动puTTY通过ssh协议通信
绿色框内都是软件默认的,不用管它,但最好确认下,别误操作改了,造成不必要的困扰,将前面查询到的ip输入的红色框内。
这里相对其他教程,增加一个过程,可以有效的避免通讯超时错误。
这里有个小技巧,将配置保存为一个名字,这样下次在同样的网络环境下就不再需要重新做以上操作了。直接加载就可以。
然后点击Open,输入用户名pi回车,密码raspberry回车(注意linux,输入密码时候是不显示的,如果感觉输入错了,多点几次删除,重新输入),输入正确后,你会看到如下画面
恭喜你,树莓派基本配置完成,树莓派也已经启动成功。
第四步 切换包管理器源地址,更新软件
这步对我来说相当重要,之前一直报错,后来更新软件解决。
这步要进行的操作简单来说是这样,树莓派是英国的基金会搞的,服务器在国外,我们进行的系统或者软件更新也是需要去国外的服务器,所以在这里将源地址更换到国内的清华服务器。方法如下:(参考b站up:同济子豪兄)
在树莓派的命令行界面输入
sudo nano /etc/apt/sources.list
使用键盘方向键控制,在第一行开头加一个#
,把下面的内容拷贝到最后一行之后,如图中的效果:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
先按键盘上的ctrl
+o
,再按回车保存,再按ctrl
+x
退出nano编辑器回到命令行界面。再输入以下命令更新到清华大学镜像源最新的软件列表。
sudo apt-get update
经过一段时间的更新(我这个图片里面还是用的未换源的路径,所以较慢)
命令行再次变为等待输入。如下:
第五步 配置vnc
紧接着启动vnc服务
在命令行输入如下代码:
sudo raspi-config
回车后显示如下画面,用方向键切换到5 Interfacing Options,回车进入
进入后选择P3 VNC,回车进入
回车进入后,选择yes,
然后提示,点击ok
最后不要忘记点finish,用方向键的右箭头,选择点击回车
到这里如果是首次配置的话会紧接着安装一堆软件,这也是为什么要提前切换包管理器的源地址,否则很容易超时失败,造成VNC配置错误。
第六步 配置分辨率
由于树莓派没有显示器,所以要人为的配置下显示的分辨率。如果不配置分辨率,到后面vnc viewer也会显示如下
再次输入
sudo raspi-config
依次按照图片顺序点击
然后依然是ok->finish
这里有个插曲,之前按照其他教程到这里我卡住了
原因是不弹出这个屏幕分辨率的选择界面,我整整折腾了一天,最后是通过提前更新系统和软件解决的。也就是第四步。
第七步 vnc启动
软件
- VNC-Viewer (下载地址)
操作
点击软件,输入用户名和密码
点击ok 大功告成
原因是不弹出这个屏幕分辨率的选择界面,我整整折腾了一天,最后是通过提前更新系统和软件解决的。也就是第四步。