主要参考这篇文章,树莓派+motion安装摄像头实现远程监控
摄像头的选择,罗技(Logitech)C270 高清网络摄像头,插上即可。罗技C270 摄像头参数如下,
高清720P
感光元件 CMOS
摄像头像素 300万
接口类型 USB2.0
软件方面非常简单,只需要一个软件:motion
这是 Linux下一款开源摄像头监控软件,可以检测并保存运动物体的图像。
备选方案:
1) 直接用树莓派官方的摄像头,不用USB摄像头。最新的2代像素可以达到800万。
It supports 1080p30, 720p60 and VGA90 video modes, as well as still capture. It attaches via a 15cm ribbon cable to the CSI port on the Raspberry Pi. It can be accessed through the MMAL and V4L APIs, and there are numerous third-party libraries built for it, including the Picamera Python library. See the Getting Started with Picamera resource to learn how to use it.
2) 可以采用其他的图像采集软件,比如 mjpg-streamer, Camkit, ffmepg+ffserver
1. 安装
$ sudo apt install motion
2. 配置
$ sudo cp /etc/motion/motion.conf /etc/motion/motion.conf.bak
$ sudo vim /etc/motion/motion.conf
width 640 # 图像的宽
height 480 # 图像的高
target_dir ~/workspace/motion # 图片保存的路径
stream_localhost off # 允许通过网页查看摄像头
stream_auth_method 2 # 开启密码认证
stream_authentication pi:raspberry #网页查看摄像头的用户名和密码
webcontrol_localhost off # 允许非本机访问控制页面
locate_motion_mode on # locate and draw a box around the moving object.
framerate 100 # Maximum number of frames to be captured per second.
stream_maxrate 200 # Maximum framerate for stream streams.
下面的一些配置还没有测试过,参考这篇文章,
# 一旦有照片被拍下来,则执行/root/upload.sh命令,其中%f参数会自动转化为当前图片文件的路径,传给upload.sh:
on_picture_save /root/upload.sh %f
# 设置当探测到运动时,执行指定目录里的文件,这里设定为执行/home/pi/motion/目录下的 on_motion_detected.sh脚本命令。
on_event_start /home/pi/motion/on_motion_detected.sh
# 当on_event_start事件开始后,即检测到运动之后, 若连续10秒不能再检测到运动时,执行指定目录下的文件,这里设置为执行/home/pi/moiton/目录下的on_motion_end.sh脚本命令。10秒参数由gap 10选项设定。
on_event_end /home/pi/motion/on_motion_end.sh
post_captureValues: 0 - 2147483647
Default: 0 (disabled)运动在持续多少帧之后才被捕捉
ffmpeg_cap_new on: 指在侦测到运动时,用视频纪录下来
snapshot_interval 1: 设定自动采集图片的周期,当有运动被检测到时,采集频率会自动变高。
3. 运行
pi@raspberrypi:~/workspace/motion $ sudo motion
[21493384:motion] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf
[21493384:motion] [NTC] [ALL] motion_startup: Motion 4.1.1 Started
[21493384:motion] [NTC] [ALL] motion_startup: Logging to file (/var/log/motion/motion.log)
pi@raspberrypi:~/workspace/motion $ sudo service motion stop
4. 查看log
pi@raspberrypi:~ $ tail -f /var/log/motion/motion.log
5. 查看实时图像/控制界面
用浏览器登陆树莓派的网址 192.168.0.111:8081 ,输入用户名和密码,就可以看到实时图像。
用浏览器登陆树莓派的网址 192.168.0.111:8080,可以查看控制界面。
注意,如果发现查看监控的时候非常的卡,延迟非常大,可以尝试修改framerate 和 stream_maxrate参数。