树莓派4b使用摄像头+视频监控_树莓派使用usb摄像头需要打开legacy carema权限吗-程序员宅基地

技术标签: linux  

硬件环境:树莓派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
我的博客,在上面分享我的树莓派一些玩法(比较懒,更的少哈哈哈)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_51245887/article/details/123545360

智能推荐

基于ssm+vue.js+uniapp小程序的高校图书馆个性化服务附带文章和源代码部署视频讲解等-程序员宅基地

文章浏览阅读741次,点赞15次,收藏28次。博主介绍:CSDN特邀作者、985计算机专业毕业、某互联网大厂高级全栈开发程序员、码云/掘金/华为云/阿里云/InfoQ/StackOverflow/github等平台优质作者、专注于Java、小程序、前端、python等技术领域和毕业项目实战,以及程序定制化开发、全栈讲解、就业辅导、面试辅导、简历修改。精彩专栏 推荐订阅2023-2024年最值得选的微信小程序毕业设计选题大全:100个热门选题推荐2023-2024年最值得选的Java毕业设计选题大全:500个热门选题推荐。

vscode 无法使用 compilerPath“D:.../bin/arm-none-eabi-g++.exe”解析配置。_无法使用 compilerpath 解析配置-程序员宅基地

文章浏览阅读3.1k次。解决 vscode 无法使用 compilerPath......_无法使用 compilerpath 解析配置

struts1与struts2的各个优点和缺点_1.说一下struts1和struts2 优缺点。-程序员宅基地

文章浏览阅读734次。类:• Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。• Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action_1.说一下struts1和struts2 优缺点。

函数传值的三种方法_c语言 怎么实现函数参数可传可不传-程序员宅基地

文章浏览阅读1.9k次。第一种:#include using namespace std;void myswap(int x,int y){ int t; t=x; x=y; y=t;}int main(){ int a,b; cout cin>>a>>b; myswap(a,b); cout cout _c语言 怎么实现函数参数可传可不传

web聊天自动回复--HTML_网页自动回复html-程序员宅基地

文章浏览阅读4.4k次。<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> <link href="css/css.css" type="text/css" rel="styles_网页自动回复html

【算法基础】冒泡排序解析_3473: 【冒泡排序】数组元素的排序-程序员宅基地

文章浏览阅读2.3k次,点赞3次,收藏4次。在我们日常喝可乐雪碧的过程中,会看见无数气泡向水面移动,直到冒出水面,气泡比水轻会向前移动,我们称这种现象为冒泡。在我们数组排序中,每一个数组元素根据大小比对,小的元素不断向前移动,如同气泡在冒出一样,我们称这种排序方法为冒泡排序。冒泡排序重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。_3473: 【冒泡排序】数组元素的排序

随便推点

ubuntu18配置opencv 带有opencv_contrib_ubuntu18配置opencv contrib-程序员宅基地

文章浏览阅读330次。整体安装参考博客第一个坑:~/opencv_contrib/modules/xfeatures2d/src/boostdesc.cpp:673:20: fatal error: boostdesc_bgm.i: No such file or directory网络差,下载失败。解决方法:自行下载后拷贝到该目录。下载链接:https://files.cnblogs.com/files/a..._ubuntu18配置opencv contrib

加训(个人纪录)_a. musical puzzle-程序员宅基地

文章浏览阅读1k次。【代码】加训(个人纪录)_a. musical puzzle

优秀智慧园区案例 - 重庆AI PARK智慧创意园区,先进智慧园区建设方案经验_大型创意文化园的智慧文化系统建设项目-程序员宅基地

文章浏览阅读418次。作为”一带一路“和长江经济带的联结点,重庆是中西部高质量发展的重要增长地。西部(重庆)科学城是重庆科技创新的重大平台,重庆AI PARK园区便坐落于重庆市西部科学城核心区域,金融街片区凤鸣湖畔。AI PARK是特斯联打造的人工智能城市项目的先行示范区。是全球首个落地的AICITY微缩旗舰版样板点,建筑面积约6000平米,总投资3亿元,内设多个主题体验厅与智能实验室。包括行走的AI机器人,灯杆、垃圾桶等智能终端、50+IoT协议应用,自研算法加持。_大型创意文化园的智慧文化系统建设项目

python保存数据框_Python 保存数据的方法:-程序员宅基地

文章浏览阅读1k次。open函数保存使用with open()新建对象写入数据(这里使用的是爬取豆瓣读书中一本书的豆瓣短评作为例子)123456789101112131415161718import requestsfrom lxmlimport etree#发送Request请求url= 'https://book.douban.com/subject/1054917/comments/'head= {'User-..._储存为数据框

自考工作分析之工作分析的历史与发展_工作分析的历史 苏格拉底-程序员宅基地

文章浏览阅读1.4k次。一、工作分析的产生与发展(一)工作分析的思想探源 工作分析的思想起源于社会分工思想,先驱工作者:管仲、旬况、苏格拉底、柏拉图、亚当.斯密。(二)西方国家工作分析的发展历程 (1)工作分析的萌芽 1747年,狄德罗在编纂百科全书的过程实施了一次工作分析。 (2)泰勒的科学管理原理 系统的工作分析最早出现于19世纪末20世纪初。它是美国科学管理之父--F.W._工作分析的历史 苏格拉底

重写与重载_重载和重写-程序员宅基地

文章浏览阅读2.5k次。从字面上看,重写就是 重新写一遍的意思。其实就是在子类中把父类本身有的方法重新写一遍。子类继承了父类原有的方法,但有时子类并不想原封不动的继承父类中的某个方法,所以在方法名,参数列表,返回类型(除过子类中方法的返回值是父类中方法返回值的子类时)都相同的情况下, 对方法体进行修改或重写,这就是重写。但要注意子类函数的访问修饰权限不能少于父类的。..._重载和重写