1. 程式人生 > >樹莓派實現遠端監控

樹莓派實現遠端監控

第一步如何在樹莓派上使用usb攝像頭

希望能將樹莓派作為網路監控裝置,第一步就是如何讓usb攝像頭在樹莓派上工作!!!!
說明最好是linux下能支援的uvc攝像頭,我用的USB的攝像頭,linux下一般免驅,具體型號忘記了。


這裡寫圖片描述

1.首先更新firmware,

2.插上usb攝像頭,輸入ls /dev, 檢視dev中是否存在一個video0這個裝置,如果有了說明系統識別了,如果不認,重複第一步確保firmware最新,還不行就換攝像頭吧。

3.安裝mplayer,輸入

sudo apt-get install mplayer 

4.輸入命令播放攝像頭視訊

sudo
mplayer tv://

這裡寫圖片描述

這裡寫圖片描述

  建議大家將攝像頭接在usb HUB上,我發現直接連很不穩定,我猜可能和供電有關係!

第二步安裝相關環境

一、1.下載百度雲的python客戶端


這裡寫圖片描述

  解壓把裡面的三個檔案(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失敗

1.安裝easy_install

  先安裝easy_install,有了這個工具便可安裝其他的python擴充套件庫。進入http://pypi.douban.com/simple/
找到如下檔案:

![這裡寫圖片描述](https://img-blog.csdn.net/20170817190900875?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGllY2VzX3RoaW5raW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 點選下載。

PS:下載不了可以在這下載:

  在Linux中解壓,然後進入資料夾中,執行下列命令:

Sudo python3.4 distribute_setup.py
Sudo 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中,回車,過一會就授權成功了,如果不成功可以多試幾次。
  授權成功的標誌:

![這裡寫圖片描述](https://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/dpkg
sudo mv info info.bak
sudo 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版本可以下載(看不清楚圖片的可以下載看看)