原文出处:http://www.freebuf.com/news/special/61378.html
本文将为大家展示一款高清监控摄像机的DIY过程,且相较于其市场价,本次DIY的花费不到其十分之一。另外通过该摄像机,你可以随时从浏览器或者手机中查看监控区域的画面。
DIY材料:
B型树莓派、树莓派摄像机模块、摄像机外壳、电源、SD卡、USB无线接收器
具体步骤:
STEP1
首先,需要安装操作系统和软件。操作系统的选择毫无疑问是Raspbian,这是目前世界上最先进的树莓派操作系统,也号称是世界上最小的操作系统,诞生后就迅速取代了红帽为ARM处理器特别订制的Fedora。你的SD卡要确保能使Raspbian在树莓派上运行,推荐Adafruit 上的教程。
将树莓派连接到网线上,然后利用显示器和键盘完成基本设置。插入装有Raspbian的SD卡,保持供电然后按照教程安装即可。另外还要保证即使在没有显示器和键盘的情况下,也能启用SSH,正常使用树莓派,当然还要确保Raspbian中摄像机菜单的正常启用。
现在检查你的树莓派更新
sudo apt-get install rpi-update
sudo rpi-update
并进行更新
sudo apt-get update
sudo apt-get upgrade
STEP2
完成上面的步骤之后你可以尝试将树莓派连接到你的电脑上,你可以通过局域网内的任何电脑使用LINUX console来控制它。这一点十分重要,因为这将确保当你需要修改摄像机的设置时不需要从墙上把它拿下来。
在Windows上则需要一个小软件Putty,安装完成之后进行连接即可。
STEP3
如果需要使摄像机可以进行WI-FI控制,可以进行以下的步骤:
通过console(Putty)来编辑树莓派的网络属性
sudo nano /etc/network/interfaces
在文件末尾添加以下内容
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid “YOUR NETWORK SSID”
wpa-psk “WIFI PASSWORD”
重启树莓派看是否连接到WI-FI上了
sudo reboot
STEP4
接下来要做的就是外壳内部各个硬件部分的组装了,这项工作并不复杂,唯一需要注意的地方就是一定要保证当摄像机工作时不会出现意外状况。
我所采用的摄像机外壳有一个较大的玻璃窗口,我选择用一块黑色的纸将它遮盖住。这样做会使我们“摄像机”的技术不可见~当然你也可以选择不遮挡它,不过当它进行记录时会有红色的亮光闪烁。
或者你可以选择关掉这个红色的LED灯:
disable_camera_led=1
现在我们要做的是安装用于监测运动的软件,我所使用的这款软件是开源的,非常好用。点我下载
登陆你的树莓派用户“pi”,输入以下命令行开始安装
sudo apt-get install motion
安装过程中,各个步骤都只需选择“Y”即可。
当前版本的该软件并不支持树莓派的摄像机模块,所以我们需要安装一个插件来支持摄像机模块。
cd /tmp
sudo apt-get install -y libjpeg62 libjpeg62-dev libavformat53 libavformat-dev libavcodec53 libavcodec-dev libavutil51 libavutil-dev libc6-dev zlib1g-dev libmysqlclient18 libmysqlclient-dev libpq5 libpq-dev
wget https://www.dropbox.com/s/xdfcxm5hu71s97d/motion-mmal.tar.gz
解压压缩文件到/tmp的目录下
tar zxvf motion-mmal.tar.gz
解压后开始更新软件。
sudo mv motion /usr/bin/motion
sudo mv motion-mmalcam.conf /etc/motion.conf
当然,你还需要启用该软件的进程,保证其始终在后台运行。
sudo nano /etc/default/motion
改变这一行
start_motion_daemon=yes
进行非常重要的该软件的配置,这是一条非常重要的命令
sudo nano /etc/motion.conf
单片机个人觉得先掌握其中一种,其它的都可以触类旁通,快速上手了。如果你这些条件都没有,我建议你学习51单片机。
当你通过SSH使用该软件时一定要保证在用户“pi”下有正确的使用权限。
对该软件进行重启
sudo chmod 664 /etc/motion.conf
sudo chmod 755 /usr/bin/motion
sudo touch /tmp/motion.log
sudo chmod 775 /tmp/motion.log
对了,我对该软件的配置文件进行了一些修改以适应我的需求,文末会附上配置文件的压缩包。
配置文件的主要修改有以下几点:
确保该软件在后台保持运行
daemon on
我想将日志存在/tmp
logfile /tmp/motion.log
为了保证高清,我将分辨率设置为1280*720
width 1280
height 720
我们并不需要实时摄像,每秒两张照片完全足够
framerate 2
该软件有个非常好的地方,就是可以记录画面的前后帧
pre_capture 2
post_capture 2
对我们来说十分钟的视频足矣,在软件中这一配置选项由max_movie_time更名为max_mpeg_time,如果你使用motion- mmal 来建立可以正常工作即可,如果出现 ’Unknown config option ”max_mpeg_time”,将其变 为 max_movie_time或确保motion-mmal可以正常建立。
max_mpeg_time 600
VLC等一些播放媒体不能播放纪录电影,我们将其解码为MP4格式,使其可以正常播放。
ffmpeg_video_codec msmpeg4
允许其从任何地方都可以直接观看
stream_localhost off
如果你想保护查看视频的账号密码,你需要启用这个
stream_auth_method 2
stream_authentication SOMEUSERNAME:SOMEPASSWORD
完成更改后重启树莓派
sudo reboot
STEP6
SD卡的存储空间有点,因此最好将监测记录存储到电脑中。首先在windows机器中共享一个文件夹,然后打开fstab在PuTTY console或直接从设备上进行配置。
sudo nano /etc/fstab
配置windows网络共享文件夹
//YOURSERVERNAME/YOURSHAREDFOLDERNAME /mnt/camshare cifs username=YOURSHAREDFOLDERUSERNAME,password=YOURSHAREDFOLDERPASSWORD,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
保证用户获得使用权限。
重启树莓派后你会发现在共享文件夹中多了一个文件夹 /mnt/camshare 。设置你的motion.conf
target_dir /mnt/camshare
STEP7
在这里遇到了一点小麻烦,我发现运动监测软件被没有自启。检查后发现是当该软件试图访问windows的安装文件夹时,其还没准备好。
解决起来很容易,只需要以下两步:
sudo nano /etc/init.d/motion
加入这一行
sleep 30
到 start-sequence
我所进行的对/etc/init.d/脚本的修改在文末压缩包中。
STEP8
接下来就是整个摄像头的安装固定了。需要注意的是保证电源在干燥通风的地方,另外还要确保WI-FI可以正常使用。
完成安装后你就可以通过浏览器访问http://IPADDRESSOFRASPBERRY:8080查看监测画面了。
如果想要在任何地方都可以访问你的监测画面,你需要启动某种动态域名到你的本地网络。它将可以使你在ip不断变化的情况下始终连接到你的本地网络。我所使用的是dyn.com,他们有很多免费服务,并且集成了很多路由器。
raspberry_surveillance_cam_scavix.zip
http://static.3001.net/upload/20150319/14267598321774.zip
点击阅读原文下载
单片机使用C语言就不一样了,C语言编译后直接转换成机器语言,直接对硬件进行控制,效率要高很多,而且很节省CPU和内存空间。