李潤宇+朱嘉塬+蘭旭婷
摘 要:系統程序基于Python語言來操作樹莓派,使用的Linux系統,采用Python語言中的mjpg-streamer來使用官方樹莓派的攝像頭的圖形處理技術,再通過Android來實現遠程監控。
關鍵詞: 樹莓派;Android;攝像頭;Python
由西北民族大學電氣工程學院"雙E"項目資助(項目編號:20161801)
Monitoring of PTZ camera based on Android mobile phone
LIRunYu,ZHUJiaYan,LANXuTing
Abstract: the system program based on Python language to operate the raspberry pie, the use of the Linux system, graphics processing technology using Python language in mjpg-streamer to use the official raspberry pie of the camera, and then to realize the remote monitoring through Android.
Key words: Raspberry pie; Android; camera; Python
1 引言
手機視頻監控是通過手機隨時隨地來觀看遠程監控點的視頻,整套系統基于互聯網而運行,通過在安置在特定地點的監控攝像機拍攝,并將拍攝的視頻畫面經過視頻服務器壓縮處理后上傳至互聯網,再通過網絡傳輸到監控中心的視頻監控服務器,然后使用手機上網的方式,登錄到視頻監控服務,獲得監控資源。
通過Python控制樹莓派的GPIO,通過程序能夠控制連接GPIO口的舵機,使用其自帶的嵌入式Linux系統的開發環境,可以高效且豐富的語言開發環境。通過樹莓派推薦的Python語言實現串行通信和網絡通信,分析實現遠程視頻監控與物聯網的思路,并與傳統的開發方式比較,顯示其突出的實用價值。分析樹莓派的軟硬件和全球資源,介紹樹莓派各個實用的教學實踐,顯示其在平臺選型時的優勢所在。最終得出樹莓派可使嵌入式Linux開發及教育取得顯著進展的結論。
2 國內市場處于發展階段
早期階段,中國電信的全球眼和原中國網通已經在有條件的家庭發展遠程視頻監控,隨著家庭信息化的迅速發展,對用戶家庭的遠程視頻監控需求表現的越來越強烈。
中期階段,中國移動也在發展以”手眼通”為代表的手機彩信監控,基于手機流量的視頻監控。
當前階段,視頻監控在行業領域與家庭緊密聯系的小區已經有了很好的發展,隨著家庭網絡環境的不斷改善、用戶消費水平的提高、安全防范意識的增長、獨立式居住家庭的增多,國內家庭手機市場將更快更好的發展。
3 APP來進行視頻監控
現階段社會,手機無處不在,隨著智能手機的發展、個人生活水平的提高,基本上上人均手持智能手機的比例直線上升,智能手機基本上離開不了人們的生活。
通過使用手機基于Android編寫的APP來進行視頻監控,整個系統基于物聯網而運行,通過攝像頭捕獲的畫面從樹莓派發送到云服務器,再從手機上聯網的APP從物聯網讀取云服務器上捕獲的畫面,能夠隨時隨地地進行監控,并且能夠發送舵機轉動指令來全方位進行遠程視頻監控。
4 基礎功能的實現
APP的編寫:通過Android Studio來編寫能不斷從指定服務器地址讀取畫面并顯示且還能向云服務器發送指令的軟件。
服務器的搭建:通過花生殼提供的功能來進行內網穿透,達到遠程傳輸數據的需求。
攝像頭的捕獲:通過樹莓派中Python語言的mjpg-streamer庫來實現攝像頭的圖形捕獲。
舵機控制攝像頭的轉動:樹莓派自帶Python的開發環境,使用Python語言進行程序編程,控制樹莓派的GPIO口,來調節PWM控制連在其上面的舵機,來實現舵機的轉動。
樹莓派自啟動:通過編寫樹莓派中Linux系統下的.sh的文件來使樹莓派達到自啟動的目的,且啟動mjpg-streamer庫中來開啟攝像頭來捕獲畫面。
GPIO口控制舵機:使用樹莓派自帶的Python開發環境,來進行軟件的編程,控制GPIO需要先安裝GPIO庫,安裝完成后先使用.sh文件來執行舵機轉動的程序。
5 設計的方案
本項目主要采用Python語言和其庫的mjpg-streamer在樹莓派上執行攝像頭的圖形捕獲,且其攝像頭為官方樹莓派攝像頭,攝像頭與樹莓派連接,再由樹莓派把每一幀的畫面通過路由器的WIFI聯網發送給云服務器,而云服務器也不短向固定讀取ip地址發送捕獲的畫面,再通過聯網的手機來不短向云服務器接收視頻的捕獲畫面,同時能從APP發送舵機轉動的指令,而樹莓派從云服務器獲取了轉動舵機的指令對GPIO口來進行操作,來達到控制攝像頭旋轉來捕獲畫面的功能。
樹莓派方面:在樹莓派上導入mjpg-streamer庫,安裝并執行其文件,建立.sh文件來設置兼容的官方攝像頭的屬性,并默認開啟攝像頭來開啟自啟動來不斷地捕獲畫面,且不斷的向云服務器中發送。
手機Android方面:采用Android Studo編寫的APP軟件,它一方面具有向固定ip地址捕獲畫面的功能,一方面具把捕獲的畫面顯示出來的功能,另一方面能從手機發送舵機轉動的指令。即基于手機Android的APP不斷從云服務器上讀取畫面,返回給手機來顯示,同時還能夠發送舵機轉動的指令來控制舵機。
舵機控制的攝像方面:采用官方的攝像頭,小巧便利,在攝像頭上安裝舵機,舵機連接樹莓派的GPIO口上,通過樹莓派從云服務器不斷讀取轉動舵機轉動的指令來實現多方位遠程視頻的監控。
參考文獻:
[1] 陳麗麗;洪樂游;鮑盛峰 基于android手機的云臺網絡攝像頭控制[J].中國科技博覽,2014(4):356-356
[2]李文勝. 基于樹莓派的嵌入式Linux開發教學探索[J]. 電子技術與軟件工程,2014,(09):219-220.