鄭普亮
(西安建筑科技大學(xué))
隨著生活水平的不斷提高,人們對于家庭住宅的安全意識也不斷提高,視頻監(jiān)控系統(tǒng)正是計算機技術(shù)與傳統(tǒng)建筑產(chǎn)業(yè)相結(jié)合的產(chǎn)物.作為安全防范系統(tǒng)的重要組成部分,視頻監(jiān)控系統(tǒng)是一種具有較強防范能力的綜合性系統(tǒng).視頻監(jiān)控系統(tǒng)以其直觀性、易用性、信息處理量大而頻繁應(yīng)用于多種場合,在信息數(shù)字化的今天,受到越來越多的重視和關(guān)注.隨著現(xiàn)代電子計算機科學(xué)技術(shù)在網(wǎng)絡(luò)帶寬、計算機處理能力和存儲容量等能力上突飛猛進(jìn),各種視頻信息處理技術(shù)的發(fā)明,視頻監(jiān)控技術(shù)發(fā)展迅猛,特別是嵌入式技術(shù)的發(fā)展,基于嵌入式技術(shù)的遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控,取代傳統(tǒng)的視頻監(jiān)控系統(tǒng),在智能化、可靠性和節(jié)能上都有了極大提升,而且信息處理快,質(zhì)量高.
該系統(tǒng)擬針對智能型住宅環(huán)境進(jìn)行監(jiān)控,通過安裝在住宅各個區(qū)域的網(wǎng)絡(luò)攝像機采集圖像信息,一旦某個區(qū)域內(nèi)有動作發(fā)生,服務(wù)器便開始采集圖像信息,通過局域網(wǎng)或因特網(wǎng)用戶即可在智能終端(如智能手機等)設(shè)備上查看發(fā)生動作區(qū)域內(nèi)的攝像機的狀況,也可以查看指定網(wǎng)絡(luò)攝像機的實時圖像和歷史圖像.該系統(tǒng)需要滿足以下幾個功能:
(1)網(wǎng)絡(luò)通信.實現(xiàn)與攝像機的網(wǎng)絡(luò)通信,包括局域網(wǎng)和因特網(wǎng).
(2)圖像數(shù)據(jù)采集.實現(xiàn)圖像信息的采集、處理、傳輸、存儲等操作,包括圖像存儲、圖像信息分析等.
(3)歷史圖像數(shù)據(jù)的維護(hù).實現(xiàn)對歷史圖像的處理,對設(shè)定時間段內(nèi)的圖像進(jìn)行索引處理,對超出時間段的圖像進(jìn)行備份和刪除處理.
(4)前端表示畫面.實現(xiàn)系統(tǒng)與用戶的交互,通過瀏覽器發(fā)送指令,系統(tǒng)處理之后能夠給出相應(yīng)圖像(實時圖像或歷史圖像),前端操作簡易,圖像顯示清晰且流暢.
該系統(tǒng)的硬件核心是ARM9系列微處理器,操作系統(tǒng)為嵌入式 Linux系統(tǒng),構(gòu)建嵌入式Linux系統(tǒng)服務(wù)器來實現(xiàn)對網(wǎng)絡(luò)攝像機的管理,控制網(wǎng)絡(luò)攝像機采集圖像信息,將處理后的信息通過系統(tǒng)內(nèi)置的Apache Web服務(wù)器,向用戶提供可以實時查看圖像及歷史圖像回放的功能.系統(tǒng)的整體為 B/S結(jié)構(gòu),系統(tǒng)構(gòu)成圖如圖1所示[1].
圖1 系統(tǒng)構(gòu)成圖
該系統(tǒng)的主要硬件模塊包括:基于ARMv4T體系架構(gòu)的 ARM920T系列處理器、FLASH、SD-RAM、電源模塊、以太網(wǎng)控制器、RS232C等.具體硬件構(gòu)造如圖 2所示.處理器采用S3C2410處理器,是一個內(nèi)含 ARM920T處理器核心,0.18um制造工藝、32位RISC微控制器,支持從該系統(tǒng)采用的NAND Flash啟動[2].
圖2 硬件物理構(gòu)造圖
嵌入式操作系統(tǒng)是整個嵌入式系統(tǒng)的核心,采用B/S結(jié)構(gòu),構(gòu)建嵌入式系統(tǒng)作為服務(wù)端,用Web瀏覽器作為系統(tǒng)的客戶端界面.該系統(tǒng)采用組件化的設(shè)計思想,應(yīng)用對象技術(shù)于系統(tǒng)設(shè)計,進(jìn)一步的抽象化了面向?qū)ο蟮某绦蛟O(shè)計的實現(xiàn)過程[3].可以通過不斷的添加功能組件來擴(kuò)展系統(tǒng)的其他功能,同時每個組件也都可以進(jìn)行修改以刪除或添加相應(yīng)的功能,以滿足客戶提出的不同需求以及不同客戶提出的需求,因此,此系統(tǒng)的擴(kuò)展性很強,同時也具備進(jìn)一步的二次開發(fā)和持續(xù)開發(fā)的可能性.系統(tǒng)的整體架構(gòu)如圖3所示.
圖3 軟件構(gòu)造圖
該系統(tǒng)的各個組件之間的通信采用不同的方式,而且進(jìn)程與進(jìn)程之間的通訊由各個組件內(nèi)部提供,這樣可以達(dá)到隱藏監(jiān)控系統(tǒng)內(nèi)部通信方式的目的,更進(jìn)一步的保護(hù)信息安全.其中:通過FIFO動態(tài)庫接口來實現(xiàn)進(jìn)程間消息傳遞;以Socket動態(tài)庫接口來實現(xiàn)與網(wǎng)絡(luò)攝像機的通信;以共享內(nèi)存的方式來實現(xiàn)與CGI的通信;以文件的方式,實現(xiàn)圖像信息的傳遞[4].
1.4.1 客戶端軟件功能介紹
Web/CGI模塊的功能是解析用戶通過Web瀏覽器發(fā)出的請求,根據(jù)請求由服務(wù)端相應(yīng)的模塊取得需要標(biāo)識的數(shù)據(jù),將取得的數(shù)據(jù)返回給瀏覽器.可以解析的請求包括網(wǎng)絡(luò)攝像機基本信息、最新動作檢測圖像、最新動作圖像的附加數(shù)據(jù)、實時快照圖像、實時快照圖像的附加信息、指定索引的歷史圖像、保存的歷史圖像數(shù)、網(wǎng)絡(luò)攝像機的配置信息等.
網(wǎng)絡(luò)攝像機管理模塊的內(nèi)部處理部分包括:初始化信息,終止信息和外部API消息的發(fā)送/接收處理.進(jìn)程初始化包括處理包括:IPC資源的申請和初始化、根據(jù)配置文件更新共有內(nèi)存、根據(jù)網(wǎng)絡(luò)攝像機索引文件更新共有內(nèi)存、打開管理用FIFO、生成網(wǎng)絡(luò)攝像機監(jiān)視進(jìn)程等.終止信息包括關(guān)閉管理用FIFO和釋放IPC資源等;當(dāng)接收到外部API發(fā)送的信息時,判斷消息類型,根據(jù)消息類型(分為兩類:(1)實時圖像請求;(2)網(wǎng)絡(luò)攝像機動作通知)作對應(yīng)的處理(對應(yīng)兩類消息的處理方式分別是:(1)檢查網(wǎng)絡(luò)攝像機ID值的范圍,然后取得網(wǎng)絡(luò)攝像機的實時圖像,存入共有內(nèi)存返回給 CGI調(diào)用者;(2)根據(jù)網(wǎng)絡(luò)攝像機的IP地址在配置信息中查找網(wǎng)絡(luò)攝像機的ID[5].生成對應(yīng) ID的網(wǎng)絡(luò)攝像機的動作處理線程)后,向?qū)?yīng)的外部返回信息(對應(yīng)于兩類消息的返回信息分別是:(1)實時圖像;(2)OK).
網(wǎng)絡(luò)攝像機管理模塊的外部處理部分包括:①打開項目:需要先調(diào)用打開對象對應(yīng)的函數(shù)以打開系統(tǒng)資源,才能使用網(wǎng)絡(luò)攝像機管理對象提供的接口;②關(guān)閉項目:需要在結(jié)束使用網(wǎng)絡(luò)攝像機對象提供的接口之后,調(diào)用關(guān)閉項目對應(yīng)的函數(shù)關(guān)閉系統(tǒng)資源;③獲取網(wǎng)絡(luò)攝像機的配置信息:這個函數(shù)其中有一個OUT型參數(shù),是一個結(jié)構(gòu)體指針,其中包含網(wǎng)絡(luò)攝像機的編號、網(wǎng)絡(luò)攝像機的類型、網(wǎng)絡(luò)攝像機的IP、網(wǎng)絡(luò)攝像機認(rèn)證情報、網(wǎng)絡(luò)攝像機名稱等字段,在調(diào)用成功的情況下,返回數(shù)值0;調(diào)用失敗的情況下,返回數(shù)值-1;④獲取網(wǎng)絡(luò)攝像機的通信狀態(tài):這個函數(shù)其中有一個OUT型的無符號字符型參數(shù),在調(diào)用成功的情況下,返回數(shù)值0;調(diào)用失敗的情況,返回-1;⑤獲取網(wǎng)絡(luò)攝像機的最新動作圖像:這個函數(shù)擁有4個參數(shù),分別是網(wǎng)絡(luò)攝像機的 ID、圖像指針、圖像的時間指針、圖像的長度指針.在調(diào)用成功的情況下,返回數(shù)值0;在調(diào)用失敗的情況下,返回數(shù)值-1;⑥獲取網(wǎng)絡(luò)攝像機的歷史圖像,這個函數(shù)同樣也有4個參數(shù),分別是網(wǎng)絡(luò)攝像機的ID、圖像索引、圖像的指針、圖像的長度指針,在調(diào)用成功的情況下,返回數(shù)值0;在調(diào)用失敗的情況下,返回數(shù)值-1;⑦獲取網(wǎng)絡(luò)攝像機的歷史圖像張數(shù),這個函數(shù)擁有2個參數(shù),分別是網(wǎng)絡(luò)攝像機的 ID和圖像的張數(shù)指針,在調(diào)用成功的情況下,返回數(shù)值0;在調(diào)用失敗的情況下,返回數(shù)值-1;⑧獲取網(wǎng)絡(luò)攝像機的指定時間帶的歷史圖像的張數(shù),這個函數(shù)有3個參數(shù),分別是網(wǎng)絡(luò)攝像機的ID、開始時間、張數(shù),在調(diào)用成功的情況下,返回數(shù)值0;在調(diào)用失敗的情況下,返回數(shù)值-1;⑨獲取網(wǎng)絡(luò)攝像機的實時圖像,這個函數(shù)有3個參數(shù),分別是網(wǎng)絡(luò)攝像機的ID、圖像指針和圖像的長度,在調(diào)用成功的情況下,返回數(shù)值0;在調(diào)用失敗的情況下,返回數(shù)值-1;⑩獲取網(wǎng)絡(luò)攝像機的指定時間帶的歷史圖像的張數(shù),這個函數(shù)有2個參數(shù),分別是網(wǎng)絡(luò)攝像機的ID和圖像附加信息結(jié)構(gòu)體指針,在調(diào)用成功的情況下,返回數(shù)值0;在調(diào)用失敗的情況下,返回數(shù)值-1.
1.4.2 客戶端軟件功能介紹
客戶端采用瀏覽器的形式提供給客戶,基本表示畫面以 HTML5、CSS3、jQuery、Ajax、jQuery Mobile等開發(fā),即可以滿足智能終端的要求也能滿足PC機的要求,實現(xiàn)了與平臺的無關(guān)性[6].包括最新圖像顯示和歷史圖像查詢,合理安排畫面動作和布局,包括圖片預(yù)覽,畫面切換,放大縮小等功能.
為了及時發(fā)現(xiàn)在程序里的隱藏缺陷,分析原因,有針對性的對這些缺陷來進(jìn)行修正,使系統(tǒng)達(dá)到一個相對穩(wěn)定的狀態(tài),盡可能減少錯誤的發(fā)生,對系統(tǒng)的每一個組件涉及到的每一個項目都進(jìn)行了一個相應(yīng)的測試.這些測試中的主要項目是獲取實時圖像和獲取歷史圖像這兩個測試,測試過程中,均達(dá)到了預(yù)期的效果,很好地實現(xiàn)了既定的系統(tǒng)功能.根據(jù)測試結(jié)果得出結(jié)論,該系統(tǒng)相對穩(wěn)定,基本上達(dá)到預(yù)期的效果,滿足了客戶的相應(yīng)需求.
針對視頻監(jiān)控在家庭領(lǐng)域應(yīng)用的具體要求,提出了基于嵌入式Linux技術(shù)的視頻監(jiān)控方案,有機的結(jié)合了嵌入式技術(shù)、網(wǎng)絡(luò)通信技術(shù)及智能監(jiān)控技術(shù),實現(xiàn)了一個簡單易用、成本低廉、擴(kuò)展性強的高效率嵌入式網(wǎng)絡(luò)監(jiān)控系統(tǒng).為了保證了封閉和開放與效率之間的平衡,采用模塊化來設(shè)計整個系統(tǒng),各模塊的選擇和組合可以用來滿足各種不同定制的需求,更有利于系統(tǒng)的移植和升級.通過對系統(tǒng)的各功能模塊的全面測試,證明了該系統(tǒng)運行穩(wěn)定可靠、操作方便,對網(wǎng)絡(luò)監(jiān)控在家庭住宅安全領(lǐng)域的廣泛應(yīng)用有著非常積極的意義.
[1] 徐葉,袁敏,李國軍.嵌入式Web服務(wù)器遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機與現(xiàn)代化,2013(2):125-126.
[2] 劉川來,范坤,張俊晶.基于嵌入式以太網(wǎng)的熱電廠數(shù)據(jù)監(jiān)控系統(tǒng)的設(shè)計[J].青島科技大學(xué)學(xué)報:自然科學(xué)版,2013(1):278-279.
[3] 張文明.電力企業(yè)機房環(huán)境監(jiān)控在嵌入式技術(shù)方面的運用[J].電子世界,2012(24):65-66.
[4] 王曉紅.基于嵌入式Web服務(wù)器的遠(yuǎn)程家居監(jiān)控系統(tǒng)[J].電腦開發(fā)與應(yīng)用,2012(11):137-138.
[5] 田洪生.基于嵌入式Linux的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的研究[J].知識經(jīng)濟(jì),2012(22):361-362.
[6] 周濤.基于嵌入式平臺的采油現(xiàn)場終端監(jiān)控系統(tǒng)[J].油氣田地面工程,2012(11):289-290.