隨著科技的飛速發(fā)展及生活水平的不斷提高,人們對(duì)智能化家居生活的需求也逐漸增大;為了順應(yīng)市場(chǎng)發(fā)展的需求,滿足人們的需求,眾多廠家也紛紛研發(fā)并推出了各種各樣的智能家居產(chǎn)品。例如,許多智能家居產(chǎn)品運(yùn)用先進(jìn)的計(jì)算機(jī)技術(shù)、嵌入式系統(tǒng)和網(wǎng)絡(luò)通訊技術(shù),通過全數(shù)字化傳輸,可以實(shí)現(xiàn)戶戶通話、留影留言、家居安防、信息發(fā)布、多媒體、家電智能控制、IP電話等功能,可以利用智能終端、電腦、手機(jī)對(duì)家中的電器設(shè)備進(jìn)行遠(yuǎn)程監(jiān)控和遠(yuǎn)程管理,同時(shí)基于小區(qū)寬帶網(wǎng)絡(luò)應(yīng)用基礎(chǔ)上的智能家居系統(tǒng)還可以在物業(yè)管理、消防、水、電、煤等方面提供多方位的服務(wù),為用戶創(chuàng)造一個(gè)高效、舒適、安全、便利的居住環(huán)境。 這里設(shè)計(jì)采用ARM處理器嵌入Linux操作系統(tǒng)的方法實(shí)現(xiàn)家居視頻監(jiān)控。Linux操作系統(tǒng)作為嵌入式系統(tǒng)的新寵以其開源特點(diǎn)非常適合面向開發(fā),而ARM核憑借其較高的指令和數(shù)據(jù)處理能力更是吸引了眾多研發(fā)人員的眼球,二者的結(jié)合為智能家居視頻監(jiān)控提供了一個(gè)嶄新的發(fā)展方向。 1 智能家居系統(tǒng)的總體架構(gòu) 智能家居系統(tǒng)就是利用計(jì)算機(jī)技術(shù)、數(shù)字技術(shù)、網(wǎng)絡(luò)通信技術(shù)和綜合布線技術(shù),將與家庭生活密切相關(guān)的家電控制系統(tǒng)、防盜報(bào)警系統(tǒng)、網(wǎng)絡(luò)信息服務(wù)系統(tǒng)等通過家庭網(wǎng)絡(luò)有機(jī)結(jié)合起來,從而給用戶帶來最大程度的高效、便利、舒適與安全。 目前比較流行的智能家居系統(tǒng)由四大部分組成:家居安防系統(tǒng)、家居通訊系統(tǒng)、家居家電自動(dòng)化控制系統(tǒng)和家居音視頻系統(tǒng)。圖1給出了一個(gè)簡(jiǎn)單的智能家居系統(tǒng)架構(gòu)。
2 視頻監(jiān)控系統(tǒng)的架構(gòu) 鑒于家居系統(tǒng)的結(jié)構(gòu)特點(diǎn),選用集軟硬件于一體,具有軟件代碼小、高度自動(dòng)化、響應(yīng)速度快等特點(diǎn)的嵌入式系統(tǒng)。設(shè)計(jì)采用ARM(Adva-nced RISC Machinesl核嵌入Linux操作系統(tǒng)的方法實(shí)現(xiàn)。系統(tǒng)主要由嵌入式S3C2410處理器、相關(guān)支撐硬件、USB攝像頭、嵌入式操作系統(tǒng)Li-nux及應(yīng)用軟件等部分組成,該系統(tǒng)是可以獨(dú)立工作的"器件". 2.1 系統(tǒng)的硬件結(jié)構(gòu) 系統(tǒng)硬件部分主要包括S3C2410處理器、儲(chǔ)存器和外圍電路,其結(jié)構(gòu)框架如圖2所示。
2.2 構(gòu)建基于S3C241O的嵌入式Linux系統(tǒng) Linux是一類Unix計(jì)算機(jī)操作系統(tǒng)的統(tǒng)稱。Linux操作系統(tǒng)的內(nèi)核的名字也是"Linux".Linux操作系統(tǒng)也是自由軟件和開放源代碼發(fā)展中最著名的例子。嚴(yán)格來講,Linux這個(gè)詞本身只表示Linux內(nèi)核,但在實(shí)際上人們已經(jīng)習(xí)慣了用Linux來形容整個(gè)基于Linux內(nèi)核,并且使用GNU 工程各種工具和數(shù)據(jù)庫的操作系統(tǒng)。Linux得名于計(jì)算機(jī)業(yè)余愛好者Linus Torvalds.宿主機(jī)選用Red Hat公司的IAnux9.0服務(wù)器版,并在其上構(gòu)建嵌入式Linux開發(fā)平臺(tái)需要的交叉編譯環(huán)境。 在S3C2410上搭建嵌入式Linux軟件平臺(tái)需要完成引導(dǎo)加載程序Boot loader的移植;Linux操作系統(tǒng)內(nèi)核的移植和包含應(yīng)用程序的文件系統(tǒng)移植。 Boot Loader是在操作系統(tǒng)內(nèi)核運(yùn)行之前執(zhí)行的一段小程序。Linux內(nèi)核有自己的結(jié)構(gòu)體系,智能家居系統(tǒng)的Linux內(nèi)核由標(biāo)準(zhǔn)Linux內(nèi)核裁剪而來。設(shè)計(jì)直接通過系統(tǒng)調(diào)用訪問Linux的內(nèi)核資源,編譯內(nèi)核時(shí)加入U(xiǎn)SB攝像頭Webeve 2000主芯片OV511的驅(qū)動(dòng)和以太網(wǎng)控制芯片DM90-00的驅(qū)動(dòng),文件系統(tǒng)選用Ramdisk技術(shù)。 3 視頻監(jiān)控系統(tǒng)的實(shí)現(xiàn) 3.1 Vide04Linux程序 Vide04Linux(簡(jiǎn)稱V4L)是Linux中關(guān)于視頻設(shè)備的內(nèi)核驅(qū)動(dòng),它針對(duì)視頻設(shè)備的應(yīng)用程序編程提供一系列接口函數(shù)。對(duì)于USB接口攝像頭,其驅(qū)動(dòng)程序中提供基本的I/O操作接口函數(shù)open、read、write、close等。 3.2 網(wǎng)絡(luò)通信程序 在TCP/IP網(wǎng)絡(luò)應(yīng)用中,通信的兩個(gè)進(jìn)程間相互作用的主要模式是瀏覽器/服務(wù)器模式,即客戶向服務(wù)器發(fā)出服務(wù)請(qǐng)求,服務(wù)器接收到請(qǐng)求后,提供相應(yīng)的服務(wù)。 Linux中的網(wǎng)絡(luò)編程是通過Socket接口來進(jìn)行的,Socket相當(dāng)于進(jìn)行網(wǎng)絡(luò)通信兩端的插座,只要對(duì)方的Socket和自己的Socket有通信聯(lián)接,雙方就可以發(fā)送和接收數(shù)據(jù)了。在智能家居系統(tǒng)中,用戶所持有的任意網(wǎng)絡(luò)設(shè)備的和家用ARM9開發(fā)板就是Socketet通信的兩端。 3.3 嵌入式WEB服務(wù)器和視頻監(jiān)控的實(shí)現(xiàn) WEB服務(wù)器也稱為WWW(WORLD WIDE WEB)服務(wù)器,主要功能是提供網(wǎng)上信息瀏覽服務(wù)。 WWW 是 Internet 的多媒體信息查詢工具,是 Internet 上近年才發(fā)展起來的服務(wù),也是發(fā)展最快和目前用的最廣泛的服務(wù)。正是因?yàn)橛辛薟WW工具,才使得近年來 Internet 迅速發(fā)展,且用戶數(shù)量飛速增長(zhǎng)。 家居系統(tǒng)選用的Web服務(wù)器是一款非常小巧的,執(zhí)行代碼只有約60kB的一個(gè)單任務(wù)嵌入式boa服務(wù)器。客戶端瀏覽器和嵌入式Web服務(wù)器之間通過HTTP協(xié)議所進(jìn)行的"請(qǐng)求一>響應(yīng)"的工作原理如圖3所示。
CGI(通用網(wǎng)關(guān)接口)定義了Web服務(wù)器與其他可執(zhí)行程序(CGI)之間進(jìn)行交互的接口標(biāo)準(zhǔn)。CGI程序用來完成Web網(wǎng)頁中表單數(shù)據(jù)處理的動(dòng)態(tài)交互工作,CGI程序與Web服務(wù)器,以及客戶端瀏覽器之間交互工作的原理如圖4所示。
這里編寫的CGI程序主要完成客戶端瀏覽器用戶名和密碼的校驗(yàn),通過后完成本地?cái)?shù)據(jù)的上傳。 CGI程序?qū)ndex.html提交數(shù)據(jù)的處理,通過登陸后提供進(jìn)入視頻監(jiān)控界面(http://211.81.251.32:8888)的鏈接,我們用webc-am server作為瀏覽器端視頻播放器,該播放器可隨著監(jiān)控網(wǎng)頁的打開而自動(dòng)下載到用戶端瀏覽器,并不需要專用的瀏覽器,但看到監(jiān)控效果是網(wǎng)頁打開時(shí)刻的靜止圖像。 我們可以通過手動(dòng)刷新來達(dá)到觀看視頻的目的,這里在CGI程序里嵌入Java Script程序?qū)崿F(xiàn)圖像每秒自刷新一次,嵌入自刷新部分程序如下:
這樣就可以看到每隔一秒圖像就自動(dòng)載入的動(dòng)態(tài)視頻,如圖5所示,達(dá)到了視頻監(jiān)控的目的。
4 結(jié)論 采用S3C2410處理器嵌入Linux操作系統(tǒng)的方法實(shí)現(xiàn)視頻監(jiān)控可最大程度地節(jié)省系統(tǒng)的軟硬件資源,硬件部分是系統(tǒng)穩(wěn)定性、指令執(zhí)行速度和體積等方面的最佳選擇,軟件部分以裁剪Linux操作系統(tǒng)的方法實(shí)現(xiàn),用一個(gè)精簡(jiǎn)的操作系統(tǒng)完成圖像采集與網(wǎng)絡(luò)傳輸?shù)墓δ?,十分適用于智能家居系統(tǒng)中的視頻監(jiān)控。不僅如此,智能家居的其它功能均可采用類似方法實(shí)現(xiàn),事實(shí)上,一個(gè)龐大的智能家居系統(tǒng)完全可以由S3C2-410處理器、相關(guān)硬件和嵌入裁剪得當(dāng)?shù)腖inux操作系統(tǒng)完成。
來源:BILL
技術(shù)資料出處:齊躍峰 劉宇鵬 燕山大學(xué) |
|