只为演绎尘世 发表于 2015-4-27 17:52:23

基于cubieboard2视频监控系统+yeelink云端

本帖最后由 只为演绎尘世 于 2015-4-27 17:54 编辑

    第一次在论坛发帖,可能有细节说的不到位,欢迎回帖指正。之前我用友善之臂Micro2440做了一个远程视频监控系统,觉得处理视频效果不佳,所以采用我们的CB2来完成本次监控。视频效果不错。当然说的远程也只是在局域网内控制,视频可以通过百度云的自动备份共享高清监测视频,也可以使用yeelink云上传监视图片(yeelink最多只支持10s上传一张图片,但如果监测一年的风景,将一年的春夏秋冬回放一遍也不错)。
http://www.tudou.com/programs/view/1tMXLHqUBV8/

    这次远程视频监控系统需要以下材料:

    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文件夹
      viinput_uvc.c
       修改程序中的 format = V4L2_PIX_FMT_MJPEG, i; 改为format=V4L2_PIX_FMT_YUYV
       然后重新编译。
   第三步:在CB2上安装boaweb服务器和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
            ./boaboa服务器成功运行后在浏览器中直接输入本机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,欢迎访问。
      
       之前写了如何在CB2上构建视频监控系统,但上传yeelink云端这部分一直没有做,今天有时间顺便把上传云端的方法发一下。参考了:
       http://bbs.yeelink.net/forum.php ... =108&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 777yeelink.sh,之后执行./yeelink.sh    就行了。
      8、将yeelink.sh可以加入定时计划,就可以做长时间的监控了。
      我的yeelink监控:http://www.yeelink.net/devices/18829/#sensor_32777
      欢迎访问指正交流学习。
   

      

   
   
   

suoma 发表于 2015-4-28 12:32:55

谢谢分享学习一下

suoma 发表于 2015-4-28 12:33:40

我之前用BPI-d1完成视频监控,和你实现功能相似

suoma 发表于 2015-4-28 12:34:23

mipg-steamer,这个软件树莓派见过

mikeliujia 发表于 2015-7-12 09:25:59

谢谢分享,学习下!:lol
页: [1]
查看完整版本: 基于cubieboard2视频监控系统+yeelink云端