树莓派实现远程监控

来源:互联网 发布:c语言中结构体的使用 编辑:程序博客网 时间:2024/05/28 23:09

第一步如何在树莓派上使用usb摄像头

希望能将树莓派作为网络监控设备,第一步就是如何让usb摄像头在树莓派上工作!!!!
说明最好是linux下能支持的uvc摄像头,我用的USB的摄像头,linux下一般免驱,具体型号忘记了。


这里写图片描述

1.首先更新firmware,

参考的教程http://www.eeboard.com/bbs/thread-1509-1-1.html

2.插上usb摄像头,输入ls /dev, 查看dev中是否存在一个video0这个设备,如果有了说明系统识别了,如果不认,重复第一步确保firmware最新,还不行就换摄像头吧。

3.安装mplayer,输入

sudo apt-get install mplayer 

4.输入命令播放摄像头视频

sudo mplayer  tv:// 


这里写图片描述

这里写图片描述

  建议大家将摄像头接在usb HUB上,我发现直接连很不稳定,我猜可能和供电有关系!

第二步安装相关环境

一、1.下载百度云的python客户端

https://github.com/houtianze/bypy


这里写图片描述

  解压把里面的三个文件(bypy.py bypygui.pyw setup.py)用winscp上传到树莓派,建议最好再把每个文件都添加以下执行权限

chmod 755 bypy.py

  附录:
  中文说明 (English readme is at the bottom)
  这是一个百度云/百度网盘的Python客户端。主要的目的就是在Linux环境下(Windows下应该也可用,但没有仔细测试过)通过命令行来使用百度云盘的2TB的巨大空间。比如,你可以用在Raspberry Pi树莓派上。它提供文件列表、下载、上传、比较、向上同步、向下同步,等操作。
  由于百度PCS API权限限制,程序只能存取百度云端/apps/bypy目录下面的文件和目录。
  特征: 支持Unicode/中文;失败重试;递归上传/下载;目录比较; 哈希缓存。
  界面是英文的,主要是因为这个是为了Raspberry Pi树莓派开发的。
  程序依赖
  重要:想要支持中文,你要把系统的区域编码设置为UTF-8。(参见:http://perlgeek.de/en/article/set-up-a-clean-utf8-environment)
  重要:你需要安装Python Requests 库. 在 Debian / Ubuntu / Raspbian 环境下,只需执行如下命令一次:

sudo pip install requests

  安装
  • 稳定版:直接通过pip来安装:sudo pip install bypy (支持Python 2.7+, 3.3+)
  • 开发版:git clone到任意目录。(为了运行方便,可以把bypy.py和bypygui.pyw拷贝至/usr/bin/目录
运行
  • 作为独立程序
  o 稳定版(pip安装的):运行 bypy (或者python -m bypy,或者python3 -m bypy)
  o 开发版(git clone的):进入clone目录,运行./bypy (或者python ./bypy,或者python3 ./bypy)
  可以看到命令行支持的全部命令和参数。
  • 作为一个包,在代码中使用
  o import bypy
  简单的图形界面: ./bypygui.pyw
  要找多线程图形界面的,这个貌似不错:bcloud
  基本操作
  显示使用帮助和所有命令(英文):
  bypy.py
  第一次运行时需要授权,只需跑任何一个命令(比如 bypy.py info)然后跟着说明(登陆等)来授权即可。授权只需一次,一旦成功,以后不会再出现授权提示.
  更详细的了解某一个命令:

bypy.py help <command>

  显示在云盘(程序的)根目录下文件列表:

bypy.py list

  把当前目录同步到云盘:

bypy.py syncup

  or

bypy.py upload

  把云盘内容同步到本地来:

bypy.py syncdown

  or

bypy.py downdir /

比较本地当前目录和云盘(程序的)根目录(个人认为非常有用):

bypy.py compare

  更多命令和详细解释请见运行bypy.py的输出。
  调试
  • 运行时添加-v参数,会显示进度详情。
  • 运行时添加-d,会显示一些调试信息。
  • 运行时添加-ddd,还会会显示HTTP通讯信息(警告:非常多)

2.安装Python Requests 库

  先安装python环境
  1).安装python

$ sudo apt-get install python-dev

  2).执行更新

$ sudo easy_install -U distribute

  3).安装python-pip

$ sudo apt-get install python-pip

  4).安装python的GPIO库

$ sudo pip install rpi.gpio

  注意:在第2步时遇到了很大困难,主要是提示没有easy_install这个命令,具体找了很多资料,解决方法如下:

0.前言

由于python的官方镜像位于国外,若使用pip或者easy_install安装第三方插件时或许会被限制,甚至连easy_install或pip也无法安装,例如在windows环境下运行ez_setup.py 安装easy_install,可能遇到下图这样尴尬的情况。


这里写图片描述
图1 运行ez_setup.py失败

   遇到这种问题可以”转战“国内的第三方镜像,问题便可迎刃而解。例如豆瓣镜像——http://pypi.douban.com/simple/

1.安装easy_install

  先安装easy_install,有了这个工具便可安装其他的python扩展库。进入http://pypi.douban.com/simple/
找到如下文件:


这里写图片描述
工具网址- http://pypi.doubanio.com/simple/ez-setup/

![这里写图片描述](http://img.blog.csdn.net/20170817190900875?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGllY2VzX3RoaW5raW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 点击下载。

PS:下载不了可以在这下载:

http://download.csdn.net/download/pieces_thinking/9938667

  在Linux中解压,然后进入文件夹中,运行下列命令:

Sudo python3.4 distribute_setup.pySudo easy_install pip

  完美解决
  安装python环境后就可以安装python requests库了,执行以下命令:

sudo pip install requests

3.授权python客户端权限可以操作百度云盘

  首先安装客户端(需要在源文件夹里操作)

sudo pip install bypy

  第一次使用这个软件需要先进行授权,授权以后以后就不用授权了。
  任意执行一个bypy.py里的命令会出现授权的网址(当时没有截图,就不贴图了)
  在putty中执行
  

sudo python bypy.py help

  执行后千万别进行任何操作,因为这时命令板里在等待你输入访问网址后生成的授权码
  选中网址,网址会自动复制到windows系统的剪切板中。
  打开浏览器,登陆百度账号,然后再新建一个页面贴上去刚才的网址访问,会生成一个授权码之类的字符串(这个字符串有效期为十分钟),复制一下,然后再回到putty中,右键把字符串粘贴到putty中,回车,过一会就授权成功了,如果不成功可以多试几次。
  授权成功的标志:

![这里写图片描述](http://img.blog.csdn.net/20170817191056932?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGllY2VzX3RoaW5raW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

4.安装fswebcam用来抓取图像

sudo apt-get install fswebcam

6.创建上传图片的脚本文件

nano /home/pi/yeelink.sh

7.修改yeelink的脚本

sudo nano yeelink.sh


这里写图片描述

  ctrl+x 退出按Y保存
  修改完成后最好执行以下测试看是不是能够正确上传到百度云盘

sudo  /home/pi/baiduyun/yeelink.sh

  执行后树莓派会执行拍照并上传的操作,然后我们就可以去自己的百度云盘看是否上传成功。
  我的网盘–》我的应用数据–》bypy文件夹下看是不是已经有刚才的照片啦

8.添加的定时任务

sudo crontab -e


这里写图片描述

  还是一分钟拍照一次并上传,修改路径为/home/pi/baiduyun/yeelink.sh

9.End

  云盘这么大,拍一辈子也够存了。

PS:在安装软件的过程中还有一个小问题:

  E: Sub-process /usr/bin/dpkg returned an error code (1) 出错解决方案
  有的时候,在Ubuntu下使用sudo apt-get install可能导致意想不到的错误,尤其是中途中断了安装时,错误信息为:
  Errors were encountered while processing:
  /var/cache/apt/archives/shotwell_0.18.0-1~saucy1-i386.deb
  E: Sub-process /usr/bin/dpkg returned an error code (1)
如下图:


这里写图片描述

  此时可以这样解决:

cd /var/lib/dpkgsudo mv info info.baksudo mkdir info


这里写图片描述

  重新安装,在此为(这是我这次解决问题的方法):

sudo apt-get install shotwell

  以下未经测试:
  我就是这样解决的 拿来给你分享一下~~~~
  在处理时有错误发生:

ttf-opensymbol E: Sub-process /usr/bin/dpkg returned an error code (1)

  解决方案代码:

sudo fc-cache -fv 2>&1 | grep failed | cut -f1 -d":" | xargs -i sudo touch {} && sudo fc-cache -fv

PS:这有WORD版本可以下载(看不清楚图片的可以下载看看)

http://download.csdn.net/download/pieces_thinking/9938663