背景
上周,家里增加了新成员“蛋黄”,一只英短蓝金渐层小猫咪~因为只有三个月大,疫苗还没打全,决定安置在小房间里,先暂时不允许整个屋子游荡。但猫咪关在房间里,自己又总想知道猫咪在干什么……
于是,翻出了吃灰多年的树莓派和树莓派摄像头。这个摄像头还是2014年买的,500万像素的版本,当时花了100RMB,现在只要不到50块了😂而且最新的 Raspberry Pi Camera V2 已经有 800 万像素,还有支持夜间拍摄的版本,也是100多块……
摄像头
本文介绍的 motion 不止支持树莓派摄像头,其它 USB 摄像头也可以使用,只要系统能正确驱动它。本文使用的是尘封的树莓派2和树莓派500W像素摄像头。
安装树莓派摄像头
由于我已经把树莓派粘住并挂到了墙上 - -|| 不想弄下来了,就从树莓派官网偷了几张图片来,下面两张图片分别来自 Raspberry Pi 4 Model B 产品介绍 和 Raspberry Pi Camera V2 图片。
首先找到树莓派上的 Camera 插槽,主板上会标出 CAMERA
字样,将卡扣朝上扣开即可。
接着将树莓派摄像头排线插入 CAMERA 插槽中。树莓派摄像头的排线末端,一面是金手指,一面是蓝色部分,将蓝色部分朝向网卡和 USB Type-A 那一侧。插入后将插槽的卡扣摁下,锁住排线。这样就安装好了
配置树莓派以启用摄像头支持
打开树莓派配置工具
sudo raspi-config
依次选择 5 Interfacing Options
- P1 Camera
,在 Would you like the camera interface to be enabled? 对话框上选择 Yes
。最后通过 Finish
退出,并重启树莓派。
测试摄像头
重启好后,我们来测试一下摄像头是否可用了。通过 raspistill
来拍摄一张照片来验证一下:
raspistill -o test.jpg
如果一切顺利,摄像头拍摄的内容会被记录到 test.jpg 中。否则请检查一下排线的连结是否插反,或者配置没有正确开启。
motion
motion 是一款开源的支持多种摄像头的监控软件。本文也通过它来把树莓派变成监控摄像头~
不过官方的定义中,motion 是一款“运动检测”软件,因为它支持当图像中一部分发生变化时拍照,或者触发脚本。不过这些功能不在这次文章讨论的范围内。
安装
我使用的是 Raspbian ,你如果使用其它的发行版本,使用对应命令进行安装即可。
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install motion
配置
motion 有着超多的配置,我们先配置一些必须的,打开 motion 的配置文件 /etc/motion/motion.conf
vi /etc/motion/motion.conf
vim 通过按下 /
来进行搜索,n
跳转到下一匹配
daemon
的值修改为on
,让 motion 后台运行rotate
旋转画面,如果需要90°、180°旋转,可以在这里配置width
和height
修改画面分辨率(默认为 320*240 像素),我修改成了1024
和768
framerate
捕获的帧率,我修改为了30
stream_maxrate
修改流的帧率,因为我们需要实时查看,这个默认值是 1,会导致画面非常卡顿,我这里修改成了30
stream_localhost
的值修改为off
,允许通过非 localhost 来查看视频
上面配置中需要注意:
- 画面分辨率越高越消耗资源
- 如果画面非常卡,可以调整
stream_maxrate
和framerate
找到一个合适你的值
配置完成后保存并退出。
当 motion 运行以后,可以通过 SIGHUP
信号来重新加载配置文件
sudo killall -SIGHUP motion
也可以直接杀掉然后重新启动
sudo killall -w motion
sudo motion
测试
sudo motion
启动 motion 后,打开另一台电脑或手机上的浏览器,访问 http://树莓派地址:8081/ 即可查看到画面。
这样就完成啦。
(注:非笼养,只是猫咪从小习惯住笼子,没有人的时候自己会进去睡觉。极端主义请绕道。)