|
本帖最后由 ezss 于 2015-4-27 17:35 编辑
第一次在论坛发帖,可能有细节说的不到位,欢迎回帖指正。之前我用友善之臂Micro2440做了一个远程视频监控系统,觉得处理视频效果不佳,所以采用我们的CB2来完成本次监控。视频效果不错{:soso_e128:}。当然说的远程也只是在局域网内控制,视频可以通过百度云的自动备份共享高清监测视频,也可以使用yeelink云上传监视图片(yeelink最多只支持10s上传一张图片,但如果监测一年的风景,将一年的春夏秋冬回放一遍也不错)。
这次远程视频监控系统需要以下材料:
1、CB2板子一个。
2、摄像头一个(可以是YUV的、也可以是MJPEG格式的)必须有。鼠标、键盘、显示屏什么的最好有。
3、刷机系统Lubutu(刷机步骤参考上手视频)。
4、安装VCL软件(监视输出端口视频),DW软件(网页制作),SecureCrt的电脑一台。
5、路由构建局域网环境。
准备好硬件我们开始进行远程监控设计:
第一步:按上手视频将CB2刷好系统,连接好硬件。
第二步:在CB2上安装mjpg-streamer服务器。
1、安装相关软件集:
sudo apt-get install subversion
sudo apt-get install libv4l-dev
sudo apt-get install libjpeg62-dev
sudo apt-get install imagemagick
2、下载mipg-steamer软件,编译并安装:
svn co https://svn.code.sf.net/p/mjpg-streamer/code mjpg-streamer
cd mjpg-streamer/mjpg-streamer
make clean all
sudo make install
如果你的摄像头格式是MJPEG的,可以在/mjpg-streamer/mjpg-streamer文件夹下测试
chmod 777 start.sh
./start.sh
在浏览器下输入http://本机IP:8080即可查看视频。
如果你的摄像头是YUV格式的在编译之前需要做一点修改:
cd /mjpg-streamer/mjpg-streamer/plugins/input_uvc文件夹
vi input_uvc.c
修改程序中的 format = V4L2_PIX_FMT_MJPEG, i; 改为format=V4L2_PIX_FMT_YUYV
然后重新编译。
第三步:在CB2上安装boa web服务器和cgic库。在CB2上安装boa服务器意义在于实现网络对开发板资源的控制。这部分属 于监控中比较个性的部分,现在只讲如何构建boa服务器。
1、下载boa-0.94.13.tar.gz,拷贝到CB2文件夹中,我建的文件夹是/home/boa
cd /home/boa
tar xvzf boa-0.94.13.tar.gz
cd /boa-0.94.13/src
./configure
make
2、将生成的boa和boa.conf拷贝到/etc/boa文件夹下,boa.conf是boa的配置文件,根据自己需要更改。
3、chmod 777 boa
./boa boa服务器成功运行后在浏览器中直接输入本机IP 就可以访问到我们的CB2中自己设计的网页,boa运行时会 出错,我们可以将报错消息直接百度,很多解决方案。我的配置信息中的WWW文件夹建立在了根目录下,在/www中添 加一个任意的网页就可以访问,如最简单的192.168.1.145/hello.html.
4、cgic库是动态调用网页时需要的,下载cgic205.tar.gz
tar xvzf cgic205.tar.gz
cd cgic205
make
拷贝capture、cgictest.CGI到/www/cgi-bin目录,修改权限。/www/cgi-bin目录跟boa.conf配置有关。
这部分等我给CB2加上其他模块时再详细讲如何使用cgic库。可以在浏览器中输入192.168.1.145/cgi-bin/cgictest.cgi进行 测试。
第四步:根据自己需要使用DW设计网页,添加到/www或/mjpg-streamer/streamer/www中添加网页。
第五步:使用vcl保存视频,在vcl软件中:媒体》-转换/保存》-网络 中输入监视网址,我的是 http://192.168.1.145:8080/?action=stream,选择视频输出格式,选择本地文件夹即可。
第六步:将保存视频本地文件夹自动备份到百度云,我这几天监控的视频在这里http://pan.baidu.com/s/1o62xsls,欢迎访 问。
第七步:将采集的图片上传yeelink云端,这里不做详细说明,可参照这个例子
http://bbs.yeelink.net/forum.php ... =108&extra=page%3D3,原理几乎一样。
接下来上传我的作品,超过1M的图片传不了,伤心,欢迎大家给予指正。
之前写了如何在CB2上构建视频监控系统,但上传yeelink云端这部分一直没有做,今天有时间顺便把上传云端的方法发一下。参考了:
http://bbs.yeelink.net/forum.php ... &extra=page%3D3
http://www.geek-workshop.com/thread-8953-1-2.html
上传云端这一块树莓派的资料很多,都可以做参考,下面来讲具体方法:
1、在cubieboard2系统上安装curl工具(方法很多,应该可以sudo apt-get install 没试过):
--获得安装包,从网上直接下载或者其他途径,这里直接wget
# wget http://curl.haxx.se/download/curl-7.20.0.tar.gz
--解压到当前目录
# tar -zxf curl-7.20.0.tar.gz
--进入解压后的目录内
# cd curl-7.17.1
--配置,指定安装的目录,这里是“/usr/local/curl”
# ./configure --prefix=/usr/local/curl
--
# make
--安装
# make install
--安装完毕
2、在yeelink注册账号,添加设备、传感器(图像型)、获取你专属的API Key。(后面需要你设备号和传感器号)
3、执行你的mjpg-streamer服务器,./start.sh & (&代表后台运行)
4、执行下面命令:wget "http://192.168.1.145:8080/?action=snapshot" -O /media/7467-4AB7/0004.png
5、上传截取图片命令: curl --request POST --data-binary @“/media/7467-4AB7/0004.png” --header "U- ApiKey:YOUR_API_KEY_HERE" http://api.yeelink.net/v1.0/device/12/sensor/3/photos
命令中设备号、传感器号、API改成自己自己的即可。
6、可以将截图指令和上传指令写成shell脚本文件yeelink.sh,在系统下修改权限chmod 777 yeelink.sh,之后执行./yeelink.sh 就行了。
8、将yeelink.sh可以加入定时计划,就可以做长时间的监控了。
我的yeelink监控:http://www.yeelink.net/devices/18829/#sensor_32777
欢迎访问交流学习。
|
|