失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 树莓派 Raspberry Pi 4B 初体验

树莓派 Raspberry Pi 4B 初体验

时间:2021-04-13 18:45:08

相关推荐

树莓派 Raspberry Pi 4B 初体验

背景

网上一句话说树莓派买回来都是吃灰的,这句话真没错,刚买回来的时候新鲜感还是挺强的,下镜像、安系统,做完这些之后就搁置了。

最近忽然又来了兴趣,之前装系统和简单配置都忘了,现在再玩一遍,来记录一下。

准备工作

格式化SD卡

工具:DiskGenius

参考文章:树莓派SD卡格式化

操作步骤:

下载好解压,进入软件目录,DiskGenius.exe 双击打开找到SD 对应磁盘,如果已有分区,先删除所有分区,然后点击【保存更改】

选中磁盘,点击【新建分区】,打开新建分区弹窗,选择 FAT32,点确定

点击【保存更改】,保存更改完之后会提示是否立即格式化新建分区

选择系统

参考:树莓派各类操作系统大全,ubuntu 20.04、ubuntu-mate 20.04、raspbian三个系统对于树莓派4的不同

很多介绍各系统差异的文章,这里就不细说了,Ubuntu MATE 和 Ubuntu 标准版略有差别;

我选择 Ubuntu 标准版适用 Raspberry Pi 服务器版本

镜像写入工具

工具:Win32 Disk Imager

参考:树莓派安装各种Ubuntu版本及系统推荐

操作步骤:

安装Win32 Disk Imager

解压 Ubuntu 系统,得到 img 文件

打开Win32DiskImager,选择下载的 img 文件,选择内存卡磁盘,点【写入】,等待写入成功

问题记录

写入镜像后,提示要可移动磁盘要格式化

在写入镜像之后,进入 Windows 文件资源管理器看到 system-boot 分区和可移动磁盘分区,并提示可移动磁盘分区要格式化之后才能使用,查了一下,可能分区没有弄好,使用 DiskGenius 先删除SD卡中的所有分区,新建分区并格式化,然后再烧录镜像就没有问题了

配置

SSH

想在第一次开机就能 开启 ssh 功能,在 Windows 资源管理中打开 system-boot 分区,新建一个 ssh 的文件,来打开系统的 SSH 服务

增加 WIFI 配置

参考:Linux之wpa_supplicant.conf文件详解

新建 wpa_supplicant.conf 文件

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1ap_scan=1fast_reauth=1country=CNnetwork={ssid="WIFI名称"psk="WIFI密码"}

不过这个好像不适用安装 Ubuntu 系统,配置后没效果

一根网线连接树莓派

参考:一根网线直连树莓派

由于没有外设,也不能进路由器查看IP,可以用网线连接树莓派和电脑,这样就能查看树莓派对应的 IP 了,然后可以通过 SSH 连接到树莓派,上面参考文档写的很详细了,这里还是记录一下具体操作吧。

在电脑右下角 WIFI 图标位置右击,选择【打开“网络和Internel”设置】,在打开的窗口中选择【更改适配器选项】,打开网络连接窗口;

可以看到以太网连接,这个就是连接的树莓派,在【WLAN】上右击,选属性,打开【属性】弹窗;

选择【共享】,勾选两个复选框允许,选择共享以太网,然后关闭打开的窗口;

打开命令行工具,输入指令arp -a,找到 IP 为 192.168.137.1,下面第一个 IP 一般就是树莓派的IP,如果看不到,把树莓派重启下试试

通过 SSH 服务连接树莓派,我电脑装了 Git,Git Bash Here 有 SSH 功能,图个方便在 Windos 资源管理器中右击打开 Git Bash Here;

语法:ssh 用户名@服务器地址

ssh ubuntu@192.168.137.46

6. 我安装的是 Ubuntu server 镜像,首次进入 Ubuntu 的初始用户名/密码为:ubuntu/ubuntu,密码输入完之后会提示设置新密码

问题记录

SSH 连接不上树莓派

经过反复测试,打开网络连接窗口,将以太网,先禁用,再启用可解决,一次不行再试一次,在终端输入指令arp -a,看到 192.168.137.1,下面第一个 IP 发生改变应该就可以了

优化树莓派系统

查看系统版本

# 系统版本cat /etc/issue# 内核版本uname -a

更新源

备份原始源文件

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

编辑软件源文件

sudo vim /etc/apt/sources.list

添加镜像源更新

sudo apt-get updatesudo apt-get upgrade

参考:Ubuntu20.04更换软件源

国内软件源:

清华大学开源软件镜像站

阿里镜像站

ubuntu查看ip地址

参考:ubuntu 连接 WIFI

查询过后知道 18.04 之后 ubuntu 更换了网络管理工具,以前用ifconfig命令,现在要用ip命令

ip a# 或ip addr

ifconfig查看 IP 地址方法,在终端中输入,但是报错,提示没有安装 net-tools 工具

ubuntu@ubuntu:~$ ifconfigCommand 'ifconfig' not found, but can be installed with:sudo apt install net-tools

根据提示,安装 net-tools,再查看就可以了

sudo apt install net-tools

安装 nginx

# 安装sudo apt-get install nginx# 启动sudo /etc/init.d/nginx start# 重启sudo /etc/init.d/nginx restart# 停止sudo /etc/init.d/nginx stop

在浏览器中输入树莓派的 IP 地址,能看到 nginx 页面表示安装成功。

内网穿透

参考:树莓派内网穿透方法大全

简单来说就是将内网(本地)的 web 应用通过 nat 穿透到公网上,这样就能在公网访问内网中的数据;内网穿透主要有 ngrok 和 frp 两种。

其他配置

如果安装的是桌面版系统,可通过指令sudo apt-get install xrdp来安装 xrdp 服务,实现 Windows 远程桌面访问树莓派

配置WIFI连接

参考:树莓派ubuntu20.04链接wifi

安装 NetworkManager 网络管理

更多nmcli命令请参考:NetworkManager (简体中文)

安装network-manager,然后通过命令行界面(nmcli)管理网络

# 安装sudo apt install network-manager# 查看网络连接nmcli

编辑 NetworkManager.conf 文件

sudo vim /etc/NetworkManager/NetworkManager.conf

managed=false修改为managed=true

重启 NetworkManager 服务

# 启动服务# ubuntu 22.04sudo systemctl restart NetworkManager# ubuntu 18.04sudo systemctl restart network-manager# 查看状态(ubuntu 22.04)systemctl status NetworkManager

查看要配置的网卡

ls /sys/class/net# 打印网口名# eth0 lo wlan0# wifi 网卡为 wlan0# 或使用 ip addr 查看网卡

编辑配置文件

netplan 为默认的网络管理器。

进入/etc/netplan/目录会有*.yaml的配置文件,我的是 Servers 版本,里面有一个50-cloud-init.yaml文件

sudo vim /etc/netplan/50-cloud-init.yaml

默认配置

# 50-cloud-init.yamlnetwork:ethernets:eth0:dhcp4: trueoptional: trueversion: 2

增加wifis网口配置

network:ethernets:eth0:dhcp4: trueoptional: truewifis:wlo1: # 网口,是动态的,可能不是 wlo1,通过`ls /sys/class/net`查看dhcp4: trueaccess-points:"WIFI名称":password: "WiFi密码"renderer: NetworkManagerversion: 2

应用配置

sudo netplan apply

此时已经可以通过nmcli管理网络了

或使用命令连接WiFi

参考:ubuntu命令连接wifi

ubuntu 查看网卡状态命令_Ubuntu 16.04通过命令行连接Wi-Fi

查看设备状态

参考:Ubuntu20.04使用nmcli配置网络连接

nmcli -p device# 查看连接状态nmcli connection# 或ifconfig -a

设置静态IP

sudo vim /etc/netplan/50-cloud-init.yaml

设置网线连接的网口为静态 IP

将 dhcp 关闭,增加 ip、网关、DNS地址

network:ethernets:eth0:dhcp4: falseaddresses: [192.168.137.182/24]optional: trueroutes:to: defaultvia: 192.168.137.1nameservers:addresses: [192.168.137.1,8.8.8.8]

Ubuntu 22.04 多网卡IP配置

配置多网卡IP的时候,需要注意一下默认网关只能设置一个,将内网 routes 注释掉,只保留一个 default

出现这个报错,就是配置了多个 default:

** (generate:13113): WARNING **: 08:53:25.086: Problem encountered while validating default route consistency.Please set up multiple routing tables and userouting-policyinstead.

Error: Conflicting default route declarations for IPv4 (table: main, metric: default), first declared in wlan0 but also in eth0

network:ethernets:eth0:dhcp4: falseaddresses: [192.168.137.182/24]optional: true# routes:# - to: default# via: 192.168.137.1nameservers:addresses: [192.168.137.1,8.8.8.8]wifis:wlan0:dhcp4: falseaddresses: [172.18.75.7/24]optional: trueroutes:- to: defaultvia: 172.18.75.1nameservers:addresses: [114.114.114.114,8.8.8.8]access-points:"WIFI名称":password: "WiFi密码"renderer: NetworkManagerversion: 2

运行命令应用新配置,立即生效

sudo netplan apply

持续更新中。。。

如果觉得《树莓派 Raspberry Pi 4B 初体验》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。