2020系统综合实践 第6次实践作业
第6次实践作业
树莓派的认识
陈志明
-
之前没听过树莓派。
-
经过上网搜集资料才知道,原来那么小个的树莓派却能够做人脸识别、机器人、捕鼠器、无人机、垃圾分类器、语音识别等等。我暂时想在树莓派上搭建一个WEB推荐服务器,模拟接收请求并返回推荐信息的一个场景。
高鹏
- 在之前,对树莓派印象在b乎、贴吧看过的一些文章帖子看见过。知道树莓派一个比较微小计算机,可以连接显示器,键盘鼠标等外设。跟我们常用电脑基本上没什么区别,主要差异在性能上。可以部署一些功能简单的服务器,听说跑的动mc。
- 可以通过连接一些外设,如摄像头,麦克风,进一步做一些人工智能模式识别的工作;做游戏模拟器; vpn路由网关;网络电视的机顶盒……
- 有机会的话自己尝试做个机顶盒。
钟博
- 以前好奇稍微查了下百度,有个初步认识。
- 电脑能做的大部分事情,在树莓派上都能做,而树莓派以其低能耗、移动便携性、GPIO等特性,很多在普通电脑上难以做好的事情,用树莓派却是很适合的。想用它做的功能:做一个无线路由器。
系统烧录和备份
烧录
首先在Download Raspbian for Raspbian Pi中下载镜像并解压:
然后可以使用balenaEtcher或Win32DiskImager软件进行镜像烧录。
使用balenaEtcher软件烧录镜像
使用Win32DiskImager烧录镜像
备份
可以直接使用Win32DiskImager烧录镜像软件进行全卡备份,全卡备份出来的镜像大小会和sd卡的容量一致,如果sd卡16G,备份的镜像也是16G。
首先,在硬盘上创建一个img后缀的空文件,并保证该分区的可用容量大于sd卡的容量。
选择刚刚创建的空文件,选择要备份的sd卡盘符,点击读取。
访问树莓派
SSH
要使用SSH访问树莓派需要先知道树莓派的IP地址,将树莓派使用RJ45网线或配置wpa_supplicant.conf
文件中的WiFi信息连接到路由器上。
wpa_supplicant.conf内容设置如下,推荐使用5GWiFi:
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
}
方法一:通过路由器的WEB管理界面查看IP地址。
然后使用SSH相关软件进行连接。我使用的是Secure CRT,设置好session后,就可以连接树莓派了。
树莓派的默认账号密码为:
username:pi
password:raspberry
方法二:将树莓派使用HDMI线连接到显示器,然后使用ifconfig
命令就能查看到树莓派的IP地址。
其它方法可以通过互联网搜索得到,这里列举最简单的方法。
VNC
首先需要启动树莓派的VNC服务。
在终端中输入sudo raspi-config
命令进入配置界面。依次操作:Interfacing Options -> VNC -> Yes。
出现The VNC Server is enabled
即表示VNC服务开启。
然后在installed VNC® Server下载VNC Viewer,打开并连接到树莓派。
可见,成功使用VNC连接树莓派。
接入摄像头
首先,需要开启摄像头。
使用命令sudo raspi-config
进入配置界面。依次操作:Interfacing Options -> Camera -> Yes。
出现The camera interface is enabled
说明摄像头启动成功。
使用python代码控制摄像头
使用PiCamera拍取静态照片,并打上水印。代码较为简单,如下:
import picamera
from time import sleep
#创建一个PiCamera实例
camera = picamera.PiCamera()
#设置分辨率
camera.resolution = (1024, 768)
#设置水印
camera.annotate_text = 'group 21'
sleep(5)
#保存图像
camera.capture('/home/pi/Desktop/image.png')
结果如图:
vlc实时获取视频流
使用VLC需要在Windows和树莓派都安装VLC。
安装VLC之前可以先进行换源,换源步骤非常简单:
# 编辑 `/etc/apt/sources.list` 文件,删除原文件所有内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
# 编辑 `/etc/apt/sources.list.d/raspi.list` 文件,删除原文件所有内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
注意:网址末尾的raspbian
重复两次是必须的。因为Raspbian的仓库中除了APT软件源还包含其他代码。APT软件源不在仓库的根目录,而在raspbian/
子目录下。
编辑镜像站后,请使用sudo apt-get update
命令,更新软件源列表,同时检查您的编辑是否正确。
在树莓派中安装并开启VLC服务。
$ sudo apt-get update && apt-get upgrade
$ sudo apt-get install vlc
$ sudo raspivid -o - -t 0 -w 640 -h 360 -fps 25|cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8090}' :demux=h264
参数 | 设置 |
---|---|
w | 视频宽度 |
h | 视频高度 |
fps | 每秒传输帧数 |
dst | 网络的端口 |
demux | h264 视频压缩格式 |
在Windows中安装VLC并使用网络串流进行获取视频流。
问题与解决办法
问题:使用VNC Viewer连接树莓派4B远程桌面提示错误“Cannot currently show the dekstop”
方法:调整树莓派的分辨率。按以下步骤选择树莓派分辨率:
$ sudo raspi-config
Select 7 Advanced Operations
Select 5 Resolution
调整完分辨率并重启后,使用VNC连接树莓派正常。
在线交流
我们小组三个人就第三个小作业各自编码并轮流进行共享屏幕交流总结一个简洁的方案。
参考资料
[3]“Cannot currently show the dekstop”
[5]树莓派3 B+ 的摄像头简单使用(video-streamer)
[6]卸载VLC