2020系统综合实践 第6次实践作业 第29组
一、每个人各自写出
1.说明你此前对于树莓派的认识程度,是闻所未闻还是只听其名不知其用途,亦或是已经了解熟悉。
- 陈友昆:在未接触到树莓派之前,只听名字我甚至一度以为这是一种吃的东西,而没有想到它是一款功能十分强大而又精简的微型计算机,可以说对这方面的知识了解的是很少了,十分期待后续能够学到更多有关树莓派的知识。
- 方瑞雄:之前只听过同学提过树莓派,从未接触过。
- 张辉:之前见舍友用过,但是不清楚是用来干嘛的。
2.查找相关资料,写下你认为的树莓派可以用来做什么,如果你有需要打算用它来做什么。
- 陈友昆:首先,在查找了相关资料后,我懂得了树莓派(Raspberry pi)是一块集成度极高的ARM开发板,不仅包含了HDMI,RCA,CSI,HDMI,GPIO等端口,还支持蓝牙以及无线通信。由于Raspberry Pi几乎是为Linux而生的一款卡片式微型电脑,所以Raspberry Pi的操作系统也是多样的,不仅支持Raspbian,Ubuntu Mate,Snappy Ubuntu核心等多种Linux操作系统,还支持Windows 10 Iot Core这款简易的WIndows系统。树莓派虽小,但五脏俱全和普通电脑无异,电脑能做的大部分事情,在树莓派上都能做,而树莓派以其低能耗、移动便携性、GPIO等特性,很多在普通电脑上难以做好的事情,用树莓派却是很适合的。树莓派可以用来做很多东西,较普通的有:可以在树莓派上搭建LAMP服务、可以用树莓派做VPN和路由相关、可以用树莓派搭建BT下载服务器、可以搭建Git私有服务器等;而难度较高的有:给树莓派安装摄像头模块实现摄像和拍照功能、用树莓派搭建Hadoop集群、进行简易人脸识别和图像识别等。我打算利用树莓派打造一个家庭影院,如果可以的话甚至想DIY一个六足行走的机器人,因为我感觉这很有趣,也可以让我真正的学以致用,利用它创造出更有价值的东西。
- 方瑞雄:查阅资料得知是一款基于ARM的微型电脑主板,以SD/MicroSD卡为内存硬盘,卡片主板周围有1/2/4个USB接口和一个10/100 以太网接口(A型没有网口),可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件全部整合在一张仅比信用卡稍大的主板上,具备所有PC的基本功能只需接通电视机和键盘,就能执行如电子表格、文字处理、玩游戏、播放高清视频等诸多功能。如果有需要我会用来做资料存储。
- 张辉:看了网上的资料以后,发现它的功能真是非常强大。树莓派是尺寸仅有信用卡大小的一个小型电脑,您可以将树莓派连接电视、显示器、键盘鼠标等设备使用。它可以运行Linux系统和windows IOT系统,然后可以运行这些系统之上的应用程序,可以应用于嵌入式和物联网领域,也可以作为小型的服务器,完成一些特定的功能。
二、系统烧录和备份
首先,进行系统烧录和备份需要准备以下配件:一个树莓派4B和电源线、一个 Micro SD卡 和一个读卡器。
1.到树莓派官网上下载最新的安装包
这里给出树莓派镜像的下载链接:click here
可以看到官网下面有两个方块,左边的就是树莓派要烧录的镜像,至于右边的是官方建议的新手安装引导系统。两者的区别就是raspbeian需要烧录,而noobs直接复制到sd卡中就可以使用。我们点击raspbeian,出现下面这个页面:
- 左上的镜像(Raspbian Buster with desktop and recommended softwar)是系统即带桌面,也带推荐的软件,比如java、办公套装等,好处是很多软件我们都不必另外装,坏处是镜像太大,如果只是8g的内存卡,就不推荐这个镜像。
- 右上的镜像(Raspbian Buster with desktop)是带桌面,但是有许多软件没装,我们有需要可以自己装。
- 左下的镜像(Raspbian Buster Lite)没有桌面,也没有一应的软件,我们大部分的软件都要直接装,这个镜像适合老手玩,因为没有桌面,内存占用比较少。
这里我们下载的是Raspbian Buster with desktop and recommended softwar镜像,点Download ZIP按钮下载压缩包并解压,可得到扩展名为.img的系统镜像文件。
2.烧录镜像到SD卡
(1)需要先获取烧录软件(我这里使用Win32 Disk Imager):
在百度网盘上获取
链接: https://pan.baidu.com/s/1-tnYi_8T1UJrOVJWT9bfTg
提取码: rgkc
解压安装后即可使用。
(2)选择内存卡和镜像:
利用读卡器将内存卡插到电脑上,烧录软件会自动获取内存卡信息:
点击如图所示的地方,找到刚刚下载的镜像文件:
(3)将镜像文件写入内存卡:
点击write即可,如下所示:
之后耐心等待,当烧录成功后会出现以下提示:
3.树莓派系统备份
先将树莓派关机,等待黄灯不闪后将SD卡取下,利用读卡器插入自己的计算机,之后新建一个空白的.img后缀的文件,再直接选择read就可以备份系统了,如下所示:
使用树莓派系统备份的优点是操作简单,备份和还原同一软件实现;不足是备份所占用的空间太大,由于备份是整卡备份,得到的IMG是卡的大小,只能还原到原卡或大于原卡的卡。
三、访问树莓派
在局域网中,通过ssh和vnc远程桌面完成树莓派的访问。
先安装一些需要用到的工具:
这些工具只需到官网选择下载适合自己系统的版本,然后安装后即可使用。
1.通过SSH完成树莓派的访问
在完成系统烧录后,需要登录Raspberry Pi,此时会面临如何登录的问题,最直接的方法就是通过SSH。但是由于Raspberry Pi没有外接屏幕,初次使用时一般选择SSH连接或VNC远程桌面连接,但是前提用于远程的设备必须和Raspberry Pi在同一个网络,并且知道Raspberry Pi的ip地址。
(1)先准备好如下的配置文件:
- ssh文件:ssh为一个空文件,不需写入任何内容;
- wpa_supplicant.conf文件:为WIFI配置文件,在文件中添加以下内容:
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
# 配置多个WiFi
network={
ssid="xxxxxxx" # WiFi链接名称
psk="xxxxxxxx"# WiFi密码
key_mgmt=WPA-PSK #加密方式
priority=5 #优先级,要注意的是priority的值越大接入优先级越高,就优先选择此网络接入
}
network={
ssid="xxxxxxxxxxx"# WiFi链接名称
psk="xxxxxxxxx"# WiFi密码
key_mgmt=WPA-PSK #加密方式
priority=3 #优先级
}
(2)写好配置文件后,将上述两个配置文件放到SD卡根目录下:
(3)接着将SD卡放回到树莓派中,检查无误后开机(注意:一定要把电源、高清口、摄像头等外接设备全部插好线路再通电,4B需要的电流较大,USB接PC供电可能会有问题,要用配备的电源),如下所示:
(4)查看树莓派的IP地址:
我们将计算机和树莓派连接至同一wifi网段,然后登陆路由器即可查看到树莓派的IP地址(与MAC地址对应):
(5)打开putty远程连接工具,输入树莓派ip地址建立远程连接并使用初始账号pi(默认密码raspberry)完成SSH登录,如下所示:
2.通过vnc远程桌面完成树莓派的访问
(1)在SSH登录Raspberry Pi主机后,使用命令进入配置界面:
sudo raspi-config
-
开启VNC远程桌面服务,选择5-Interfacing Options
-
选择P3-VNC配置vnc服务:
-
点击yes和ok完成配置:
(2)设置VNC显示参数:
需要注意的是,在选择屏幕分辨率时尽量不要选择第一个(这里选择7-A5-任意适合),如果分辨率选取不当,可能会出现下列问题,这时候重新调整分辨率即可:
(3)在设置好显示参数后,打开vnc viewer,输入ip地址,账号pi,密码raspberry即可登录到树莓派远程桌面:
成功利用VNC登录树莓派的远程桌面如下图所示,登陆后可进行初始的地区、键盘风格、网络等设置,完成重启:
(4)修改软件源:
- 软件更新源:
sudo nano /etc/apt/sources.list
为保险起见,不推荐直接修改,而是注释掉原来的内容,改成如下内容:
deb https://mirrors.aliyun.com/raspbian/raspbian/ buster main non-free contrib
deb-src https://mirrors.aliyun.com/raspbian/raspbian/ buster main non-free contrib
# Ctrl+O保存,回车确定名称,Ctrl+X退出
- 系统更新源:
sudo nano /etc/apt/sources.list.d/raspi.list
将原来的源注释掉,加入下面两句:
deb https://mirrors.aliyun.com/raspbian/raspbian/ buster main non-free contrib
deb-src https://mirrors.aliyun.com/raspbian/raspbian/ buster main non-free contrib
- 进行更新:
sudo apt update
sudo apt upgrade
四、接入摄像头
树莓派有很多扩展接口,而摄像头也是其中一个非常重要的扩展部件,学习树莓派摄像头模块picamera的使用方法,实现使用python代码控制摄像头,以及通过vlc实时读取摄像头捕获的影像。
(需要注意,插入摄像头时,排线全蓝色的部分朝向USB口和网口,有金属部分朝向电源口,将排线黑色塑料两端抠起来,插入摄像头排线,再将两端塑料扣压紧。)
(1)安装摄像头模块:
通过ssh使用命令进入配置界面:
sudo raspi-config
选择Interfacing Options:
选择Camera并确定:
(2)使用picamera进行拍照:
在vnc远程桌面新建python代码test1.py:
from picamera import PiCamera
from time import sleep
camera = PiCamera()
camera.rotation = 180 # 旋转180度
sleep(5) # 摄像头感光
camera.capture('/home/pi/Desktop/photo.jpg') # 拍照并保存
运行test1.py,利用摄像头可拍摄一张照片photo.jpg,如下所示:
(3)使用PiCamera录像并保存视频:
在vnc远程桌面新建python代码test2.py:
from picamera import PiCamera
from time import sleep
camera = PiCamera()
camera.rotation = 180 # 旋转180度
sleep(5) # 摄像头感光
camera.start_recording('/home/pi/Desktop/video2.h264') # 参数为文件路径
sleep(6) # 录制6秒
camera.stop_recording() # 停止录制
运行test2.py,利用摄像头可进行录像,最后会生成录像视频video2.h264如下所示:
(4)基于vlc的Raspberry Pi的摄像头实时监控:
- 先在树莓派打开终端,执行下面的命令来下载VLC:
sudo apt-get update
sudo apt-get install vlc
sudo raspivid -o - -rot 180 -t 0 -w 480 -h 360 -fps 25|cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8090}' :demux=h264
- 在本地的windows PC端也要下载VLC:
-
运行本地windows PC端的VLC,打开网络串流,输入树莓派IP地址及端口号:
-
点击播放:
五、记录遇到的问题和解决方法,提供小组成员名单以及在线协作的图片
1.记录遇到的问题和解决方法
(1)本次实验中,遇到的第一个问题就是在登录路由器后查看不到树莓派的IP地址
解决办法:在做实验时被这个问题困扰了好久,后面才发现是我在配置wpa_supplicant.conf文件时出现了错误,由于刚开始时不知道priority的值越大接入优先级越高,就优先选择此网络接入,所以导致树莓派连接到了另一个wifi中,后面进行修改后重启树莓派,将其连接至同一wifi网段,就解决了这个问题。
(2)利用vnc远程桌面完成树莓派的访问时,在登录后出现了下面这个问题:
解决办法:通过上网查找资料,发现出现这个问题的原因是我屏幕的分辨率没有设好,后面重新配置一下分辨率然后重启vnc就能正常登录了。
(3)利用ssh远程连接工具访问树莓派时,出现了下面的问题:
解决办法:我也不知道为什么会出现这个问题,猜测可能是网络的原因,最后断电重启一下树莓派就解决了。
2.小组成员名单
第29组
学号 | 姓名 | 分工 |
---|---|---|
031702430 | 陈友昆 | 负责实际操作和博客编写 |
031702427 | 方瑞雄 | 负责理论指导,辅助操作 |
131700114 | 张辉 | 负责理论指导,辅助操作 |
在线协作:主要通过通过QQ讨论群共同讨论和学习,在实验过程中大家积极提出问题、遇到问题后一起解决问题。
3.个人心得体会
通过本次树莓派专题的学习,我从对树莓派完全陌生到初步认识和了解了树莓派的使用,有了很大的收获!通过本次实验,我学会了如何对树莓派进行基础配置与访问,学习了树莓派摄像头模块picamera的使用方法,实现了使用python代码控制摄像头,以及通过vlc实时读取摄像头捕获的影像,让我的动手实践能力和理论知识有了更大的提升!