基于ARM的無(wú)線視頻監(jiān)控系統(tǒng)的解決方案
掃描二維碼
隨時(shí)隨地手機(jī)看文章
隨著嵌入式技術(shù)以及無(wú)線通信技術(shù)的發(fā)展,無(wú)線視頻監(jiān)控領(lǐng)域進(jìn)入了一個(gè)嶄新的發(fā)展時(shí)期?;谇度胧郊夹g(shù)的視頻監(jiān)控技術(shù)是一種先進(jìn)技術(shù),為視頻監(jiān)控設(shè)備的設(shè)計(jì)開(kāi)發(fā)提供了一種全新解決方案。
目前,采用無(wú)線網(wǎng)絡(luò)技術(shù)的視頻監(jiān)控系統(tǒng)依靠其更低廉的價(jià)格、更加靈活的部署方式得到廣大視頻監(jiān)控用戶的青睞,逐漸成為視頻監(jiān)控技術(shù)的發(fā)展方向之一。在此結(jié)合嵌入式技術(shù)和無(wú)線視頻監(jiān)控技術(shù),本文提出了一種基于嵌入式ARM技術(shù)的無(wú)線智能視頻監(jiān)控系統(tǒng)的解決方案。
0引言
隨著通信技術(shù)、計(jì)算機(jī)技術(shù)、數(shù)字視頻技術(shù)、網(wǎng)絡(luò)技術(shù)等高科技的發(fā)展,視頻監(jiān)控領(lǐng)域也快速進(jìn)步。近年嵌入式計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的開(kāi)發(fā)推動(dòng)了視頻監(jiān)控的再次進(jìn)步,出現(xiàn)了基于嵌入式技術(shù)的無(wú)線網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)。無(wú)線網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)采用多任務(wù)嵌入式操作系統(tǒng),利用嵌入式芯片完成視頻的壓縮傳輸及處理,該芯片具有強(qiáng)大的數(shù)字處理功能,芯片處理后可將視頻直接連入網(wǎng)絡(luò)。利用這種方式,使用者可通過(guò)網(wǎng)絡(luò)查看攝像機(jī)所采集的圖像從而進(jìn)行實(shí)時(shí)的遠(yuǎn)程視頻監(jiān)控。
與其他監(jiān)控系統(tǒng)相比,利用嵌入式技術(shù)的無(wú)線視頻監(jiān)控系統(tǒng)易安裝、體積小,可以實(shí)現(xiàn)無(wú)人值守。這種系統(tǒng)成本低,穩(wěn)定度高,具有實(shí)時(shí)特點(diǎn),操作和維護(hù)便利。嵌入式無(wú)線視頻監(jiān)控系統(tǒng)綜合了無(wú)線通信技術(shù)與嵌入式技術(shù),從以往的監(jiān)控系統(tǒng)發(fā)展而來(lái),該系統(tǒng)節(jié)省了大量的網(wǎng)絡(luò)布線費(fèi)用,采用嵌入式技術(shù)的無(wú)線視頻監(jiān)控系統(tǒng)小巧靈活,對(duì)于各種特殊場(chǎng)合需求的視頻監(jiān)控能夠滿足應(yīng)用要求。本文提出一種基于嵌入式技術(shù)的無(wú)線視頻監(jiān)控系統(tǒng)解決方案。利用該方案設(shè)計(jì)的無(wú)線視頻監(jiān)控系統(tǒng)穩(wěn)定性高、可靠性高,視頻信號(hào)處理能力強(qiáng),容易安裝布置并且價(jià)格低廉。
1系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)
嵌入式視頻監(jiān)控系統(tǒng)總體的結(jié)構(gòu)設(shè)計(jì)如下,主要有兩部分:一是采用嵌入式ARM芯片的視頻監(jiān)控端;二是計(jì)算機(jī)視頻接收端。采用嵌入式ARM芯片的視頻監(jiān)控端在該系統(tǒng)中主要負(fù)責(zé)視頻圖像的處理工作,包括圖像采集,壓縮,圖像運(yùn)動(dòng)目標(biāo)檢測(cè),視頻數(shù)據(jù)的傳輸?shù)取?br />
計(jì)算機(jī)視頻接收端在該系統(tǒng)中主要負(fù)責(zé)在計(jì)算機(jī)系統(tǒng)中接收和保存圖像。
本文給出了基于嵌入式ARM技術(shù)的無(wú)線智能視頻監(jiān)控系統(tǒng)總體設(shè)計(jì)方案,方案包含系統(tǒng)的硬件設(shè)計(jì)框架和軟件設(shè)計(jì)流程,視頻監(jiān)控端程序通過(guò)在Linux系統(tǒng)下使用C語(yǔ)言編程來(lái)實(shí)現(xiàn),計(jì)算機(jī)視頻接收端程序直接采用Windows系統(tǒng)下的C語(yǔ)言編程來(lái)實(shí)現(xiàn)。本設(shè)計(jì)中無(wú)線智能視頻監(jiān)控系統(tǒng)利用C/S模式,基于TCP/IP協(xié)議來(lái)實(shí)現(xiàn)視頻圖像傳輸。ARM視頻監(jiān)控端的主要工作是等待PC視頻接收端的連接請(qǐng)求,進(jìn)行連續(xù)的視頻圖像采集。計(jì)算機(jī)視頻接收端的主要工作是對(duì)視頻進(jìn)行播放和存儲(chǔ),向視頻監(jiān)控端發(fā)送連接請(qǐng)求,接收、顯示視頻。
該系統(tǒng)的硬件框架如圖1所示。
系統(tǒng)的軟件框架如圖2所示。
2嵌入式Linux系統(tǒng)構(gòu)建
無(wú)線智能視頻監(jiān)控系統(tǒng)的視頻監(jiān)控端采用三星公司基于ARM體系結(jié)構(gòu)的芯片S3C2440作為處理器,在使用該處理器的硬件系統(tǒng)上構(gòu)建了嵌入式Linux操作系統(tǒng)作為應(yīng)用程序的開(kāi)發(fā)平臺(tái)。嵌入式Linux系統(tǒng)的構(gòu)建過(guò)程主要是建立嵌入式交叉編譯環(huán)境,首先安裝虛擬機(jī),在虛擬機(jī)上安裝Linux操作系統(tǒng),安裝交叉編譯工具,內(nèi)核編譯移植,建立NFS網(wǎng)絡(luò)文件服務(wù)器,USB設(shè)備驅(qū)動(dòng)加載,完成USB設(shè)備驅(qū)動(dòng)的修改及移植。嵌入式Linux系統(tǒng)的軟件體系結(jié)構(gòu)如圖3所示。
3 ARM視頻監(jiān)控端程序?qū)崿F(xiàn)
ARM的視頻監(jiān)控端程序采用套接字Socket編程,Socket是獨(dú)立于具體協(xié)議的網(wǎng)絡(luò)編程接口,在TCP/IP模型中,主要位于傳輸層和應(yīng)用層之間。它支持TCP/IP協(xié)議,是網(wǎng)絡(luò)通信的基本操作單元,有連接通信的Sock-et編程如圖4所示。
套接字可以作為主機(jī)通信的終結(jié)點(diǎn),它是Socket應(yīng)用程序用來(lái)在網(wǎng)絡(luò)上發(fā)送或接收數(shù)據(jù)包的對(duì)象,它可用作網(wǎng)絡(luò)間的編程界面。視頻監(jiān)控端程序采用流式套接字接口編程實(shí)現(xiàn),提供沒(méi)有記錄邊界的字節(jié)流,字節(jié)流能夠以正確的順序無(wú)重復(fù)地被送達(dá),并且提供了一個(gè)面向連接、可靠的數(shù)據(jù)傳輸服務(wù)。視頻監(jiān)控程序主要實(shí)現(xiàn)圖像的采集檢測(cè)傳輸?shù)裙δ堋R曨l監(jiān)控端程序流程圖如圖5所示。
圖像視頻監(jiān)控端程序通過(guò)Linux Socket設(shè)計(jì)實(shí)現(xiàn),從而實(shí)現(xiàn)了視頻監(jiān)控端的圖像傳輸處理等功能。
4計(jì)算機(jī)視頻接收端應(yīng)用程序?qū)崿F(xiàn)
視頻監(jiān)控采用servfox流媒體服務(wù)器來(lái)作監(jiān)控服務(wù)器,servfox運(yùn)行在ARM終端上采集攝像頭數(shù)據(jù),然后在計(jì)算機(jī)上使用視頻播放軟件顯示圖像。接收端應(yīng)用程序?yàn)閃indows程序,主要是針對(duì)ARM-LINUX下的視頻捕捉軟件Servfox而寫的。視頻捕捉軟件通過(guò)USB采集JPEG圖像,通過(guò)一個(gè)USB無(wú)線網(wǎng)卡進(jìn)行視頻圖像的傳輸,采用JPEG格式的視頻傳輸過(guò)程,意味著傳輸?shù)氖且粋€(gè)連續(xù)幀的JPEG圖像。計(jì)算機(jī)視頻軟件接收端的功能是接收視頻監(jiān)控端所發(fā)的圖片并在圖片在窗口顯示的同時(shí)錄像。程序用C語(yǔ)言編寫軟件代碼,用XML來(lái)存儲(chǔ)USB采集的視頻信息。計(jì)算機(jī)視頻接收端應(yīng)用程序?qū)崿F(xiàn)了視頻播放的控制,包括視頻的開(kāi)始、停止和暫停,實(shí)現(xiàn)了攝像頭的控制,包括攝像頭的添加、更新和刪除,還能夠?qū)M(jìn)入到監(jiān)控范圍的移動(dòng)物體進(jìn)行視頻監(jiān)控和視頻錄制。視頻接收端程序流程圖如圖6所示。
5系統(tǒng)運(yùn)行
本系統(tǒng)運(yùn)行過(guò)程通過(guò)超級(jí)終端連接計(jì)算機(jī)和開(kāi)發(fā)板,利用串口傳輸數(shù)據(jù),通過(guò)超級(jí)終端可以監(jiān)控目標(biāo)板信息,也可以向目標(biāo)板傳輸命令,控制目標(biāo)板操作。
運(yùn)行過(guò)程是先啟動(dòng)嵌入式目標(biāo)板ARM視頻監(jiān)控端,如果目標(biāo)板上連接有USB攝像頭,連接有無(wú)線網(wǎng)卡,則系統(tǒng)首先運(yùn)行嵌入式操作系統(tǒng),通過(guò)驅(qū)動(dòng)加載命令insmod將攝像頭和網(wǎng)卡的驅(qū)動(dòng)加載進(jìn)Linux內(nèi)核,攝像頭驅(qū)動(dòng)成功后,運(yùn)行視頻采集的視頻監(jiān)控端程序servfox,視頻采集就能夠正常運(yùn)行。然后運(yùn)行計(jì)算機(jī)視頻接收端應(yīng)用程序,運(yùn)行錄像播放軟件,從而整個(gè)視頻監(jiān)控系統(tǒng)得以正常運(yùn)行。
6結(jié)語(yǔ)
本文給出了一種基于嵌入式ARM技術(shù)的無(wú)線視頻監(jiān)控系統(tǒng)的解決方案。建立了嵌入式系統(tǒng)開(kāi)發(fā)的交叉編譯環(huán)境,進(jìn)行了操作系統(tǒng)移植,編譯并通過(guò)了嵌入式操作系統(tǒng)下無(wú)線網(wǎng)卡和USB攝像頭的驅(qū)動(dòng)程序,利用模塊化程序設(shè)計(jì)方法,設(shè)計(jì)了基于ARM技術(shù)的無(wú)線視頻監(jiān)控端軟件和計(jì)算機(jī)視頻接收端軟件,并對(duì)系統(tǒng)的運(yùn)行進(jìn)行了測(cè)試,結(jié)果表明,該方案中的整個(gè)視頻監(jiān)控系統(tǒng)得以正常運(yùn)行,從而實(shí)現(xiàn)了視頻的監(jiān)控。