其他分享
首页 > 其他分享> > 第六次实践

第六次实践

作者:互联网

每个人各自写出

第一,说明你此前对于树莓派的认识程度,是闻所未闻还是只听其名不知其用途,亦或是已经了解熟悉。

第二,查找相关资料,写下你认为的树莓派可以用来做什么,如果你有需要打算用它来做什么。

系统烧录和备份

通过查找相关资料,由小组共同完成树莓派的系统烧录和备份

在官网中下载镜像,按需求下载(选择有桌面环境) 下载链接 选择好要写入的设备和镜像点击写入进行系统烧录 烧录工具.png 编辑配置文件 配置文件.png 将配置文件和ssh(无后缀)放入sd卡根目录 bootE.png 选择要进行备份的设备和映像文件保存路径点击读取进行备份 备份(点击读取).png 生成的镜像备份(.img) 备份文件.png

访问树莓

在局域网中,通过ssh和vnc远程桌面完成树莓派的访问

SSH

配置wpa_supplicant.conf文件中的WiFi信息连接到路由器上,使得能够使用ssh访问树莓派

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
}

查看ip地址 树莓派的初始账号密码

username:pi
password:raspberry

连接成功

VNC

启动树莓派的VNC服务

sudo raspi-config
# 之后依次选择 Interfacing Options -> VNC -> Yes

使用VNC Viewer连接到树莓派

VNC Viewer下载地址 完成注册输入账号密码后便成功连接到树莓派。

接入摄像头

树莓派有很多扩展接口,而摄像头也是其中一个非常重要的扩展部件,学习树莓派摄像头模块picamera的使用方法,实现使用python代码控制摄像头,以及通过vlc实时读取摄像头捕获的影像。

摄像头模块安装

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

使用命令控制摄像头

使用命令控制摄像头

pi@raspberrypi:~ $ raspistill -o Desktop/image.jpg
# 增加参数修改照片的大小
pi@raspberrypi:~ $ raspistill -o Desktop/image-small.jpg -w 640 -h 480
# 输入raspistill直接回车可查询raspistill命令其他参数
pi@raspberrypi:~ $ raspivid -o Desktop/video.h264 -t 5000 -w 1024 -h 768            
#时长5000毫秒、分辨率为1024x768的视频,保存在桌面,命名为video.h264 

使用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)
camera.stop_preview()
from picamera import PiCamera
from time import sleep
#初始化参数
camera = PiCamera()
# Rotate by 180 degrees when the camera is upside-down
camera.rotation = 180 
#设置alpha方便拍摄时观察错误提示
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 a vedio and its length is 5 s
camera.start_recording('/home/pi/Desktop/video.h264')
sleep(5)
camera.stop_recording()
camera.stop_preview()

img

img

img

  ***PiCamera库*提供了很多关于图像和摄像头预览的设置,并且两者是分开的,即一部分只对拍摄的画面有效,另一部分只对预览有效

from picamera import PiCamera, Color
from time import sleep
#初始化参数
camera = PiCamera()
camera.rotation = 180 
camera.resolution = (1024, 768)
camera.framerate = 15
#图片里增加文本
camera.start_preview()
camera.brightness = 70
camera.annotate_background = Color('blue')
camera.annotate_foreground = Color('yellow')
camera.annotate_text = "Hello world!"
camera.annotate_text_size = 30
sleep(5)
camera.capture('/home/pi/Camera/pic.jpg')
camera.stop_preview()
#实现摄像头预览亮度递增效果
camera.start_preview()
for i in range(5):
    camera.annotate_text = "Brightness: %s" % i
    camera.brightness = i*20
    sleep(0.1)
    camera.capture('/home/pi/Camera/brightness%s.jpg' % i)
camera.stop_preview()
#实现摄像头预览对比度递增效果
camera.start_preview()
for i in range(5):
    camera.annotate_text = "Contrast: %s" % i
    camera.contrast = i*20
    sleep(0.1)
    camera.capture('/home/pi/Camera/contrast%s.jpg' % i)
camera.stop_preview()

基于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在同一局域网内的其他设备上打开媒体->网络串流->输入http://PI的IP地址:8090查看实时的网络监控了。

默认大概5秒,可以改变VLC的参数,大幅降低延时。

–udp-caching=500 延时0.5秒

img

img

img

img

记录遇到的问题和解决方法,提供小组成员名单以及在线协作的图片

负责操作的同学应向组内其他成员分享操作过程和结果,分享形式包括但不限于直播、视频、图片等。

img

学号 姓名
031702337 叶琦熠
031702525 周鑫煌
031702316 翟鑫亮

标签:树莓,实践,annotate,camera,sleep,第六次,preview,摄像头
来源: https://www.cnblogs.com/huckleberry/p/12973490.html