玩转树莓派-加装监控摄像头

编程/技术 更新时间: 2019-11-30 @ 11:55:55 创建时间: 2019-11-30 @ 08:04:42 浏览数: 35 净访问: 25 By: skyrover

本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议


下面记录了利用motion命令和摄像头实现监控摄像的简单方法。至于为什么要实现监控摄像……也许你想要用来放在家里防盗,想要用来看孩子,或者想要拍摄你家阳台上的鸟窝,或者你仅仅是单纯的手里有个年久失修的摄像头没地方可用,这都没关系。因为——

We do what we must because we can.

—GLaDOS

废话少说,首先我买的是具有夜视功能的摄像头+支架,一共70块,长这样:

首先按照说明将摄像头组装好,然后将另一端的排线插入树莓派中,地方就在网口附近,并且排线蓝色一面对着网口,要不然是没法读取的。下图是别人的图,我的忘记拍了。。。

接下来接电启动,这是完工后的图

摄像头使能

sudo raspi-config

打开摄像头使能,然后重启树莓派即可

motion

启动后,就开始来安装motion这个软件,安装motion(在debian下)也很简单……估计其他发行版也是一样的。在debianoid(Ubuntu/Linuxmint)下面只需要

apt-get install motion

安装完成后,默认motion命令的设置文件会在/etc/motion/motion.conf,而默认的pid文件(大概)会放在/var/run/motion/,由于这两个地方都是系统路径,所以你需要用

sudo motion

才可以获得权限正常执行。默认打开motion之后,如果视野内的图像相对之前的图像有一定比例的变动,那么motion命令就会认为摄像头拍摄到了运动物体而开始录像,直到运动物体从视野中消失为止。

树莓派中无法找到/dev/video0

启动后,发现黑屏,然后看日志:

tail -200 /var/log/motion/motion.log

发现说是找不到/dev/video0

树莓派中的camera module是放在/boot/目录下以固件的形式加载的,不是一个标准的v4l2的摄像头驱动,所以加载起来之后会找不到/dev/video0的设备节点,这是因为这个驱动是在底层的,v4l2这个驱动框架还没有加载,所以要在/etc/下面的modules-load.d/rpi-camera.conf里面添加一行bcm2835-v4l2,这句话意思是在系统启动之后会加载这个文件中模块名,这个模块会在树莓派系统的/lib/modules/xxx/xxx/xxx下面,添加之后重启系统,就会在/dev/下面发现video0设备节点了。

这个文件名可能不是叫modules-load.d/rpi-camera.conf,也有可能直接就是/etc/modules,我用的是树莓派3B,就是/etc/modules

定制配置

我改了下面的一些配置,目前看起来还算不错

daemon on
framerate 100
width 640      #图像的宽
height 480     #图像的高
target_dir /home/pi/videos   #图片保存的路径
stream_localhost off         #允许通过网页查看摄像头

挺多的,大家可以一一查看配置的注释,视情况加上,配置说明:请点击

还有一个配置: /etc/default/motion,改为

start_motion_daemon=yes

效果

这是晚上拍到我家的猫,夜视效果还不错


点赞走一波😏


评论

提交评论