樹莓派實現遠端監控
第一步如何在樹莓派上使用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。(參見:
重要:你需要安裝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/
找到如下檔案:
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中,回車,過一會就授權成功了,如果不成功可以多試幾次。
授權成功的標誌:
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