树莓派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使用摄像头+视频监控的主要内容,如果未能解决你的问题,请参考以下文章

一个树莓派4b可以接多少个ip摄像头

树莓派(Raspberry Pi)4B 使用摄像头拍照篇

树莓派(Raspberry Pi)4B 使用摄像头拍照篇

教程记录树莓派Raspberry+motion+摄像头实现拍照录像实时视频功能

树莓派(Raspberry Pi)4B无界面安装 Raspberry Pi 系统篇

树莓派(Raspberry Pi)4B无界面安装 Raspberry Pi 系统篇