硬件环境:树莓派4B 4GB 某宝¥20 CSI摄像头130度广角
软件环境:
root@raspberrypi:/etc# cat /etc/os-release
PRETTY_NAME=“Debian GNU/Linux 11 (bullseye)”
NAME=“Debian GNU/Linux”
VERSION_ID=“11”
VERSION=“11 (bullseye)”
VERSION_CODENAME=bullseye
root@raspberrypi:/etc# cat /proc/version
Linux version 5.15.32-v8+ (dom@buildbot) (aarch64-linux-gnu-gcc-8 (Ubuntu/Linaro 8.4.0-3ubuntu1) 8.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #1538 SMP PREEMPT Thu Mar 31 19:40:39 BST 2022

1、先升级源:

sudo apt-get update
sudo apt-get upgrade

2、打开树莓派配置

sudo raspi-config

这是树莓派10的系统(Debian10, buster)的选项

这是树莓派11的系统(Debian11, bulleye)的选项
在这里插入图片描述

打开 Interfacing Option ,接着找到 Camera (11版本系统为Legacy Camera)选项,打开树莓派摄像头。

然后点击 finish, 重启即可

接入摄像头,我这里以某宝二十多的CSI摄像头为例。
在这里插入图片描述

查看接入情况
vcgencmd get_camera

pi@raspberrypi:~ $ vcgencmd get_camera
supported=1 detected=1

用vcgencmd命令检查一下相机,supported表示是否支持相机,如果为0,需要检查一下系统升级,然后按上面方式打开相机模块。而detected表示是否连接好了相机,如果是0,请检查相机连线是否正确,摄像头和底板是否安装好。

3、测试

如果vcgencmd get_camera结果为:supported=1 detected=1
可直接跳过这步

rapistill指令来截图

拓展:raspistill命令只能用于CSI摄像头。对于USB接口的摄像头,可以通过调用fswebcam进行访问。
在树莓派终端输入sudo apt-get install fswebcam安装fswebcam。通过输入sudo fswebcam image.jpg进行拍照测试。使用方法可以通过输入fswebcam -h查询。

执行raspistill -o a.jpg

打开根目录,就可以看到a.jpg啦~

在这里插入图片描述

相关参数:

-v:调试信息查看
-w:图像宽度
-h:图像高度
-rot:图像旋转角度,只支持 0、90、180、270 度(这里说明一下,测试发现其他角度的输入都会被转换到这四个角度之上)
-o:图像输出地址,例如image.jpg,如果文件名为“-”,将输出发送至标准输出设备
-t:获取图像前等待时间,默认为5000,即5秒
-tl:多久执行一次图像抓取

例如执行下面的指令:

raspistill -o image.jpg -rot 180 -w 1024 -h 768 -t 20000 -tl 5000 -v

注意:如果没看到照片,先看看摄像头能否运行

ls -al /dev/ | grep video

img

以上出现video则说明摄像头正常,再找找照片试试

如果在以上工作都完成的情况下,摄像头还是不能正常的使用或者驱动,请先检查硬件的连接的问题,可能是排线没有很好的插稳,或者是摄像头本身的问题

4、实时监控

安装motion(开源监控软件)

sudo apt-get install motion

首先将motion软件的后台进程改为开启,让它能够一直在后台运行。输入以下命令,将文件中 “start_motion_daemon=no” 的no改为yes。

sudo nano /etc/default/motion

之后输入命令打开motion的配置文件:

sudo nano /etc/motion/motion.conf

要更改的参数有以下几行,在nano编辑器环境下可以使用快捷键ctrl+w对关键字进行查找。

daemon on  #off改成on
width  640 
height 480 #根据摄像头像素自行更改
framerate 50 #帧率
stream_maxrate 200
stream_localhost off    #设为off,允许局域网内所有用户访问
# 更多参数请参考官方文档:
# http://lavrsen.dk/foswiki/bin/view/Motion/ConfigFileOptions

然后重启motion

sudo service motion restart

#重启motion服务,也可以kill -9 进程pid号

开启motion

sudo motion

树莓派4b浏览器访问localhost:8081,或者同局域网下访问 树莓派ip:8081 ,便能看到实时画面了

image-20220317102603092
Gif效果图(摄像头录制我只开了15帧,gif开的10帧,真实效果比这好):
在这里插入图片描述
接下来将摄像头固定好监控某个地方,将树莓派进行内网穿透之类的,访问树莓派motion服务地址即可实现视频监控。

原文链接:https://wangwangyz.site/archives/737
我的博客,在上面分享我的树莓派一些玩法(比较懒,更的少哈哈哈)

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐