今天为大家带来树莓派视频监控的上篇。
准备:
(1)装好raspbian系统的树莓派3B(之前的树莓派也是可以的);
(2)一个网络摄像头,淘宝上淘一个低端的、能用的就可以了;我用的才30元,解析率640*480;
(3)相应配件如显示器、通畅的网络、电脑等;我是用的是putty+vnc,没有显示器。
开始:
一、摄像头的调试:
(1)调焦:
买来的低端摄像头一般会配个windows调焦软件,方便你在pc上调好焦,在树莓派上就不用调 了,这个我就不多说了,比较简单。
(2)在raspbian系统下测试拍照与实时视频:
安装拍照软件uvccapture与视频录制软件luvcview:
sudo apt-get install uvccapture
sudo apt-get install luvcview
拍照可以用下面的命令:
uvccapture -B120 -C40 -S30 -x640 -y480 -ozhaopian.jpg
下面是关于uvccapture设置参数的提示:
Camera Settings:
-B<integer> Brightness
-C<integer> Contrast
-S<integer> Saturation
命令中其他三个参数-x照片宽、-y照片高、-o照片文件名。拍照效果如下:-G<integer> Gain
有一点需要说明,当照片的宽高大于960*720时 ,必须使用使用-m参数进行YUYV方式拍照;
而对于一些摄像头,即便是小分辨率的拍照也需要使用-m参数,如果你所拍摄的照片无法查看, 就在命令中加入- m参数一般即可解决问题。-m使用很简单,如:
uvccapture -B120 -C40 -S30 -x1280 -y720 -m -ozhaopian.jpg
实时视频可以用下面的命令:
luvcview -s 640x480
-s参数指定宽高。
可以看到,帧数为8.3fps,可见树莓派的处理效果还是很有限。
二、定时拍照(1)编写脚本文件:拍照前面已经说过,可以使用uvccapture软件,为了便于进行定时操作,把命令写入脚本文件 dingshipaizhao.sh。下面是用nano编辑器创建并编辑脚本的命令:
nano dingshipaizhao.sh
文件内容如下:
#! /bin/sh
sudo uvccapture -B50 -C50 -S30 -x640 -y480 -m -ozhaopian.jpg
按Ctrl+X退出再按Y,确认路径并保存。接下来,用下面的命令赋予脚本执行权限:
sudo chmod +x dingshipaizhao.sh
(2)定时任务:crontab是一个Linux下的定时执行工具,可以在无需人工干预的情况下运行任务。crontab是内置程序,基本任何版本的Linux都带有这个程序。crontab命令选项:-u 指定一个用户。-l 列出某个用户的任务计划。-r 删除某个用户的任务。-e 编辑某个用户的任务。用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:minute hour day month week command其中:minute: 表示分钟,可以是从0到59之间的任何整数。hour:表示小时,可以是从0到23之间的任何整数。day:表示日期,可以是从1到31之间的任何整数。month:表示月份,可以是从1到12之间的任何整数。week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
在以上各个字段中,还可以使用以下特殊字符:
星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
(3)实现定时拍照:
了解了以上知识并做好准备工作,我们就可以实现定时拍照的功能了。
执行以下命令:
crontab -e</span>
在打开的文件尾部添加以下内容:
*/30**** /root/dingshipaizhao.sh</span>
保存后退出,重启后树莓派将会每隔30分钟进行一次拍照。
在拍照完成后,我们可以将图片上传到网络上,或者发送到我们的邮箱上,还可以在微信公众号中去获取它。同样,定时拍摄视频也是可以的,大家可以自己琢磨一下。
(上)篇就写到这了,剩下的内容还有很多,需要分成中、下,我慢慢写。