李佳潤
摘要:由于嵌入式技術(shù)得到了發(fā)展,低成本的嵌入式監(jiān)控系統(tǒng)也進(jìn)一步占領(lǐng)市場,而且這種系統(tǒng)受到了很大關(guān)注。文章設(shè)計(jì)的基于ARM9的平臺(tái)通過USB攝像頭抓取圖片和視頻流的系統(tǒng)實(shí)現(xiàn)了監(jiān)測功能,并被廣泛應(yīng)用在防盜報(bào)警、可視門鈴中,具有低成本和高性能的優(yōu)點(diǎn)。
關(guān)鍵詞:嵌入式;Linux操作系統(tǒng);監(jiān)控
1.監(jiān)控系統(tǒng)研究背景
對于監(jiān)控系統(tǒng)來說,人們通常認(rèn)為其有較高配置的要求且價(jià)格昂貴。隨著IT技術(shù)的不斷進(jìn)步,監(jiān)控系統(tǒng)也不斷地發(fā)展,一些千元智能系統(tǒng)獲得了廣泛的關(guān)注,而且在可視門鈴等方面應(yīng)用很廣泛。
視頻監(jiān)控為企業(yè)也帶來了很多的好處。比如將其應(yīng)用于生產(chǎn)監(jiān)控系統(tǒng)中,能夠提高管理監(jiān)督效果:監(jiān)控系統(tǒng)通過架設(shè)在不同生產(chǎn)現(xiàn)場的攝像機(jī),將現(xiàn)場的視頻集中傳送到監(jiān)控室,管理人員不用親臨現(xiàn)場,在監(jiān)控室中或通過上網(wǎng)就能同時(shí)對多處生產(chǎn)現(xiàn)場進(jìn)行實(shí)時(shí)監(jiān)督和管理,大大提高了監(jiān)督效率,及時(shí)發(fā)現(xiàn)生產(chǎn)過程中存在的違規(guī)現(xiàn)象,及時(shí)糾正錯(cuò)誤,降低重大生產(chǎn)事故發(fā)生的可能性。降低管理成本,節(jié)省管理人員大量的差旅費(fèi)用,對于業(yè)務(wù)范圍和地域性較廣的企業(yè),可以減少施工現(xiàn)場的管理人員,降低支出成本;提高生產(chǎn)現(xiàn)場的文明和安防狀況,“視頻監(jiān)控系統(tǒng)”安裝以后可以有效地監(jiān)督生產(chǎn)現(xiàn)場工作環(huán)境和生產(chǎn)秩序,減少不文明行為,做好防盜工作。作為企業(yè)的管理層,他們在出差的過程中也能夠隨時(shí)了解生產(chǎn)區(qū)的情況,大大提高了其對生產(chǎn)現(xiàn)場的了解程度,提高了其工作的管理效率。便于調(diào)查和明確責(zé)任:由于生產(chǎn)過程錄像被存儲(chǔ)備份,即使發(fā)生了一些不可預(yù)測的事件,也便于事故發(fā)生以后第一事件內(nèi)明確事故責(zé)任,找出事故發(fā)生的原因,避免今后類似事件的重演。
當(dāng)今,隨著微處理器技術(shù)的發(fā)展,嵌入式控制器的應(yīng)用幾乎無處不在:移動(dòng)電話、家用電器、汽車,無不有它的蹤影。嵌入控制器因其體積小、可靠性高、功能強(qiáng)、靈活方便等許多優(yōu)點(diǎn),其應(yīng)用己深入到工業(yè)、農(nóng)業(yè)、教育、國防、科研以及日常生活等各個(gè)領(lǐng)域,對各行各業(yè)的技術(shù)改造、產(chǎn)品更新?lián)Q代、加速自動(dòng)化進(jìn)程、提高生產(chǎn)率等方面起到了極其重要的推動(dòng)作用。
本文根據(jù)市場的發(fā)展需求,設(shè)計(jì)了非常廉價(jià)的家用控制系統(tǒng),通過一般的USB攝像頭就可以獲得圖像,然后可以存流暢儲(chǔ)到u盤中,也可以在PC上查看監(jiān)控圖像,最高的分辨率有640X480,圖像清晰流暢,還可以對亮度和對比度進(jìn)行調(diào)節(jié)。這種系統(tǒng)和一般的設(shè)備比較而言,價(jià)格更低,而且更容易操作。主要是因?yàn)樗w積比較小。視頻監(jiān)控可以獲取監(jiān)控目標(biāo)的圖像信息,可以監(jiān)視和記錄視頻圖像,而且可以根據(jù)圖像信息作出相應(yīng)的動(dòng)作,可以實(shí)現(xiàn)對目標(biāo)的監(jiān)控以及防范,在軍事,海關(guān)以及公安等領(lǐng)域和場合獲得了廣泛的應(yīng)用。由于技術(shù)的進(jìn)步和成本的降低,所以在其家庭中使用得很廣泛。本文設(shè)計(jì)是基于ARM9的平臺(tái)通過USB攝像頭抓取圖片和視頻流的功能系統(tǒng)實(shí)現(xiàn)了監(jiān)測,具有重要的意義和作用。
2.TCP/IP協(xié)議分析
TCP/IP協(xié)議是互聯(lián)網(wǎng)的基礎(chǔ),也是進(jìn)行基于協(xié)議分析的入侵檢測系統(tǒng)的所需要的基本知識(shí),現(xiàn)在我們簡要的介紹y。因?yàn)槭窃?0世紀(jì)60年代末由美國政府資助的一個(gè)網(wǎng)絡(luò)研究項(xiàng)目,到20世紀(jì)90年代已經(jīng)發(fā)展成了非常常用的網(wǎng)絡(luò)形式,它具有更加開放的系統(tǒng),而且不用花太多時(shí)間就可以公開得到,也叫做全球互聯(lián)網(wǎng),該WAN(廠域網(wǎng))已成為全球最大的計(jì)算機(jī)網(wǎng)絡(luò)。TCP/IP協(xié)議被分為4個(gè)層次,如表1所示。
3.系統(tǒng)硬件設(shè)計(jì)
3.1系統(tǒng)硬件總體方案
該系統(tǒng)硬件實(shí)現(xiàn)了在HHARM2410打字的目的,而且這個(gè)平臺(tái)提供了一個(gè)USB接口,但是系統(tǒng)需要配備兩個(gè)接口,一個(gè)接口是進(jìn)行圖像采集的,那個(gè)接口可以在U盤中使用,所以可以將圖像存儲(chǔ)到U盤中,同時(shí)也需要一個(gè)USB接口并裝配一個(gè)紅外小板,因?yàn)檫@樣能夠控制采集,紅外采暖上裝配有紅外傳感器以及繼電器,USB攝像頭使用了分辨率最高的Zc301P芯片。S3C2410中已經(jīng)設(shè)置了總線控制器,不進(jìn)行外擴(kuò),而且窗口可以進(jìn)行系統(tǒng)調(diào)制,最終很好地進(jìn)行網(wǎng)絡(luò)視頻的數(shù)據(jù)傳輸,也可以在根文件下載或者進(jìn)行調(diào)試。
系統(tǒng)外設(shè)資源分配如表2所示。
4.嵌入式系統(tǒng)軟件開發(fā)流程
4.1建立宿主機(jī)開發(fā)環(huán)境
許多Linux軟件可以通過native的方式實(shí)現(xiàn),可以進(jìn)行本機(jī)開發(fā)和調(diào)試,通過本機(jī)運(yùn)行,這種方式在嵌入系統(tǒng)中使用不夠廣泛,因?yàn)榍度胂到y(tǒng)中沒有足夠的資源,也不能對開發(fā)工具進(jìn)行調(diào)試和運(yùn)行,如果一般的嵌入式系統(tǒng)使用了一種交叉編譯的方式,這種方式可以建立在主機(jī)上面,開發(fā)版也叫作目標(biāo)板。
在開發(fā)的時(shí)候可能會(huì)通過交叉編譯,連接工具生成一種二進(jìn)制代碼,然后可以在文件上面下載,也可以在目標(biāo)主機(jī)上運(yùn)行,而且由于租金以及目標(biāo)版式不相同的,而且主機(jī)是英特爾或者是AMD的處理器,GNu這種編譯器具有不同的功能,所以在編譯的時(shí)候需要選擇主機(jī)以及目標(biāo)機(jī),有利于建立更好的開發(fā)環(huán)境,所以在進(jìn)行嵌入式開發(fā)的時(shí)候,需要安裝一臺(tái)具有操作系統(tǒng)的主機(jī),主機(jī)上要安裝Linux,但版本有多種,使用的是常用的Red Hat Linux 9.0版本。
如果在一臺(tái)電腦中需要安裝Windows以及Linux系統(tǒng),那么就需要經(jīng)常啟動(dòng)機(jī)器,但是這樣做可能會(huì)給工作環(huán)境產(chǎn)生影響,所以在安裝Windows系統(tǒng)的時(shí)候,電腦安裝虛擬軟件,安裝Linux虛擬系統(tǒng)和真正安裝Linux系統(tǒng)是相同的,這里不需要進(jìn)行說明,而且在選擇軟件的時(shí)候可以安裝所有的軟件,有利于以后使用系統(tǒng)服務(wù),也要學(xué)會(huì)選擇配置防火墻的規(guī)則。
如果完成了安裝的話,可能會(huì)占用系統(tǒng)很大的硬盤空間,所以在啟動(dòng)Linux系統(tǒng)以后,到底應(yīng)該進(jìn)入x模式還是文本模式,這是需要思考的。而且完成以后也要進(jìn)行修改,以便選擇進(jìn)入windows的系統(tǒng)還是文本系統(tǒng),這樣做有很大的好處,可以在Windows系統(tǒng)上避免出現(xiàn)無法執(zhí)行umounl文件系統(tǒng),這是因?yàn)閒am監(jiān)控程序可能會(huì)和Windows系統(tǒng)產(chǎn)生沖突,VMware里面不包括串口,所以在安裝以后需要安裝串口,否則就不能顯示開發(fā)版的信息,然后需要在主機(jī)上建立各種電影調(diào)試的環(huán)境,而且在開發(fā)環(huán)境完成以后,可以生成根目錄下的子目錄。
4.2Samba服務(wù)器配置
Samba實(shí)現(xiàn)了和Linux以及windows系統(tǒng)之間的文件共享,而且可以有實(shí)現(xiàn)打印共享目標(biāo)??梢栽贚inux系統(tǒng)下面安裝服務(wù)器,那么用戶就可以安全地訪問文件系統(tǒng)。
雖然Linux系統(tǒng)下你安裝了各種編譯工具,但是始終沒有Windows系統(tǒng)的Source Insight更好的效果,SourceInsightN以進(jìn)行程序分析,可以在工作的時(shí)候?qū)υ创a進(jìn)行解析,并且可以對本身的符號(hào)數(shù)據(jù)庫進(jìn)行維護(hù),可以汲取比較有用的上下文信息,而且可以通過不同的顏色進(jìn)行區(qū)分變量以及各種函數(shù)名。Source Insight開發(fā)得比較成功以及比較龐大的軟件,所以我們應(yīng)該放棄LinuxY的編輯工具采用Source Insight軟件,但是它只能在Windows,系統(tǒng)的環(huán)境下運(yùn)行,Samba的文件的共享就有利于解決這個(gè)問題,可以通過Source Insight編輯修改LinuxY的程序,然后可以通過交叉編譯工具進(jìn)行直接編譯,更有利于進(jìn)行系統(tǒng)調(diào)試,有利于軟件開發(fā)周期的縮短。
4.3應(yīng)用軟件開發(fā)
如果將主機(jī)和目標(biāo)板通過以太網(wǎng)口連接的話,在主機(jī)上可以運(yùn)行minicom作為目標(biāo)版的顯示終端,而且在目標(biāo)板上可以獲得mount主機(jī)硬盤,最終可以讓應(yīng)用程序在目標(biāo)板上實(shí)現(xiàn)調(diào)試。
5.系統(tǒng)調(diào)試及運(yùn)行結(jié)果
5.1ARM Linux的啟動(dòng)過程
為了獲得對ARM Linux的啟動(dòng),在內(nèi)核中運(yùn)行一個(gè)程序,這有利于對設(shè)備進(jìn)行初始化,也可以調(diào)動(dòng)Linux對內(nèi)核信息進(jìn)行傳遞,一般說來,最小的bootloader可以獲得以下幾個(gè)功能:
(1)實(shí)現(xiàn)和進(jìn)行RAM初始化;(2)對一個(gè)串口實(shí)現(xiàn)初始化;(3)對機(jī)器類型檢測;(4)確定內(nèi)核啟動(dòng)參數(shù)列表;(5)對內(nèi)核映像使用。
5.2圖像及視頻采集程序調(diào)試
在arm板啟動(dòng)Linux板后,裝攝像頭,GPIO和按鍵驅(qū)動(dòng)程序(spca5xx_0,gpio test.o和keV4.o已編入根文件系統(tǒng)/modules目錄),并創(chuàng)建gpiotest和keys4節(jié)點(diǎn),安裝u盤,運(yùn)行以下命令:
#insmod/modules/spca5xx.o
#insmod/modules/gpio test.o
#insmod/modules/key4.o
#mknod/dev/gpiotest c 221 0
#mknod/dev/keys4 c 138 0
#mount-t vfat/dev/sdal/tmp
這些命令可以被寫入文件re.10cal腳本中,直接執(zhí)行系統(tǒng)電源。
采集到的圖片如圖1所示。
5.3網(wǎng)絡(luò)監(jiān)控程序調(diào)試
網(wǎng)絡(luò)監(jiān)控程序可以在arm板上進(jìn)行運(yùn)行,可以將客戶端文件http-java-applet目錄下的“controljpg”和“JWebcamPlayer.jar”“index.html”文件復(fù)制到arm文件系統(tǒng)下,并且可以對文件添加某種權(quán)限,可以把Rrm板接入局域網(wǎng),實(shí)現(xiàn)局域網(wǎng)的主機(jī)通過boa web server訪問arm板。
6.系統(tǒng)部署方案
6.1方案設(shè)計(jì)
首先是針對現(xiàn)場環(huán)境選用適合的前端攝像機(jī)和主控設(shè)備,以保證監(jiān)看效果。其次,總部“監(jiān)控中心”監(jiān)控管理平臺(tái)的構(gòu)建。由于監(jiān)控指揮中心是整個(gè)監(jiān)控系統(tǒng)的最高控制中心,擔(dān)負(fù)著10個(gè)分公司20路攝像機(jī)和報(bào)警信息的監(jiān)控任務(wù),因此,“監(jiān)控指揮中心”監(jiān)控平臺(tái)應(yīng)充分保證系統(tǒng)運(yùn)行的穩(wěn)定性、使用的簡便性,管理的靈活性,以及功能的完善性。這里,推薦使用網(wǎng)絡(luò)集中管理平臺(tái)。該管理平臺(tái)具體包括以下幾部分:(1)中心服務(wù)器:主要負(fù)責(zé)系統(tǒng)設(shè)備管理、信息認(rèn)證,以優(yōu)化網(wǎng)絡(luò)資源,提高穩(wěn)定性;(2)視頻工作站:主要負(fù)責(zé)對所有圖像的網(wǎng)絡(luò)存儲(chǔ)和監(jiān)控操作。(3)電視客戶端是以PC機(jī)作為視頻圖像解碼設(shè)備并以顯示器作為視頻圖像顯示終端設(shè)備來顯示網(wǎng)絡(luò)傳輸來的網(wǎng)絡(luò)視頻信號(hào),支持多畫面分割顯示、單屏顯示和畫面輪循切換顯示等多種顯示模式。
6.2系統(tǒng)組成及單元介紹
6.2.1各分公司
(1)前端部分:包括室內(nèi)固定半球攝像機(jī)、室內(nèi)高速球等監(jiān)控設(shè)備,也包括緊急按鈕等報(bào)警探測設(shè)備。這部分主要負(fù)責(zé)信號(hào)的采集。(2)傳輸部分:主要指視頻纜、電源線、控制線、報(bào)警線等傳輸線纜,負(fù)責(zé)各種信號(hào)的傳輸。
6.2.2總部監(jiān)控中心
通過網(wǎng)絡(luò)對所有網(wǎng)點(diǎn)的視頻信號(hào)、報(bào)警信號(hào)進(jìn)行集中監(jiān)控和監(jiān)管。具體包括:
(1)中心服務(wù)器:中心服務(wù)器是整個(gè)系統(tǒng)集中監(jiān)控管理核心,由計(jì)算機(jī)和中心服務(wù)器軟件組成。(2)視頻工作站:由計(jì)算機(jī)和視頻工作站軟件構(gòu)成。負(fù)責(zé)具體連接前端數(shù)字設(shè)備,為用戶提供所有遠(yuǎn)程視頻圖像的顯示、錄像和云臺(tái)控制等,其功能相當(dāng)于一臺(tái)網(wǎng)絡(luò)數(shù)字硬盤錄像機(jī)。
7.結(jié)語
本文使用嵌入式LinuxTVide04Linux API函數(shù)可以對視頻圖像程序進(jìn)行采集,并且通過內(nèi)存映射mmap的方式實(shí)現(xiàn)了對圖像的采集,也可以提高采集的效率,最終有利于定時(shí)采集和熱釋紅外采集,這可以叫作人為采集的過程,也可以讓人進(jìn)入?yún)^(qū)域?qū)崿F(xiàn)采集的目標(biāo),從而實(shí)現(xiàn)了智能控制的目標(biāo),并給出了部署方案。