李潤(rùn)宇+朱嘉塬+蘭旭婷
摘 要:系統(tǒng)程序基于Python語(yǔ)言來(lái)操作樹(shù)莓派,使用的Linux系統(tǒng),采用Python語(yǔ)言中的mjpg-streamer來(lái)使用官方樹(shù)莓派的攝像頭的圖形處理技術(shù),再通過(guò)Android來(lái)實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。
關(guān)鍵詞: 樹(shù)莓派;Android;攝像頭;Python
由西北民族大學(xué)電氣工程學(xué)院"雙E"項(xiàng)目資助(項(xiàng)目編號(hào):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 引言
手機(jī)視頻監(jiān)控是通過(guò)手機(jī)隨時(shí)隨地來(lái)觀看遠(yuǎn)程監(jiān)控點(diǎn)的視頻,整套系統(tǒng)基于互聯(lián)網(wǎng)而運(yùn)行,通過(guò)在安置在特定地點(diǎn)的監(jiān)控?cái)z像機(jī)拍攝,并將拍攝的視頻畫(huà)面經(jīng)過(guò)視頻服務(wù)器壓縮處理后上傳至互聯(lián)網(wǎng),再通過(guò)網(wǎng)絡(luò)傳輸?shù)奖O(jiān)控中心的視頻監(jiān)控服務(wù)器,然后使用手機(jī)上網(wǎng)的方式,登錄到視頻監(jiān)控服務(wù),獲得監(jiān)控資源。
通過(guò)Python控制樹(shù)莓派的GPIO,通過(guò)程序能夠控制連接GPIO口的舵機(jī),使用其自帶的嵌入式Linux系統(tǒng)的開(kāi)發(fā)環(huán)境,可以高效且豐富的語(yǔ)言開(kāi)發(fā)環(huán)境。通過(guò)樹(shù)莓派推薦的Python語(yǔ)言實(shí)現(xiàn)串行通信和網(wǎng)絡(luò)通信,分析實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)控與物聯(lián)網(wǎng)的思路,并與傳統(tǒng)的開(kāi)發(fā)方式比較,顯示其突出的實(shí)用價(jià)值。分析樹(shù)莓派的軟硬件和全球資源,介紹樹(shù)莓派各個(gè)實(shí)用的教學(xué)實(shí)踐,顯示其在平臺(tái)選型時(shí)的優(yōu)勢(shì)所在。最終得出樹(shù)莓派可使嵌入式Linux開(kāi)發(fā)及教育取得顯著進(jìn)展的結(jié)論。
2 國(guó)內(nèi)市場(chǎng)處于發(fā)展階段
早期階段,中國(guó)電信的全球眼和原中國(guó)網(wǎng)通已經(jīng)在有條件的家庭發(fā)展遠(yuǎn)程視頻監(jiān)控,隨著家庭信息化的迅速發(fā)展,對(duì)用戶家庭的遠(yuǎn)程視頻監(jiān)控需求表現(xiàn)的越來(lái)越強(qiáng)烈。
中期階段,中國(guó)移動(dòng)也在發(fā)展以”手眼通”為代表的手機(jī)彩信監(jiān)控,基于手機(jī)流量的視頻監(jiān)控。
當(dāng)前階段,視頻監(jiān)控在行業(yè)領(lǐng)域與家庭緊密聯(lián)系的小區(qū)已經(jīng)有了很好的發(fā)展,隨著家庭網(wǎng)絡(luò)環(huán)境的不斷改善、用戶消費(fèi)水平的提高、安全防范意識(shí)的增長(zhǎng)、獨(dú)立式居住家庭的增多,國(guó)內(nèi)家庭手機(jī)市場(chǎng)將更快更好的發(fā)展。
3 APP來(lái)進(jìn)行視頻監(jiān)控
現(xiàn)階段社會(huì),手機(jī)無(wú)處不在,隨著智能手機(jī)的發(fā)展、個(gè)人生活水平的提高,基本上上人均手持智能手機(jī)的比例直線上升,智能手機(jī)基本上離開(kāi)不了人們的生活。
通過(guò)使用手機(jī)基于Android編寫(xiě)的APP來(lái)進(jìn)行視頻監(jiān)控,整個(gè)系統(tǒng)基于物聯(lián)網(wǎng)而運(yùn)行,通過(guò)攝像頭捕獲的畫(huà)面從樹(shù)莓派發(fā)送到云服務(wù)器,再?gòu)氖謾C(jī)上聯(lián)網(wǎng)的APP從物聯(lián)網(wǎng)讀取云服務(wù)器上捕獲的畫(huà)面,能夠隨時(shí)隨地地進(jìn)行監(jiān)控,并且能夠發(fā)送舵機(jī)轉(zhuǎn)動(dòng)指令來(lái)全方位進(jìn)行遠(yuǎn)程視頻監(jiān)控。
4 基礎(chǔ)功能的實(shí)現(xiàn)
APP的編寫(xiě):通過(guò)Android Studio來(lái)編寫(xiě)能不斷從指定服務(wù)器地址讀取畫(huà)面并顯示且還能向云服務(wù)器發(fā)送指令的軟件。
服務(wù)器的搭建:通過(guò)花生殼提供的功能來(lái)進(jìn)行內(nèi)網(wǎng)穿透,達(dá)到遠(yuǎn)程傳輸數(shù)據(jù)的需求。
攝像頭的捕獲:通過(guò)樹(shù)莓派中Python語(yǔ)言的mjpg-streamer庫(kù)來(lái)實(shí)現(xiàn)攝像頭的圖形捕獲。
舵機(jī)控制攝像頭的轉(zhuǎn)動(dòng):樹(shù)莓派自帶Python的開(kāi)發(fā)環(huán)境,使用Python語(yǔ)言進(jìn)行程序編程,控制樹(shù)莓派的GPIO口,來(lái)調(diào)節(jié)PWM控制連在其上面的舵機(jī),來(lái)實(shí)現(xiàn)舵機(jī)的轉(zhuǎn)動(dòng)。
樹(shù)莓派自啟動(dòng):通過(guò)編寫(xiě)樹(shù)莓派中Linux系統(tǒng)下的.sh的文件來(lái)使樹(shù)莓派達(dá)到自啟動(dòng)的目的,且啟動(dòng)mjpg-streamer庫(kù)中來(lái)開(kāi)啟攝像頭來(lái)捕獲畫(huà)面。
GPIO口控制舵機(jī):使用樹(shù)莓派自帶的Python開(kāi)發(fā)環(huán)境,來(lái)進(jìn)行軟件的編程,控制GPIO需要先安裝GPIO庫(kù),安裝完成后先使用.sh文件來(lái)執(zhí)行舵機(jī)轉(zhuǎn)動(dòng)的程序。
5 設(shè)計(jì)的方案
本項(xiàng)目主要采用Python語(yǔ)言和其庫(kù)的mjpg-streamer在樹(shù)莓派上執(zhí)行攝像頭的圖形捕獲,且其攝像頭為官方樹(shù)莓派攝像頭,攝像頭與樹(shù)莓派連接,再由樹(shù)莓派把每一幀的畫(huà)面通過(guò)路由器的WIFI聯(lián)網(wǎng)發(fā)送給云服務(wù)器,而云服務(wù)器也不短向固定讀取ip地址發(fā)送捕獲的畫(huà)面,再通過(guò)聯(lián)網(wǎng)的手機(jī)來(lái)不短向云服務(wù)器接收視頻的捕獲畫(huà)面,同時(shí)能從APP發(fā)送舵機(jī)轉(zhuǎn)動(dòng)的指令,而樹(shù)莓派從云服務(wù)器獲取了轉(zhuǎn)動(dòng)舵機(jī)的指令對(duì)GPIO口來(lái)進(jìn)行操作,來(lái)達(dá)到控制攝像頭旋轉(zhuǎn)來(lái)捕獲畫(huà)面的功能。
樹(shù)莓派方面:在樹(shù)莓派上導(dǎo)入mjpg-streamer庫(kù),安裝并執(zhí)行其文件,建立.sh文件來(lái)設(shè)置兼容的官方攝像頭的屬性,并默認(rèn)開(kāi)啟攝像頭來(lái)開(kāi)啟自啟動(dòng)來(lái)不斷地捕獲畫(huà)面,且不斷的向云服務(wù)器中發(fā)送。
手機(jī)Android方面:采用Android Studo編寫(xiě)的APP軟件,它一方面具有向固定ip地址捕獲畫(huà)面的功能,一方面具把捕獲的畫(huà)面顯示出來(lái)的功能,另一方面能從手機(jī)發(fā)送舵機(jī)轉(zhuǎn)動(dòng)的指令。即基于手機(jī)Android的APP不斷從云服務(wù)器上讀取畫(huà)面,返回給手機(jī)來(lái)顯示,同時(shí)還能夠發(fā)送舵機(jī)轉(zhuǎn)動(dòng)的指令來(lái)控制舵機(jī)。
舵機(jī)控制的攝像方面:采用官方的攝像頭,小巧便利,在攝像頭上安裝舵機(jī),舵機(jī)連接樹(shù)莓派的GPIO口上,通過(guò)樹(shù)莓派從云服務(wù)器不斷讀取轉(zhuǎn)動(dòng)舵機(jī)轉(zhuǎn)動(dòng)的指令來(lái)實(shí)現(xiàn)多方位遠(yuǎn)程視頻的監(jiān)控。
參考文獻(xiàn):
[1] 陳麗麗;洪樂(lè)游;鮑盛峰 基于android手機(jī)的云臺(tái)網(wǎng)絡(luò)攝像頭控制[J].中國(guó)科技博覽,2014(4):356-356
[2]李文勝. 基于樹(shù)莓派的嵌入式Linux開(kāi)發(fā)教學(xué)探索[J]. 電子技術(shù)與軟件工程,2014,(09):219-220.