树莓派4b使用摄像头+视频监控
Posted 挚夏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树莓派4b使用摄像头+视频监控相关的知识,希望对你有一定的参考价值。
硬件环境:树莓派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
以上出现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
,便能看到实时画面了
Gif效果图(摄像头录制我只开了15帧,gif开的10帧,真实效果比这好):
接下来将摄像头固定好监控某个地方,将树莓派进行内网穿透之类的,访问树莓派motion服务地址即可实现视频监控。
原文链接:https://wangwangyz.site/archives/737
我的博客,在上面分享我的树莓派一些玩法(比较懒,更的少哈哈哈)
树莓派进阶之路 (017) - 基于树莓派的专用摄像头实时监控
环境:
- 硬件:树莓派三代B型, 5MP Camera Board Module
-
软件:Raspbian
-
安装树莓派摄像头模块
1、找到 CSI 接口(CSI接口在以太网接口旁边),掀起深色胶带。
2、拉起 CSI 接口挡板。
3、拿起你的摄像头模块,将贴在镜头上的塑料保护膜撕掉。确保黄色部分的PCB(有字的一面)是安装完美的(可以轻轻按一下黄色的部分来保证安装完美)。
4、将排线插入CSI接口。记住,有蓝色胶带的一面应该面向以太网接口方向。同样,这时也确认一下排线安装好了之后,将挡板拉下。
-
在树莓派上启用摄像头模块
在安装完摄像头模块之后,首先要确认你已经升级了树莓派系统并应用了最新的固件。可以输入以下命令来操作:
-
$ sudo apt-get update $ sudo apt-get upgrade
-
运行树莓派配置工具来激活摄像头模块:
-
$ sudo raspi-config
移动光标至菜单中的 "Enable Camera(启用摄像头)",将其设为Enable(启用状态)。完成之后重启树莓派。
-
在树莓派上安装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
在电脑端,无论是Windows,Linux还是OSX,或者安卓机器,只要能安装VLC,现在就可以打开VLC,然后打开媒体-》网络串流-》输入http://PI的IP地址:8090查看实时不卡的网络监控了。
以上是关于树莓派4b使用摄像头+视频监控的主要内容,如果未能解决你的问题,请参考以下文章
教程记录树莓派Raspberry+motion+摄像头实现拍照录像实时视频功能