系统综合实践第五次作业

一、每个人各自写出

1、说明你此前对于树莓派的认识程度。

鲍冰如:此前对树莓派一无所知。

2、树莓派用途。如果你有需要打算用它来做什么。

鲍冰如:树莓派的体积小,成本低,便携性好,可编程也可联网,可以做许多有趣的创意项目。因为喜欢看电影,希望可以将其打造成一个多功能的家庭影院中心。
二、系统烧录和备份

(1)工具及系统镜像

Balena
Win32DiskImager
系统镜像

(2)烧录

参考材料
下载所需镜像:

我们选择了下载win32Diskimager,进行烧录以及备份。
选择解压之后的系统镜像文件,选择TF卡对应的盘符,点击Write进行镜像的烧录。



新建一个空白的img后缀的文件,选择磁盘,点击read即可从设备向映像文件传输数据。

三、访问树莓派

1、SSH登录Raspberry Pi

Raspberry Pi 4B基本设置
查看连接到手机热点的ip地址
在自己的PC上新建两个文件,文件名为ssh(无后缀)和wpa_supplicant.conf。
ssh文件就是一个空文件,不用添加内容。
wpa_supplicant.conf用于无线连接,添加如下内容:

country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
	ssid="此处输入wifi接入点名称,保留引号"
	psk="此处输入wifi密码,保留引号"
	priority=1
}

network={
	ssid="此处输入wifi接入点名称,保留引号"
	psk="此处输入wifi密码,保留引号"
	priority=2
}

priority的值越大接入优先级越高,保存退出。
将上述两个文件放入SD卡的根目录,将SD卡插回Raspberry Pi。开机。

采用了无线连接。用手机热点建局域网。
查看连接好的树莓派MAC和IP地址。

ssh pi@192.168.31.38 # 密码没改的话是raspberry。

2、开启VNC服务

SSH登录Raspberry Pi主机后,使用命令进入配置界面:

sudo raspi-config

按照教程,一步步开启VNC远程桌面服务。
下载VNC Viewer,安装注册后登录。

3.分区

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
sudo apt-get update
sudo apt-get upgrade


四、接入摄像头

1、摄像头模块安装

将摄像头排线露出金属的部分背对网孔和usb接口,即另一面的蓝色塑料封皮正对网孔和usb接口。
小心地将接线板上的黑色塑料往上拉(请务必保证电源关闭,手指干燥)。
将排线插入,黑色塑料往下压紧排线。
开机,使用sudo raspi-config,选择interfacing opinions,选择Camera,并Enable。
Finish退出配置。
重启。

2、使用命令控制摄像头

拍照---raspistill
拍摄一张照片,保存在桌面,命名为image.jpg,等待几秒后,桌面就会出现jpg文件。
raspistill -o Desktop/image.jpg

增加参数,还可以更改图片大小:

raspistill -o Desktop/image-small.jpg -w 640 -h 480

输入raspistill直接回车可查询raspistill命令其他参数。
摄像---raspivid
最直接的参数 -t设置拍摄时间 -w -h设置分辨率宽和高
拍摄一段5000毫秒、分辨率为1024x768的视频,保存在桌面,命名为video.h264
raspivid -o Desktop/video.h264 -t 5000 -w 1024 -h 768

3、使用Python程序控制摄像头

使用Python程序控制摄像头需要使用PiCamera库。
打开Raspberry Pi自带的Thonny Python IDE,新建camera.py文件,文件命名不能用PiCamera.py。

from picamera import PiCamera
from time import sleep

camera = PiCamera()
# Rotate by 180 degrees when the camera is upside-down
camera.rotation = 180 

camera.start_preview(alpha=200)  # Make the camera preview see-through by setting an alpha level from 0 to 255

sleep(5)
# Take a picture and save as /home/pi/Desktop/image.jpg' 
camera.capture('/home/pi/Desktop/image.jpg')

# Take 5 pictures every 5 seconds and save as /home/pi/Desktop/image0.jpg' ... image4.jpg
for i in range(5):
    sleep(5)
    camera.capture('/home/pi/Desktop/image%s.jpg' % i)

camera.stop_preview()

实现拍一张和连拍五张。
在拍照前,最好让摄像头sleep至少2秒,使之能够感光。

摄像:
安装VLC:

sudo apt-get update
sudo apt-get install vlc

将capture()改成start_recording()和stop_recording()就可控制摄像头拍摄录像了。
录制视频并保存:

# video
from picamera import PiCamera
from time import sleep

camera = PiCamera()
# 旋转180度
camera.rotation = 180 
# 摄像头感光5s
sleep(5) 
# 保存路径
camera.start_recording('/home/pi/Desktop/video.h264')
# 录制30秒
sleep(30) 
camera.stop_recording() # 停止录制


更多设置
PiCamera库提供了很多关于图像和摄像头预览的设置,并且两者是分开的,即一部分只对拍摄的画面有效,另一部分只对预览有效
分辨率 resolution
图片最大是2592×1944 视频最大是1920×1080,最小是64x64
帧数 framerate
图像中增加文本 annotate_text
图像文本大小 annotate_text_size,范围:6到160,默认32
图像文本颜色 import Color,annotate_background 和 annotate_foreground
摄像头预览亮度修改 brightness,范围:0到100,默认50
摄像头预览对比度 contrast
更多

4、基于vlc的Raspberry Pi摄像头实时监控

 sudo apt-get install vlc  #Raspberry Pi系统自带了
#-o - 输出到stdout,-t 0不暂停立即获取流, 640x360,25帧/s,-rot 180画面旋转180度
 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

在与Raspberry Pi在同一局域网内的其他设备上,用vlc打开网络串流 http://Raspberry Pi的ip:8090就播放看到摄像头的画面了。

五、遇到的问题

1.在查看树莓派IP地址和MAC地址时,用手机热点,但在手机热点管理查看不了连接的设备,最后采用了这种方法解决查看连接到手机热点的ip地址

六、小结

通过QQ视频的方式进行小组合作完成本次实验,对树莓派有了初步了解和学习。
小组成员:

第N周 新增代码(行)
031702301 王瑞卿
031702312 鲍冰如
031702313 周丽榕
原文地址:https://www.cnblogs.com/bbbr/p/12960387.html