实验环境:
客户机:ubuntu18.04
树莓派:Raspbian GNU/Linux 10 (buster)
(1)每个人各自写出
第一,说明你此前对于树莓派的认识程度,是闻所未闻还是只听其名不知其用途,亦或是已经了解熟悉。
吴长星:我之前从未接触过树莓派,只是因此次实验才对它有所耳闻。
周华:在本次实验之前,听说过树莓派这个东西,但对其用途并不了解
朱雅珊:只听其名不知其用途
第二,查找相关资料,写下你认为的树莓派可以用来做什么,如果你有需要打算用它来做什么。
吴长星:
- 可以用来搭建服务器、路由器等
- 用来做一个服务器也许挺方便的
- 树莓派虽小,但五脏俱全和普通电脑无异。电脑能做的大部分事情,在树莓派上都能做,而树莓派以其低能耗、移动便携性、GPIO等特性,很多在普通电脑上难以做好的事情,用树莓派却是很适合的。
- 如果有需要我打算用树莓派打造一个家庭影院
- 树莓派具有低能耗、移动便携性、GPIO等特性,运算能力稍弱,不过仍然可以做普通计算机能做的事。例如可以用来搭建SVN、LAMP、GIT私有服务器等,也可以实现文字转语音服务等
- 如果有需要我希望能用树莓派打造一个带WIFI的数码照相机。
(2)系统烧录和备份
第一步:从树莓派官网下载完整镜像
第二步:下载系统镜像烧录工具:balena-etcher
第三步:安装balena,并将下载的镜像烧录至SD卡
(3)访问树莓派
在局域网中,通过ssh和vnc远程桌面完成树莓派的访问
SSH
步骤1:SD卡烧录完成后,文件系统只能识别出/boot分区的内容,我们需要做的,就是在/boot里新建两个文件ssh,wpa_supplicant.conf,其中ssh是空白文件
wpa_supplicant.conf
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="ChinaNet-cUzX" #wifi名称
psk="getnwagn" #wifi密码
key_mgmt=WPA-PSK
priority=1
}
步骤2:将SD卡装入树莓派中,接好相关硬件外设后开启树莓派
步骤3:在笔记本终端查看树莓派的IP地址,并使用ssh连接
VNC
所用软件:VNC viewer
步骤一:在终端输入以下命令进入配置界面
sudo raspi-config
依次操作:Interfacing Options -> VNC -> Yes。之后系统会提示你是否要安装 VNC 服务,输入 y 之后回车,等待系统自动下载安装完成,一切顺利的话 VNC 服务就启动了!
然后通过ssh树莓派执行vncserver 命令,客户机打开vnc viewer,连接树莓派
连接成功后会进入树莓派安装引导程序,跟着走就是了。
(4)接入摄像头
树莓派有很多扩展接口,而摄像头也是其中一个非常重要的扩展部件,学习树莓派摄像头模块picamera的使用方法,实现使用python代码控制摄像头,以及通过vlc实时读取摄像头捕获的影像
首先关闭树莓派电源,再正确连接摄像头模块,重启。
拍照
raspistill -o Desktop/first.jpg
可以看到已经在桌面生成了照片
摄像
raspivid -o Desktop/video.flv -t 5000 -w 1280 -h 720 #-o 保存路径 ,-t 录制时间 (毫秒),-w和-h是分辨率
scp -r video.flv wcx@192.168.1.8:/home/wcx/Downloads #传输给客户机播放
python代码控制摄像头(take_ph.py)
import picamera
from time import sleep
#创建一个PiCamera实例
camera = picamera.PiCamera()
#设置分辨率
camera.resolution = (1280, 720)
#设置水印
camera.annotate_text = "hello world"
sleep(5)
#保存图像
camera.capture('/home/pi/Desktop/image-py.png')
vlc实时监控
客户端安装vlc,树莓派执行开启监控命令
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
#树莓派
树莓派开启监控后,客户端的vlc的打开网络串流,串流的url为http://树莓派的ip:8090, 然后就可以看见监控了
(5)记录遇到的问题和解决方法,提供小组成员名s单以及在线协作的图片
负责操作的同学应向组内其他成员分享操作过程和结果,分享形式包括但不限于直播、视频、图片等。
组员名单:
031702518 吴长星
031702526 周华
031702103 朱雅珊
分享形式:qq直播
一、vnc viewer连接时出现“Cannot currently show the dekstop”
原因:树莓派分辨率与连接树莓派的客户端不匹配
解决方法:
客户机上:xrandr查看可用分辨率,带*的是当前分辨率(设置分辨率命令为 xrandr -s 1280x720_60)
树莓派上:配置分辨率与客户机相同
参考树莓派分辨率设置
二、拍照时出现以下错误
执行vcgencmd get_camera返回值为
supported= 0,detected=0
说明摄像头没有正确识别,且没有输入
解决方法:进入控制台,输入sudo raspi-config,interface-options->camare->确认,打开摄像头
sudo vim /etc/modules-load.d/modules.conf
在最后一行添加bcm2835-v4l2,保存重启后再执行拍照,问题解决