前言
上回把硬件都筹备好了,这篇咱们来搭建一下树莓派的零碎,并装置一些必要的工具软件。
树莓派镜像烧录
树莓派上的操作系统抉择很多,咱们这里以主电脑为 Win10 零碎,官网最新的 2020.8.20 的版本为例。
先在官网下载烧录软件 Raspberry Pi Imager,而后下载零碎的镜像文件带举荐的软件。
https://www.raspberrypi.org/downloads/
装置 Raspberry Pi Imager 后,插入 MircoSD,在 Operating System –> Use custom 抉择方才下载好的镜像文件,而后在 CHOOSE SD CARD 中抉择对应的 SD 卡,最初点击 WRITE 进行烧录。
开启 ssh 和 配置 Wifi
如果没有配置键盘和屏幕,那第一次启动 OS 前须要先新建两个文件来配置 wifi 连贯和开启 ssh。
1. 开启 ssh
在方才烧录实现的 MircoSD 中 boot 分区的根目录下,新建一个空白文件,并重命名为 ssh,全副小写且无扩展名。
2. 配置 Wifi
同样在根目录下,新建 wpa_supplicant.conf 文件,内容如下:
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="SSID"
psk="PASSWORD"
key_mgmt=WPA-PSK
priority=1
}
其中,
ssid 为 Wifi 网络的 ssid;
psk 为连贯明码;
key_mgmt 为加密形式:
WPA-PSK = WPA 预共享密匙 (这须要‘psk’字段)
WPA-EAP = WPA 应用 EAP 认证
EEE8021X =IEEE 802.1X 应用 EAP 认证并动静生成密匙
NONE = 没有应用 WPA;能够应用明码密匙或者动态 WEP
WPA-PSK-SHA256 = 相似 WPA-PSK 然而应用增强型的 SHA256-based 加密算法
WPA-EAP-SHA256 = 相似 WPA-EAP 然而应用增强型的 SHA256-based 加密算法
如果没有设置,将会模式设置为 WPA-PSK WPA-EAP
priority 为优先级,数字越大代表优先级越高;
依据本人路由配置的状况,批改对应的 ssid , psk 和 key_mgmt 值。
以上两个文件,开机后 wpa_supplicant.conf 文件会主动转移到 /etc/wpa_supplicant 目录下,ssh 文件会转化为开启 ssh 服务的指令后被删除。所以如果要更改配置,下一次要从新增加这个文件。
配置树莓派
当初能够插入 MircoSD 卡,插入树莓派,而后失常上电开机了。
Tip:
留神察看树莓派上的两个指示灯,红色代表电源,绿色个别代表 SD 读写。失常状况下,红灯常亮,绿色每隔几秒闪一次,示意网络连接胜利;而绿灯有法则的闪动,示意 SD 没有插好或者是有效的 SD 卡。
1. 查问树莓派 IP 地址
有显示器的话,能够间接用 ifconfig 来获取 IP 地址;
若没有显示器的话,那能够用局域网扫描工具 Advanced IP Scanner 来获取对应的信息:
2. ssh 登录
有了 IP 地址,那就能够用 ssh 登录了。输出命令
ssh pi@192.168.1.62
而后输出默认明码 raspberry,就能失常登录了。
3. 配置树莓派
在登录的 ssh 连贯中,输出命令
sudo raspi-config
抉择 1 Change User Password,批改以后用户明码;
抉择 5 Interfacing Options –> P1 Camera 启用摄像头;
抉择 5 Interfacing Options –> P2 SSH 启用 SSH(曾经开启);
抉择 5 Interfacing Options –> P3 VNC 启用 VNC;
抉择 7 Advanced Option –> A1 Expand Filesystem 扩大可用空间;
抉择 7 Advanced Option –> A5 Resolution 批改屏幕分辨率。
近程连贯树莓派
1. 应用 VNC 远程桌面
装置 VNC-Viewer-6.20.113-Windows,新建连贯,填入树莓派的 IP 地址,输出用户名 pi,明码 raspberry 登录。
Tip:
VNC 连贯后显示“Cannot currently show the desktop”的话,从新批改一个屏幕分辨率后重启就行。
2. 批改树莓派为固定 IP 地址
每次树莓派上电后,由路由器 DHCP 调配的 IP 地址有时候会变动,这里咱们设置固定地址,不便下次连贯。
用 VNC 连贯后,就能看见树莓派的桌面了,在屏幕右上角 Wifi 图标上右键,抉择 Wireless & Wired Network Settings。
Configure 项抉择 SSID,仅绑定指定的 Wifi 连贯,填入对应的网段:
IPv4 地址:192.168.1.101
Router:192.168.1.1
DNS Servers: 192.168.1.1
3. 应用 PuTTY 拜访树莓派
批改树莓派的 IP 地址后,重启树莓派,就能够用 PuTTY 通过 192.168.1.101 来连贯了。
PuTTY 不光有 ssh,还自带了 pscp 和 psftp 不便在主电脑和树莓派之间传输文件。
4. 应用 pscp 传输文件
- 把 windows 零碎的文件 / 文件夹上传到树莓派
# 复制整个目录
pscp -r d:\raspi pi@192.168.1.101:/home/pi
# 复制单个文件
pscp d:\raspi\test.txt pi@192.168.1.101:/home/pi
- 从树莓派上下载文件 / 文件夹到 windows 零碎
# 复制整个目录
pscp -r pi@192.168.1.101:/home/pi d:\raspi
# 复制单个文件
pscp pi@192.168.1.101:/home/pi/test.txt d:\raspi
具体参数:
用法: pscp [选项] [用户名 @] 主机: 源 指标
pscp [选项] 源 [其余源...] [用户名 @] 主机: 指标
pscp [选项] -ls [用户名 @] 主机: 指定文件
选项:
-V 显示版本信息后退出
-pgpfp 显示 PGP 密钥指纹后退出
-p 保留文件属性
-q 宁静模式,不显示状态信息
-r 递归拷贝目录
-v 显示详细信息
-load 会话名 载入保留的会话信息
-P 端口 连贯指定的端口
-l 用户名 应用指定的用户名连贯
-pw 明码 应用指定的明码登录
-1 -2 强制应用 SSH 协定版本
-4 -6 强制应用 IPv4 或 IPv6 版本
-C 容许压缩
-i 密钥 认证应用的密钥文件
-noagent 禁用 Pageant 认证代理
-agent 启用 Pageant 认证代理
-hostkey aa:bb:cc:...
手动指定主机密钥 (可能反复)
-batch 禁止所有交互提醒
-proxycmd 命令
应用 '命令' 作为本地代理
-unsafe 容许服务端通配符 (危险操作)
-sftp 强制应用 SFTP 协定
-scp 强制应用 SCP 协定
-sshlog 文件
-sshrawlog 文件 记录协定具体日志到指定文件
5. 应用 PSFTP 传输文件
psftp 与 pscp 相似,速度更快些,但没有进度条显示。
psftp 192.168.1.101
# 输出 pi 和 raspberry
# 上传文件
put d:\raspi\test.txt
# 下载文件
get /home/pi/test.txt
常用命令:cd 切换目录。ls 查看目录文件。get [fileName] 下载文件到以后本地目录。get -r [dir] 递归下载近程某个目录下的所有文件到以后本地目录即下载文件夹。put [fileName] 长传文件到近程当前目录。put -r [dir] 递归上传本地某个文件夹的所有文件到远程目标目录即上传文件夹。delete [fileName/dir] 删除某个文件或者文件夹
6. 应用 WinSCP 传输文件
下面两种都是命令行形式的,也能够装置一个 WinSCP,建设连贯当前,用相似文件管理器的形式,更不便的进行文件传输。
更新树莓派零碎
1. 换镜像源
因为家喻户晓的起因,国内无法访问树莓派的更新服务器,所以能够换国内的镜像站作为更新点。
sudo nano /etc/apt/sources.list
正文第一行,而后 增加清华源,文件内容如下:
#deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
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 退出。
2. 更换 pip 源
同样给 pip 更换阿里源和豆瓣源。
sudo mkdir ~/.pip
ls .pip
sudo nano pip.conf
将以下内容写入配置文件:
[global]
timeout = 10
index-url = http://mirrors.aliyun.com/pypi/simple/
extra-index-url= http://pypi.douban.com/simple/
[install]
trusted-host=
mirrors.aliyun.com
pypi.douban.com
3. 用 VPN 连贯官网源
国内镜像采纳异步更新的形式更新,有时候某些第三方库文件还是不能拜访,特地是 github 上的 raw 资源,用 VPN 的话会更不便些。这里以我用的 expressVPN 为例,其余的 VPN 也雷同。
- 用 WinSCP 把安装包上传到树莓派的 Download 目录中;
- 进入目录后,装置 vpn 客户端;
cd Downloads/
sudo dpkg -i expressVPN_xv_2.6.3.3-1_armhf.deb
- 激活软件
expressvpn activate
- 连贯 VPN
expressvpn connect # 连贯 VPN
expressvpn list # 查看服务器可用列表
expressvpn status # 查看连贯状态
expressvpn disconnect # 断开链接
4. 更新零碎
解决连贯问题后,就能够进行零碎更新了。
sudo apt-get update
sudo apt-get upgrade
pip3 install -U pip
5. 装置中文字库和中文输入法
# 装置中文字库
sudo apt-get install fonts-wqy-zenhei
# 装置中文输入法 fcitx 及 Google 拼音输入法
sudo apt-get install fcitx fcitx-googlepinyin fcitx-module-cloudpinyin fcitx-sunpinyin
工具软件
1. Linux_Reader
在 Windows 下能够间接读取树莓派 MircoSD 里的文件。
2. Teamviewer
VNC 须要在同一个局域网中能力近程连贯,装置 Teamviewer 能够在任何中央通过 Internet 来拜访到树莓派。特地在 AIoT 的利用中,通过 4G 网络来拜访设施。
- Windows 下装置 TeamViewer_Setup.exe 客户端即可;
- 树莓派上将安装包 teamviewer-host_15.9.4_armhf.deb 上传到 Downloads 目录下。
cd Downloads/
sudo dpkg -i teamviewer-host_15.9.4_armhf.deb
有出错缺失 teamviewer-host 的依赖,修复一下
sudo apt-get -f install
sudo apt-get install gdebi
sudo gdebi teamviewer-host_armhf.deb
承受协定,在桌面的右上角就能看见 teamviewer 的图标了。点击轻松拜访,而后登陆账号后,就能近程连贯了。
3. Win32DiskImager
除了树莓派官网的烧录工具外,也能够应用 Win32DiskImager 来进行镜像写入,玲珑不便绿色,无需装置。
这个软件不光能够进行写入,还能进行镜像导出,这样就便于咱们保留多个开发环境,特地在之后配置 OpenCV 和 PyTorch 的过程很繁琐,能够防止每次都重做这些零碎和配置。
零碎备份
Win32DiskImager 备份出的文件大小取决于 MircoSD 的大小,所以举荐在 Linux 零碎下用 dd 命令进行备份后,再对镜像进行压缩。
1. 查看设施名
用 lsblk 查看 MircoSD 的盘符,个别为 sdb。
lsblk
2. dd 命令备份 SD 卡
用 dd 命令复制 SD 卡的数据保留为 img 镜像文件。
sudo dd if=/dev/sdb of=./rpi_backup.img bs=8M
3. 备份镜像压缩
应用 PiShrink 放大镜像尺寸
git clone https://github.com/Drewsif/PiShrink.git
cd PiShrink
chmod +x pishrink.sh
sudo mv pishrink.sh /usr/local/bin
sudo pishrink.sh -s rpi_backup.img new_rpi_backup.img
更多参数如下:
Usage: $0 [-adhrspvzZ] imagefile.img [newimagefile.img]
-s Don't expand filesystem when image is booted the first time
-v Be verbose
-r Use advanced filesystem repair option if the normal one fails
-z Compress image after shrinking with gzip
-Z Compress image after shrinking with xz
-a Compress image in parallel using multiple cores
-p Remove logs, apt archives, dhcp leases and ssh hostkeys
-d Write debug messages in a debug log file
Tip:
若遇到以下谬误:
**pishrink.sh: ERROR occured in line 275: resize2fs failed
mount: /tmp/tmp.Sj9Z4EXlzV: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.
mv: 无奈获取 ’/tmp/tmp.Sj9Z4EXlzV/etc/rc.local.bak’ 的文件状态 (stat): 没有那个文件或目录
umount: /tmp/tmp.Sj9Z4EXlzV: 未挂载.
losetup: /dev/loop0:断开失败: 没有那个设施或地址 **** 设置环境变量,可修复 bug:
set var LANG=en_US.UTF-8 could fix it.**
4. SD 卡克隆备份
用 Win32DiskImager(备份文件大速度快),还是 dd 命令后压缩(工夫长文件小),还有一种形式就是间接在树莓派里做 SD 卡克隆。还记得硬件篇里举荐多买几张 MircoSD 卡吧,这里就有用了。
# 查看磁盘空间和 SD 卡挂载信息
df -h
空白卡以 usb 读卡器形式插入树莓派,而后在主菜单里 –> 附件 –> SD Card Copier,源抉择 /dev/mmcblk0,指标盘抉择 /dev/sda,点击 Start 开始复制。
插入另一个树莓派间接可用,插 2 个 usb 读卡器能够互相还原镜像。
软件下载
下一篇预报
咱们将开始编译 OpenCV,PyTorch
装置 Tensorflow 等开发环境,
敬请期待 …