張成法,孫月興
(濰坊工程職業(yè)學(xué)院,山東 青州 262500)
基于S3C2440A的嵌入式視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
張成法,孫月興
(濰坊工程職業(yè)學(xué)院,山東 青州 262500)
文章將嵌入式技術(shù)與網(wǎng)絡(luò)技術(shù)融合到視頻監(jiān)控系統(tǒng),設(shè)計(jì)了基于A(yíng)RM的嵌入式視頻監(jiān)控系統(tǒng)。本系統(tǒng)利用基于A(yíng)RM控制芯片S3C2440A的硬件電路板、嵌入式操作系統(tǒng)和無(wú)線(xiàn)網(wǎng)卡等搭建了嵌入式 Web 服務(wù)器 MJPG-streamer,用戶(hù)可通過(guò)登錄瀏覽器實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)控。測(cè)試表明該系統(tǒng)運(yùn)行穩(wěn)定,圖像實(shí)時(shí)準(zhǔn)確。
S3C2440A;視頻監(jiān)控;Linux
隨著國(guó)民經(jīng)濟(jì)和網(wǎng)絡(luò)信息技術(shù)的高速發(fā)展,視頻監(jiān)控系統(tǒng)越來(lái)越廣泛地應(yīng)用于社會(huì)生活的各個(gè)方面。模擬視頻監(jiān)控系統(tǒng)具有傳輸距離有限且實(shí)際布線(xiàn)量大、圖像清晰度不高,查詢(xún)麻煩,數(shù)據(jù)存儲(chǔ)需要較大的容量等缺點(diǎn)。同時(shí),在數(shù)字網(wǎng)絡(luò)化趨勢(shì)的影響下,采用最新網(wǎng)絡(luò)通信和音視頻處理技術(shù),利用以太網(wǎng)及其他類(lèi)型的網(wǎng)絡(luò)對(duì)視頻圖像進(jìn)行傳輸,這已經(jīng)成為遠(yuǎn)程視頻監(jiān)控最先考慮的解決方法。
本文設(shè)計(jì)的基于嵌入式的視頻監(jiān)控系統(tǒng)是將ARM控制技術(shù)、嵌入式技術(shù)、網(wǎng)絡(luò)傳輸技術(shù)和視頻服務(wù)器等技術(shù)結(jié)合起來(lái)用以保證監(jiān)控圖像的實(shí)時(shí)準(zhǔn)確,用以解決查詢(xún)不便等問(wèn)題,從根本上解決了傳統(tǒng)視頻監(jiān)控系統(tǒng)所存在的問(wèn)題。
本文闡述基于TX2440A硬件電路板的嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)計(jì)。本文通過(guò)TX2440A硬件電路板和嵌入式Linux操作系統(tǒng)和根文件系統(tǒng)的制作,搭建一個(gè)易搭建,易配置,通用性好的網(wǎng)絡(luò)視頻服務(wù)器mjpg-streamer。該系統(tǒng)通過(guò)USB攝像頭采集視頻數(shù)據(jù),然后使用相應(yīng)算法對(duì)視頻數(shù)據(jù)進(jìn)行壓縮處理,再經(jīng)由網(wǎng)絡(luò)傳輸傳送到視頻服務(wù)器客戶(hù)端,使用戶(hù)通過(guò)IP網(wǎng)絡(luò)和具有Java插件的瀏覽器實(shí)現(xiàn)遠(yuǎn)程監(jiān)控的目的及視頻圖像的錄制。
本系統(tǒng)是由硬件和軟件這兩部分組成的。硬件部分主要由無(wú)線(xiàn)網(wǎng)卡、攝像頭和TX2440A硬件電路板等組成。軟件部分主要是由視頻服務(wù)器和嵌入式Linux操作系統(tǒng)等組成的。視頻監(jiān)控系統(tǒng)結(jié)構(gòu)框架圖如圖1所示。
圖1 視頻監(jiān)控系統(tǒng)結(jié)構(gòu)框架圖
2.1 系統(tǒng)硬件設(shè)計(jì)
硬件電路的設(shè)計(jì)采用的是核心板帶底板的設(shè)計(jì)方法。核心板電路主要是由微處理器S3C2440A和存儲(chǔ)器電路等組成。底板電路主要由復(fù)位電路、LCD接口電路和USB攝像頭接口電路等組成。S3C2440A是16/32位ARM9系列微處理器,工作頻率最高可達(dá)533 MHz,由于其性能優(yōu)越、性?xún)r(jià)比高等優(yōu)點(diǎn),在很多設(shè)備中都采用了此控制芯片。
TX2440A硬件電路板上帶有USB接口,只需要將USB攝像頭插入即可將攝像頭跟硬件電路板相連接。
WiFi無(wú)線(xiàn)網(wǎng)卡采用的型號(hào)是TL-WN823N,接口類(lèi)型是USB接口,內(nèi)置天線(xiàn),頻率可以達(dá)到2.4 GHz以上。TLWN823N采用業(yè)內(nèi)專(zhuān)業(yè)的11N無(wú)線(xiàn)芯片方案,300 Mbps是其最高無(wú)線(xiàn)傳輸速率,TL-WN823N采用MIMO多收多發(fā)天線(xiàn)技術(shù)和CCA空閑信道檢測(cè)技術(shù),可以有效提高無(wú)線(xiàn)信號(hào)的穩(wěn)定性和穿透力,增強(qiáng)其覆蓋范圍。室外最遠(yuǎn)覆蓋范圍在較優(yōu)的環(huán)境下可以達(dá)到300 m,而室內(nèi)覆蓋范圍最遠(yuǎn)可以達(dá)到100 m。
2.2 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)主要包括USB攝像頭驅(qū)動(dòng)的編譯和加載、V4L2信號(hào)的采集設(shè)計(jì)和視頻服務(wù)器搭建。
2.2.1 USB攝像頭驅(qū)動(dòng)
本系統(tǒng)采用的USB攝像頭是ZC0301P攝像頭,由于在Linux 2.6.31內(nèi)核中含有對(duì)此類(lèi)攝像頭的驅(qū)動(dòng),直接在Linux相應(yīng)的目錄下配置內(nèi)核,就可以將ZC0301P攝像頭的驅(qū)動(dòng)程序加載進(jìn)來(lái),這樣的話(huà)Linux操作系統(tǒng)就可以支持ZC0301P攝像頭了。
2.2.2 V4L信號(hào)采集設(shè)計(jì)
Linux中跟視頻設(shè)備相關(guān)聯(lián)的內(nèi)核驅(qū)動(dòng)是V4L2,它提供了API函數(shù)集和很多的接口函數(shù),比如open,write等,利用這些函數(shù)可以編寫(xiě)ZC0301P攝像頭的圖像采集應(yīng)用程序。
V4L2可以采用直接讀取法read()和mmap()內(nèi)存映射方式兩種方法截取視頻圖像,比較這兩種方法的優(yōu)缺點(diǎn),發(fā)現(xiàn)后一種方法的優(yōu)點(diǎn)較突出,因此在程序編寫(xiě)中使用mmap()這種方式來(lái)對(duì)視頻圖像進(jìn)行截取。
2.2.3 視頻服務(wù)器搭建
本系統(tǒng)采用的視頻服務(wù)軟件是支持V4L2的mjpgstreamer。從網(wǎng)上下載其源代碼和基礎(chǔ)連接庫(kù)源代碼jpegsrc.v6b,SDL-1.2.13。
首先安裝libjpeg庫(kù),在其源碼目錄下進(jìn)行配置,然后修改對(duì)應(yīng)的文件,再對(duì)其進(jìn)行編譯和安裝,這樣就會(huì)將庫(kù)文件libjpeg.so和cjpeg安裝在相應(yīng)的目錄下。
其次對(duì)簡(jiǎn)單直流媒體層(Simple DirectMedia Layer,SDL)安裝包進(jìn)行安裝,在其源碼目錄下進(jìn)行相應(yīng)的配置操作、緊跟著再對(duì)其編譯,最后再進(jìn)行安裝,就可以將文件SDL和庫(kù)文件libSDL.so等安裝在相應(yīng)的SDL庫(kù)目錄下。
然后編譯和移植視頻服務(wù)軟件包,在這個(gè)軟件包的源碼目錄下編譯mjpg-streamer,會(huì)得到可執(zhí)行程序mjpgstreamer和input_uvc.so,output_http.so這兩個(gè)模塊,將生成的可執(zhí)行程序和這兩個(gè)模塊分別拷貝到根文件系統(tǒng)的/ usr/sbin目錄和根文件系統(tǒng)的/lib目錄下。通過(guò)再對(duì)文件uvcstreamer進(jìn)行編譯,會(huì)生成相對(duì)應(yīng)的可執(zhí)行程序,將其拷貝到根文件系統(tǒng)的/usr/sbin目錄下。
最后對(duì)根文件系統(tǒng)進(jìn)行制作,根文件系統(tǒng)的/lib目錄下有SDL和jpeg庫(kù),這兩個(gè)庫(kù)是從交叉編譯器的lib目錄下復(fù)制過(guò)去的。然后對(duì)根文件系統(tǒng)進(jìn)行制作,將其制作成相對(duì)應(yīng)的鏡像文件,然后將其下載到硬件電路開(kāi)發(fā)板中。
到此已將視頻服務(wù)器搭建成功,在硬件電路開(kāi)發(fā)板的SecureCRT控制軟件中輸入命令:#mjpg_streamer -i“/ lib/input_uvc.so”-o“/lib/ouptput_http.so -w192.168.1.22:8080”,其中192.168.1.22是硬件電路開(kāi)發(fā)板的IP地址,8080是服務(wù)器端口號(hào)。把已經(jīng)制作好的網(wǎng)頁(yè)文件放到文件系統(tǒng)的/ var/webcam下,在硬件電路板的串口終端中輸入命令:
#mjpg-streamer -i“/lib/input_uvc.so”-o“/lib/ ouptput_http.so -w /var/webcam”
這樣就可以使用 Web 登錄服務(wù)器。
2.2.4 客戶(hù)端的實(shí)現(xiàn)
打開(kāi)電腦上的瀏覽器,輸入網(wǎng)址 http://192.168.1.22:8080,那么就可以將已經(jīng)制作好的網(wǎng)頁(yè)打開(kāi)了。
如果要在一般的瀏覽器Internet Explorer上查看Java視頻流的話(huà),需要安裝JRE。也可以使用火狐瀏覽器FireFox直接觀(guān)看視頻流。
本系統(tǒng)采用ARM控制芯片S3C2440A、嵌入式操作系統(tǒng)和無(wú)線(xiàn)網(wǎng)卡等搭建了視頻服務(wù)器,將ARM控制技術(shù)、嵌入式技術(shù)、網(wǎng)絡(luò)傳輸技術(shù)和視頻服務(wù)器等技術(shù)結(jié)合起來(lái)實(shí)現(xiàn)了嵌入式遠(yuǎn)程視頻監(jiān)控,該系統(tǒng)具有網(wǎng)絡(luò)化、實(shí)時(shí)性強(qiáng)、價(jià)格低和易于管理等優(yōu)點(diǎn),具有廣泛的應(yīng)用前景。
[1]汪光華.智能安防:視頻監(jiān)控全面解析與實(shí)例分析[M].北京:機(jī)械工業(yè)出版社,2012.
[2]華春夢(mèng),劉沖.基于S3C2440嵌入式平臺(tái)的USB攝像頭視頻監(jiān)控[J].電腦開(kāi)發(fā)與應(yīng)用,2015.
[3]李佳林,劉永春.基于S3C2440網(wǎng)絡(luò)視頻采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2014.
[4]陳恒鑫,林威,張欽宇.基于MJ PG- Stre am e r的移動(dòng)視頻監(jiān)控系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2014.
Design and implementation of embedded video surveillance system based on S3C2440A
Zhang Chengfa,Sun Yuexing
(Weifang Engineering Vocational College,Qingzhou 262500,China)
This paper integrates the embedded technology and network technology into video surveillance system,designs the embedded video monitoring system based on ARM.The system uses the hardware circuit board based on ARM chip S3C2440A,embedded operating system and wireless network card to set up the embedded web server MJPG-streamer.Users can log in browser to implement the purpose of remote video surveillance.Tests show that the system is stable,the image is real time and accurate.
S3C2440A;video surveillance;Linux
張成法(1984—),男,山東青州,碩士;研究方向:?jiǎn)纹瑱C(jī)與嵌入式系統(tǒng)。
無(wú)線(xiàn)互聯(lián)科技2016年19期