資源描述:
《基于android的溫室智能視頻監(jiān)控系統(tǒng)研究》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、基于Android的溫室智能視頻監(jiān)控系統(tǒng)研究 摘要:為了實(shí)現(xiàn)溫室環(huán)境視頻監(jiān)控的移動(dòng)化和智能化,文中研究了一種基于Android的視頻監(jiān)控系統(tǒng)。介紹了該溫室環(huán)境視頻監(jiān)控系統(tǒng)的整體架構(gòu),闡述了視頻解碼與數(shù)據(jù)通信等關(guān)鍵技術(shù),重點(diǎn)論述了視頻監(jiān)控手機(jī)端Android軟件的設(shè)計(jì)方案。并在WiFi和4G兩種網(wǎng)絡(luò)環(huán)境下分別做了測試,測試結(jié)果表明,該系統(tǒng)運(yùn)行穩(wěn)定可靠,可實(shí)現(xiàn)智能手機(jī)對(duì)溫室大棚進(jìn)行遠(yuǎn)程視頻監(jiān)控的目的。 關(guān)鍵詞:Android系統(tǒng);智能手機(jī);視頻監(jiān)控;網(wǎng)絡(luò)通信 中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2095-1302(2016)06-00-02 0引言 我國目前已成為世界
2、設(shè)施作物栽培第一大國[1],特別是近來環(huán)境污染、食品安全等問題格外突出,實(shí)現(xiàn)溫室農(nóng)作物生長過程實(shí)時(shí)監(jiān)控是解決以上問題的關(guān)鍵。隨著物聯(lián)網(wǎng)、移動(dòng)互聯(lián)網(wǎng)等技術(shù)的快速發(fā)展,溫室智能監(jiān)控、食品溯源等系統(tǒng)已成為研究熱點(diǎn)。傳統(tǒng)的視頻監(jiān)控系統(tǒng)需要復(fù)雜的綜合布線,多采用視頻服務(wù)器和遠(yuǎn)程PC端訪問模式,具有施工難度大、價(jià)格昂貴和監(jiān)控靈活度差等問題;在Android平臺(tái)的智能終端(安裝了Android視頻監(jiān)控應(yīng)用軟件的智能設(shè)備,以下簡稱移動(dòng)端)上開發(fā)視頻監(jiān)控App,使用WiFi或4G網(wǎng)絡(luò),可以實(shí)現(xiàn)溫室環(huán)境隨時(shí)隨地的遠(yuǎn)程監(jiān)控功能。5 1系統(tǒng)架構(gòu)設(shè)計(jì) 基于Android的溫室智能視頻監(jiān)控系統(tǒng)采用C/S架構(gòu)
3、[2],整個(gè)系統(tǒng)由無線網(wǎng)絡(luò)攝像頭、云臺(tái)、視頻服務(wù)器(以下簡稱服務(wù)端)、無線路由器、基礎(chǔ)網(wǎng)絡(luò)和智能手機(jī)等組成,其架構(gòu)圖如圖1所示。PC監(jiān)控端和移動(dòng)端皆可通過Internet建立連接[3];移動(dòng)端在本地WiFi網(wǎng)絡(luò)環(huán)境下可搜索設(shè)備的ID號(hào),通過選擇某監(jiān)控設(shè)備的ID號(hào)訪問云臺(tái),控制相應(yīng)攝像頭,實(shí)現(xiàn)視頻的實(shí)時(shí)監(jiān)控。移動(dòng)端通過觸屏方式控制云臺(tái),實(shí)現(xiàn)攝像頭的上、下、左、右移動(dòng),垂直90度、水平360度的移動(dòng)近乎可以實(shí)現(xiàn)全方位監(jiān)控功能[4],系統(tǒng)中常用攝像頭云臺(tái)控制指令見表1所列。本文重點(diǎn)論述移動(dòng)端Android系統(tǒng)監(jiān)控軟件的方案設(shè)計(jì)。 2關(guān)鍵技術(shù) 視頻數(shù)據(jù)傳輸由RTP(Real-timeTr
4、ansportProtocol,RTP)與UDP協(xié)議共同完成,RTP協(xié)議負(fù)責(zé)控制與服務(wù)類信息傳輸,由UTP協(xié)議進(jìn)行打包、分組傳輸,RTP/UTP協(xié)議流程圖如圖2所示。Android系統(tǒng)采用Socket機(jī)制控制TCP/IP協(xié)議實(shí)現(xiàn)網(wǎng)絡(luò)通信的可靠連接,Socket是一種跨平臺(tái)、支持異構(gòu)語言的編程方式,客戶端程序使用Socket類,服務(wù)端程序使用ServerSocket類[5]。移動(dòng)端通過getServerIP()方法獲取服務(wù)端地址,并設(shè)置相應(yīng)端口號(hào),用戶驗(yàn)證并連接成功后,服務(wù)端視頻數(shù)據(jù)采用輸入流方式進(jìn)行傳入,然后使用Buffered5Reader()方法讀出數(shù)據(jù),經(jīng)視頻數(shù)據(jù)編碼處理后顯示
5、在界面上,通信結(jié)束后再調(diào)用socket.closed()方法結(jié)束通信。系統(tǒng)采用H.264/AVC方法進(jìn)行視頻硬件編碼,H.264編碼標(biāo)準(zhǔn)能適應(yīng)多種網(wǎng)絡(luò)如高、低寬帶,無線超窄帶寬[6],移動(dòng)端數(shù)據(jù)幀解碼的方法為:intDecodeH264Frame(byteArrayH264,intbFrame,byteArrayyuv,intlen,intArraysize)?! ?系統(tǒng)服務(wù)端設(shè)計(jì) 系統(tǒng)服務(wù)端采用C#/CGI方式設(shè)計(jì),CGI是外部應(yīng)用程序與Web服務(wù)器之間的標(biāo)準(zhǔn)接口,是信息傳遞的規(guī)程。服務(wù)端實(shí)現(xiàn)視頻數(shù)據(jù)的采集、存儲(chǔ)及遠(yuǎn)程訪問功能,通過網(wǎng)絡(luò)獲取視頻數(shù)據(jù)流程如圖3所示,實(shí)例HttpWe
6、bRequest類調(diào)用WebRequestCreate(stringrequestUriString)發(fā)送網(wǎng)絡(luò)請(qǐng)求,用GetReponseStream()方法獲取Internet資源響應(yīng),實(shí)例化StreamReader類,StreamReaderreader=newStreamReader(stream,Encoding.Default),讀取特定編碼數(shù)據(jù),在Picturebox控件上顯示圖片信息,定時(shí)調(diào)用圖像處理代碼的Timer間隔在110ms時(shí)即可實(shí)現(xiàn)視頻實(shí)時(shí)采集?! ?系統(tǒng)移動(dòng)端設(shè)計(jì) 移動(dòng)端程序開發(fā)環(huán)境為Eclipse+JDK+Android5SDK+ADT;測試平臺(tái)為小米4
7、LTE-CMCC+Android4.4.4。系統(tǒng)整體設(shè)計(jì)采用MVC架構(gòu),使用Android提供的各種API接口進(jìn)行實(shí)現(xiàn),主要有系統(tǒng)設(shè)置、用戶驗(yàn)證、圖像處理、數(shù)據(jù)存儲(chǔ)、視頻播放等功能模塊,如圖4所示。在/res/layout目錄下實(shí)現(xiàn)系統(tǒng)界面開發(fā),使用RelativeLayout和FrameLayout布局方式分別實(shí)現(xiàn)系統(tǒng)登錄和視頻播放界面,主要布局文件有act_main.xml、add_camera.xml、cont_device_view.xml、ved