国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android智能手機(jī)遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計(jì)

2012-06-25 07:02:54陳立定任志剛
電視技術(shù) 2012年7期
關(guān)鍵詞:服務(wù)器端客戶端智能手機(jī)

李 琴,陳立定,任志剛

(華南理工大學(xué)自動化科學(xué)與工程學(xué)院,廣東 廣州 510640)

視頻監(jiān)控具有悠久的歷史,目前廣泛應(yīng)用于安防領(lǐng)域,對人身安全和家庭財(cái)產(chǎn)安全的保護(hù)起到了關(guān)鍵的作用[1]。傳統(tǒng)的視頻監(jiān)控系統(tǒng)大部分采用PC作為監(jiān)控終端,需要在指定的地點(diǎn)以及專用網(wǎng)絡(luò)設(shè)備支持的環(huán)境下才能對目標(biāo)現(xiàn)場進(jìn)行監(jiān)控,極大地限制了監(jiān)控系統(tǒng)的靈活性和應(yīng)用范圍。而現(xiàn)代3G移動網(wǎng)絡(luò)的飛速發(fā)展,使視頻傳輸在智能手機(jī)上得以輕易實(shí)現(xiàn)[2]。為解決傳統(tǒng)監(jiān)控系統(tǒng)不靈活的弊端,讓人們通過移動手機(jī)隨時對家人和住房等進(jìn)行視頻安防檢測,本文提出了一種基于Android平臺智能手機(jī)的遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計(jì)方案。該系統(tǒng)主要采用Eclipse編程工具下的Android語言對其進(jìn)行了設(shè)計(jì)與實(shí)現(xiàn),只要在無線網(wǎng)絡(luò)覆蓋的范圍內(nèi),人們就可以通過Android手機(jī)畫面實(shí)現(xiàn)對目標(biāo)現(xiàn)場的實(shí)時監(jiān)控,極大方便了人們的生活。

1 Android操作系統(tǒng)

Android本義指“機(jī)器人”,同時也是Google于2007年11月5日宣布的基于Linux平臺的開源手機(jī)操作系統(tǒng)的名稱,它采用了軟件堆層(Software Stack,又名軟件疊層)的架構(gòu),主要分為底層Linux內(nèi)核、中介軟件和應(yīng)用軟件。

底層Linux內(nèi)核只用來提供基本功能,用來提供系統(tǒng)的底層服務(wù)位于硬件和其他軟件層之間。主要是添加了一個名為Goldfish的虛擬CPU以及Android運(yùn)行所需的特定驅(qū)動代碼,包括安全機(jī)制、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)堆棧及一系列的驅(qū)動模塊[3]。

中介軟件是操作系統(tǒng)與應(yīng)用程序的溝通橋梁,應(yīng)用分為函數(shù)層(Library)和虛擬機(jī)(Virtual Machine)。Android的中間層多以Java實(shí)現(xiàn),并且采用特殊的Dalvik虛擬機(jī)。虛擬機(jī)技術(shù)使得Android的Java應(yīng)用更接近于底層系統(tǒng),效率更高,同時也使得Android的應(yīng)用在被監(jiān)控的情況下運(yùn)行,安全性更高。Android開放的平臺允許任何移動終端廠商加入到Android聯(lián)盟中來,從而不存在以往任何阻礙移動產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。Android是一個對第三方軟件完全開放的平臺,代碼完全開源免費(fèi)。

在Android平臺上提供了2D、3D的圖形支持、數(shù)據(jù)庫支持(SQLite),集成了瀏覽器,可以開發(fā)出各式各樣的應(yīng)用。在應(yīng)用程序?qū)?,Android本身附帶了一些核心的應(yīng)用程序,大大簡化了Android應(yīng)用程序的開發(fā)[4]。Android的應(yīng)用程序是用Java語言開發(fā)的,其編程語言完全開源免費(fèi)。

2 系統(tǒng)總體設(shè)計(jì)

本系統(tǒng)主要是從網(wǎng)絡(luò)監(jiān)控?cái)z像頭直接讀取視頻流,然后通過網(wǎng)絡(luò)在手機(jī)上面進(jìn)行實(shí)時播放和瀏覽,使用戶可以隨時隨地通過智能手機(jī)對家居環(huán)境進(jìn)行遠(yuǎn)程監(jiān)視。監(jiān)控系統(tǒng)采用C/S架構(gòu):客戶端為基于Android平臺的智能手機(jī),支持3G和音頻視頻業(yè)務(wù),具有聯(lián)網(wǎng)功能,作為掌上終端設(shè)備實(shí)時顯示遠(yuǎn)程家居監(jiān)視畫面;服務(wù)器端為1臺帶有監(jiān)控?cái)z像頭的PC,部署在用戶家中,負(fù)責(zé)連接、控制監(jiān)控設(shè)備并與用戶的智能手機(jī)進(jìn)行通信[5]。系統(tǒng)的總體設(shè)計(jì)如圖1所示。

圖1 系統(tǒng)總體架構(gòu)圖

3 系統(tǒng)軟件設(shè)計(jì)

3.1 服務(wù)器端軟件設(shè)計(jì)

服務(wù)器端設(shè)計(jì)的主要功能是初始化攝像頭設(shè)備和主機(jī)IP以及網(wǎng)絡(luò)端口號,開啟視頻監(jiān)控服務(wù),實(shí)時捕捉現(xiàn)場圖像并等待客戶端的連接請求。在與遠(yuǎn)程請求的手機(jī)客戶端成功建立連接后便開始向其發(fā)送視頻圖像信息。服務(wù)器端整體設(shè)計(jì)流程圖如圖2所示。

圖2 服務(wù)器端整體設(shè)計(jì)流程圖

負(fù)責(zé)現(xiàn)場監(jiān)控的PC服務(wù)器端,由于需要對監(jiān)控設(shè)備進(jìn)行初始化控制,采用Visual Studio編程環(huán)境下的C++/MFC語言來實(shí)現(xiàn)。在進(jìn)行網(wǎng)絡(luò)通信傳輸時,本系統(tǒng)采用穩(wěn)定可靠的TCP套接字(Socket)傳輸協(xié)議來實(shí)現(xiàn)服務(wù)器端和客戶端之間的通信,以實(shí)現(xiàn)圖像穩(wěn)定傳輸。

TCP流式套接字的編程步驟如圖3所示。

圖3 Socket客戶/服務(wù)器通信模型

Socket通信部分利用MFC中的CSocket類來實(shí)現(xiàn),而攝像頭控制及圖像采集則通過服務(wù)廠商提供的SDK進(jìn)行實(shí)現(xiàn)。在視頻捕獲中,設(shè)計(jì)了CCaptureVideo類,并將其實(shí)現(xiàn),在打開視頻響應(yīng)函數(shù)中通過該類的調(diào)用實(shí)現(xiàn)視頻的捕捉。在對捕獲的視頻圖像進(jìn)行處理時,創(chuàng)建一個新的TCP線程TcpThread,將捕獲的視頻圖像轉(zhuǎn)換成連續(xù)的JPG/JPEG格式的圖像存儲在數(shù)據(jù)緩沖區(qū)中,該線程持續(xù)不斷地接受客戶端的連接請求,將圖像發(fā)送給客戶端。

3.2 手機(jī)客戶端軟件設(shè)計(jì)

本系統(tǒng)手機(jī)客戶端軟件是基于Android操作系統(tǒng)智能手機(jī)開發(fā)的,在客戶端軟件設(shè)計(jì)過程中,主要利用Android軟件平臺的功能模塊進(jìn)行設(shè)計(jì),在應(yīng)用層利用Android提供的各種組件API接口進(jìn)行設(shè)計(jì)實(shí)現(xiàn)。

手機(jī)客戶端首次打開運(yùn)行后,需要用戶添加遠(yuǎn)程監(jiān)控主機(jī)IP和網(wǎng)絡(luò)端口號以實(shí)現(xiàn)與主機(jī)的網(wǎng)絡(luò)通信連接,用戶添加的注冊信息可以保存到手機(jī)端以方便用戶以后的操作??蛻舳说牡卿浗缑嬖O(shè)計(jì)如圖4所示。

圖4 手機(jī)登錄界面(截圖)

手機(jī)客戶端的設(shè)計(jì)采用Eclipse工具下的Android插件進(jìn)行開發(fā),程序的設(shè)計(jì)主要基于Java語言對其進(jìn)行實(shí)現(xiàn),并調(diào)用了Android的部分API函數(shù)庫。Java語言編程特點(diǎn)是構(gòu)建各個類來實(shí)現(xiàn),為此構(gòu)建了系統(tǒng)的主要類,分別為主程序入口類VideoMonitorClient,連接視頻類ConnectServer,通信處理類 SocketVide,圖像捕獲處理類VideoMonitorView,以及線程類MonitorThread。其中SocketVide主要完成套接字Socket服務(wù),通過綁定服務(wù)器IP地址和端口號與遠(yuǎn)程服務(wù)器進(jìn)行通信連接。通信處理類SocketVide和圖像捕獲處理類VideoMonitorView被線程類MonitorThread調(diào)用,該類繼承函數(shù)庫類thread,進(jìn)行視頻處理線程管理。

程序?qū)崿F(xiàn)結(jié)構(gòu)是:建立遠(yuǎn)程視頻請求連接時,程序開始調(diào)用 ConnectServer,然后在 ConnectServer里面調(diào)用MonitorView,VideoMonitorView新建 1個 mvideo對象,mvideo對象調(diào)用其方法DownloadThread處理線程函數(shù)和MonitorThread類創(chuàng)建的對象 thread,對象thread調(diào)用SocketVide類對象,這個類對象建立TCP連接,建立連接后對象thread調(diào)用里面的視頻捕捉處理圖像函數(shù),最后保存并不斷地將圖像顯示出來。客戶端的程序設(shè)計(jì)流程圖如圖5所示。

圖5 客戶端整體設(shè)計(jì)流程圖

3.3 測試結(jié)果

在無線網(wǎng)絡(luò)覆蓋區(qū)域內(nèi),對設(shè)計(jì)的整個系統(tǒng)進(jìn)行了現(xiàn)場測試,服務(wù)器端為現(xiàn)場監(jiān)控的帶有攝像頭的PC,客戶端為基于Android的智能手機(jī),結(jié)果表明,整個系統(tǒng)運(yùn)行穩(wěn)定,連接圖像速度快,達(dá)到了預(yù)期設(shè)想的效果,服務(wù)器端和遠(yuǎn)程客戶端監(jiān)控畫面分別如圖6和圖7所示。

4 結(jié)論

本系統(tǒng)針對當(dāng)今最流行的Android智能手機(jī),利用VS和Android環(huán)境編程對系統(tǒng)進(jìn)行了設(shè)計(jì)與實(shí)現(xiàn)。手機(jī)客戶端完全利用開源代碼實(shí)現(xiàn),具有超強(qiáng)的跨平臺移植性和二次開發(fā)設(shè)計(jì),緊扣目前主流技術(shù),具有先進(jìn)、可靠、經(jīng)濟(jì)、便利等特點(diǎn)。實(shí)踐證明該系統(tǒng)具有較高的性能和可靠性。隨著3G,4G移動網(wǎng)絡(luò)傳輸速度和智能手機(jī)處理性能的大幅度提高,本手機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)必將有廣闊的發(fā)展前景。

[1]王咸鋒,林華.手機(jī)遠(yuǎn)程視頻實(shí)時監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2007,23(34):111-112.

[2]吳建華,徐浩,丁月華.移動網(wǎng)絡(luò)手機(jī)實(shí)時監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(10):2196-2198.

[3]耿東久,索岳,陳渝,等.基于Android手機(jī)的遠(yuǎn)程訪問和控制系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2011,31(2):560.

[4]農(nóng)麗萍,王力虎,黃一平.Android在嵌入式車載導(dǎo)航系統(tǒng)的應(yīng)用研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(11):2473-2476.

[5]李裕,張玲華.手持無線視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電視技術(shù),2011,35(3):106-108.

猜你喜歡
服務(wù)器端客戶端智能手機(jī)
智能手機(jī)是座礦
智能手機(jī)臉
英語文摘(2020年5期)2020-09-21 09:26:30
假如我是一部智能手機(jī)
趣味(語文)(2018年8期)2018-11-15 08:53:00
縣級臺在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
傳媒評論(2018年4期)2018-06-27 08:20:24
孵化垂直頻道:新聞客戶端新策略
傳媒評論(2018年4期)2018-06-27 08:20:16
基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
電子測試(2018年10期)2018-06-26 05:53:34
淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
成功(2018年10期)2018-03-26 02:56:14
在Windows中安裝OpenVPN
智能手機(jī)
小說月刊(2014年4期)2014-04-23 08:52:21
客戶端空間數(shù)據(jù)緩存策略
上饶县| 方城县| 石林| 肥西县| 定州市| 洛扎县| 平乐县| 维西| 新泰市| 昌黎县| 松溪县| 册亨县| 盘锦市| 呼玛县| 九龙坡区| 任丘市| 凤阳县| 太湖县| 咸丰县| 阳西县| 安顺市| 龙陵县| 贺兰县| 惠水县| 隆安县| 安溪县| 滕州市| 天峨县| 南城县| 五河县| 柯坪县| 罗田县| 陈巴尔虎旗| 阿巴嘎旗| 剑河县| 友谊县| 蓝山县| 奇台县| 沙雅县| 泾川县| 杭锦旗|