0 引言
隨著Internet和個人計算機的普及,, Internet用戶已達到了空前的數(shù)量, 而對網(wǎng)絡(luò)的利用也已經(jīng)逐漸滲透到了各個行業(yè),, 現(xiàn)在已出現(xiàn)了如視頻會議,、電子商務(wù)等新型業(yè)務(wù), 這些業(yè)務(wù)的推出大大方便了人們的生活,, 提高了社會效率,。同樣, 視頻監(jiān)控技術(shù)發(fā)展也經(jīng)歷了模擬監(jiān)控,、數(shù)字監(jiān)控階段,, 現(xiàn)在正在向大規(guī)模網(wǎng)絡(luò)監(jiān)控技術(shù)方向發(fā)展。
網(wǎng)絡(luò)監(jiān)控系統(tǒng)具有能夠克服地域的限制,、傳輸信號不易受干擾,、網(wǎng)絡(luò)帶寬可復(fù)用的巨大優(yōu)勢, 因而較之傳統(tǒng)監(jiān)控模式具有更廣闊的發(fā)展空間,。為此,, 本文結(jié)合相關(guān)技術(shù),, 提出了一種基于嵌入式Web服務(wù)器的遠程監(jiān)控系統(tǒng)方案,, 該方案整合了門禁、紅外監(jiān)測,、煙霧探測等外圍設(shè)備,, 并具有監(jiān)控智慧化、存儲設(shè)備成本低,、網(wǎng)絡(luò)資源占用率小,、方便擴展等特點。
1 系統(tǒng)硬件設(shè)計
本系統(tǒng)以S3C2410為控制核心,, 并基于嵌入式Linux操作系統(tǒng)來開發(fā)設(shè)計,。nand flash設(shè)備采用cramfs文件系統(tǒng), 上電后掛載yaffs文件系統(tǒng)來保存臨時數(shù)據(jù)文件,, 并提供有SD卡接口以用于保存視頻文件,。
本系統(tǒng)中的視頻采集設(shè)備采用中芯微的ZC301芯片中的USB Camera.該芯片目前在市場上已被廣泛應(yīng)用, 它能夠支持Video4linux.
Video4linux作為Linux系統(tǒng)中可支持影像設(shè)備的一組API, 只要配合適當?shù)囊曨l采集設(shè)備和驅(qū)動,,就可以實現(xiàn)影像采集,。
網(wǎng)絡(luò)接入系統(tǒng)一般有兩種設(shè)計方式, 一是通過外部擴展網(wǎng)絡(luò)芯片RTL8019AS來實現(xiàn),, 另一種是通過外部擴展的GPRS模塊(設(shè)計中,, GPRS核心模塊可采用wavecomQ2403A) 來實現(xiàn)。前者適合應(yīng)用在檢測地點固定的情況下,, 而后一種方式既能提供事件觸發(fā)短信發(fā)送功能,, 又可以提供GPRS網(wǎng)絡(luò)接入功能,, 從而使得視頻監(jiān)控系統(tǒng)在汽車、野外現(xiàn)場等環(huán)境中也能夠得到應(yīng)用,。
此外,, 本系統(tǒng)還擴展了紅外、煙霧測控設(shè)備,、門禁系統(tǒng),, 并配備了報警裝置, 其系統(tǒng)硬件設(shè)計的整體框圖如圖1所示,。
智能家居" p="" src="http://files.chinaaet.com/images/2012/06/14/5173bb00-1237-4100-be01-1a09ebd2f2a2.jpg" title="智能家居" />
2 軟件設(shè)計
本系統(tǒng)軟件由后臺進程和前臺用戶接口兩部分組成,。為了防止競態(tài)的出現(xiàn), 在軟件實現(xiàn)時,,用戶CGI接口可利用system V的郵箱通信機制向后臺進程提出請求,。后臺開設(shè)有線程接收請求并對各設(shè)備功能模塊進行統(tǒng)一調(diào)度。圖2所示是本系統(tǒng)的軟件整體結(jié)構(gòu)框架,。下面分別對系統(tǒng)的各個模塊進行介紹,。
2.1 紅外探測模塊及煙霧檢測模塊
目前多數(shù)家居監(jiān)控方案主要采用網(wǎng)絡(luò)攝像頭作為監(jiān)控終端設(shè)備, 用戶可通過Web瀏覽器隨時隨地的監(jiān)控家中狀況,, 這給用戶帶來了巨大的便捷,。但是, 由于它連續(xù)不間斷的監(jiān)控,, 缺點也是顯而易見,。首先是對存儲設(shè)備容量有巨大的要求, 由于被迫記錄了大量的非必要視頻,, 存儲空間被嚴重浪費,。面對這個問題, 智能化成為對數(shù)字視頻監(jiān)控系統(tǒng)的又一個主要要求,。本文提出的方案是一種基于事件觸發(fā)的機制,, 系統(tǒng)可以實現(xiàn)智能控制并只保存發(fā)生異常時的視頻文件。這種設(shè)計能有效節(jié)省系統(tǒng)存儲開支,、靈活控制監(jiān)控設(shè)備,, 為用戶提供很大方便。在基于事件觸發(fā)機制的方案設(shè)計中,, 主要有針對軟,、硬件的兩種設(shè)計方向。
其一是軟件主導(dǎo)的觸發(fā)方案,, 這種方式可以參考motion開源軟件項目的設(shè)計思路,, 其原理是對采集到的jpeg圖片進行比對, 當差異超過規(guī)定閾值則觸發(fā)相應(yīng)動作,。motion是一個運行在Linux操作系統(tǒng)環(huán)境下的應(yīng)用軟件,, 它最大的特點就是能夠探測采集到畫面有效部分的變化,, 也就是說, 能夠監(jiān)測到運動,。當畫面有變化時,, motion將以一定的頻率采集jpeg文件, 并將其壓縮為視頻文件自動保存,。
這種軟件的實現(xiàn)機制依托實時的數(shù)據(jù)分析,,對系統(tǒng)的處理和運算能力要求較高, 因此,, 在實際使用中會有一些限制,, 但是, 隨著處理器運算能力的提高,, 作為監(jiān)控系統(tǒng)的智能化發(fā)展方向,,將會有很好的發(fā)展前景。
其二是硬件主導(dǎo)的觸發(fā)方案,, 本設(shè)計使用的便是這種方式,。本系統(tǒng)采用紅外傳感器來探測異常, 同時整合了煙霧傳感器來監(jiān)控火災(zāi),, 當監(jiān)控范圍內(nèi)出現(xiàn)異常時便觸發(fā)中斷,, 并由中斷處理程序啟動視頻采集和火災(zāi)報警等功能。采集到的視頻和資料將保存在外部存儲設(shè)備上,。而門禁系統(tǒng)中的報警開關(guān),, 則可在用戶刷卡回到家中后,, 自動關(guān)閉監(jiān)控功能,。
2.2 數(shù)字壓縮單元
本系統(tǒng)采用MPEG-4視頻編碼器來對視頻圖像進行壓縮編碼, 并利用FFmpeg視頻處理工具來實現(xiàn),。H.264算法具有很高的編碼效率,, 在相同的重建圖像質(zhì)量下, 能夠比H.263節(jié)約50%左右的碼率,。H.264的碼流結(jié)構(gòu)網(wǎng)絡(luò)適應(yīng)性強,, 同時增加了差錯恢復(fù)能力, 能夠很好地適應(yīng)IP和無線網(wǎng)絡(luò),??梢哉f, H.264是目前壓縮率最高的視頻壓縮標準,, 并已在數(shù)字監(jiān)控系統(tǒng)中得到應(yīng)用,。
本系統(tǒng)的設(shè)計主要是針對家居監(jiān)控應(yīng)用, 家庭中的大部分都采用ADSL等設(shè)備接入網(wǎng)絡(luò),。由于會受到上行帶寬的限制,, 故導(dǎo)致在進行網(wǎng)絡(luò)視頻監(jiān)控時視頻信號傳輸不流暢,, 影響監(jiān)控效果。
針對這種情況,, 通過對MPEG系列壓縮算法的核心進行分析,, 發(fā)現(xiàn)其采用了I幀、P幀和B幀的模式,, 其中I幀是關(guān)鍵幀,, P幀是前向預(yù)測幀, B幀是后向預(yù)測幀,。譯碼器收到一個I幀,, 可無條件立刻解碼; 而當譯碼器收到P幀或B幀,, 則必須先譯碼前面的P幀或I幀,, 然后才能進行譯碼。這樣,, P幀對于I幀的依賴就形成了很大的延時,。之后, 借鑒相關(guān)技術(shù)來對MPEG算法進行優(yōu)化,, 便可以通過對GOP (Group Of Picture) 這一值進行設(shè)置來縮短I幀產(chǎn)生的間隔,。這樣, 在以后的擴展中,, 就可以利用帶寬實時檢測技術(shù)動態(tài)的設(shè)置GOP, 從而最大限度地利用帶寬進行視頻傳輸,。
2.3 嵌入式web服務(wù)器模塊
嵌入式Web系統(tǒng)提供有一種經(jīng)濟實用的互聯(lián)網(wǎng)嵌入式接入方案, 故可為管理,、控制和監(jiān)測多種設(shè)備提供一個很好的途徑,。由于嵌入式設(shè)備中的資源有限, 只能選擇輕量級的Web Server (如:thttpd,、boa等),, 考慮到應(yīng)用的廣泛性, 本系統(tǒng)也選擇了boa服務(wù)器,。作為與用戶交互的主要方式,,Web page力求簡潔, 并可提供很多的功能接口,。
這些功能接口基本可以分為兩種類型,, 一種是觸發(fā)動作功能, 主要利用button觸發(fā)實現(xiàn)現(xiàn)場圖片的采集等動作的操作,。另一種是文件交互功能,,這種功能的實現(xiàn)相對比較復(fù)雜, 它不只需要button觸發(fā), 還需要一些文本域作為用戶配置的傳遞機制,。動態(tài)Web交互功能主要通過form窗體來實現(xiàn),, 當用戶點擊功能接口, 瀏覽器將窗體內(nèi)容通過http協(xié)議傳輸給服務(wù)器后,, 服務(wù)器再根據(jù)form中的action字段來調(diào)用相應(yīng)的CGI文件,。在經(jīng)過CGI的一系列URL解析動作后, 即可得到對應(yīng)參數(shù),, 系統(tǒng)根據(jù)得到的參數(shù)調(diào)用相應(yīng)的功能函數(shù),,最終實現(xiàn)用戶對動態(tài)頁面的操作功能。
本系統(tǒng)在文件交互功能Web頁設(shè)計中采用了iframe嵌入CGI文件的方式,, CGI代碼同時擔負讀寫文件和頁面顯示兩個功能,。這種實現(xiàn)方式有時會遇到iframe高度自適應(yīng)問題, 系統(tǒng)如果禁止scrolling (下拉列表) 功能,, 那么,, iframe的高度是不能變化的, 需要預(yù)先設(shè)置,。而實際情況是CGI將要顯示的高度往往是不確定的,, 系統(tǒng)無法預(yù)知所要顯示的數(shù)據(jù)的長度或表格行數(shù)。為此,,本系統(tǒng)使用javascript腳本來在客戶端進行調(diào)節(jié),,并通過在CGI代碼中加入如下代碼來實現(xiàn)iframe高度的自動調(diào)節(jié)。
2.4 文件系統(tǒng)
根據(jù)需保存文件的類型,, 本系統(tǒng)提供有兩種文件系統(tǒng),, 其中不會被修改的文件使用cramfs文件系統(tǒng)進行保存, 而將臨時數(shù)據(jù)保存在yaffs文件系統(tǒng)中,。用于與用戶交互的文件類型主要有三種,, 分別為配置文件、實時數(shù)據(jù)文件以及臨時文件,。配置文件主要進行系統(tǒng)設(shè)置,, 包括常溫范圍,、短信發(fā)送對方手機號碼等配置信息,; 實時數(shù)據(jù)文件中包括實時采集到的煙霧信息和視頻信息等; 臨時文件則用于一些需要臨時存放在系統(tǒng)中的文件,。另外,, 系統(tǒng)上電后需要檢測并掛載外部大容量存儲設(shè)備, 如SD卡或U盤等,, 以用于存放歷史數(shù)據(jù)文件,, 實際操作時,用戶可以通過網(wǎng)頁來配置當前需要采用哪種外圍存儲設(shè)備以及存儲容量等相關(guān)信息。
3 結(jié)束語
本文介紹的系統(tǒng)可為用戶提供良好的用戶接口,。它結(jié)合事件驅(qū)動機制,, 能夠讓用戶在節(jié)約大量存儲成本的同時, 在更大范圍內(nèi)更靈活的得到監(jiān)控信息,, 并具有很好的實用性和擴展性,。