張成法,孫月興
(濰坊工程職業學院,山東 青州 262500)
基于S3C2440A的嵌入式視頻監控系統的設計與實現
張成法,孫月興
(濰坊工程職業學院,山東 青州 262500)
文章將嵌入式技術與網絡技術融合到視頻監控系統,設計了基于ARM的嵌入式視頻監控系統。本系統利用基于ARM控制芯片S3C2440A的硬件電路板、嵌入式操作系統和無線網卡等搭建了嵌入式 Web 服務器 MJPG-streamer,用戶可通過登錄瀏覽器實現遠程視頻監控。測試表明該系統運行穩定,圖像實時準確。
S3C2440A;視頻監控;Linux
隨著國民經濟和網絡信息技術的高速發展,視頻監控系統越來越廣泛地應用于社會生活的各個方面。模擬視頻監控系統具有傳輸距離有限且實際布線量大、圖像清晰度不高,查詢麻煩,數據存儲需要較大的容量等缺點。同時,在數字網絡化趨勢的影響下,采用最新網絡通信和音視頻處理技術,利用以太網及其他類型的網絡對視頻圖像進行傳輸,這已經成為遠程視頻監控最先考慮的解決方法。
本文設計的基于嵌入式的視頻監控系統是將ARM控制技術、嵌入式技術、網絡傳輸技術和視頻服務器等技術結合起來用以保證監控圖像的實時準確,用以解決查詢不便等問題,從根本上解決了傳統視頻監控系統所存在的問題。
本文闡述基于TX2440A硬件電路板的嵌入式網絡視頻監控系統的設計。本文通過TX2440A硬件電路板和嵌入式Linux操作系統和根文件系統的制作,搭建一個易搭建,易配置,通用性好的網絡視頻服務器mjpg-streamer。該系統通過USB攝像頭采集視頻數據,然后使用相應算法對視頻數據進行壓縮處理,再經由網絡傳輸傳送到視頻服務器客戶端,使用戶通過IP網絡和具有Java插件的瀏覽器實現遠程監控的目的及視頻圖像的錄制。
本系統是由硬件和軟件這兩部分組成的。硬件部分主要由無線網卡、攝像頭和TX2440A硬件電路板等組成。軟件部分主要是由視頻服務器和嵌入式Linux操作系統等組成的。視頻監控系統結構框架圖如圖1所示。

圖1 視頻監控系統結構框架圖
2.1 系統硬件設計
硬件電路的設計采用的是核心板帶底板的設計方法。核心板電路主要是由微處理器S3C2440A和存儲器電路等組成。底板電路主要由復位電路、LCD接口電路和USB攝像頭接口電路等組成。S3C2440A是16/32位ARM9系列微處理器,工作頻率最高可達533 MHz,由于其性能優越、性價比高等優點,在很多設備中都采用了此控制芯片。
TX2440A硬件電路板上帶有USB接口,只需要將USB攝像頭插入即可將攝像頭跟硬件電路板相連接。
WiFi無線網卡采用的型號是TL-WN823N,接口類型是USB接口,內置天線,頻率可以達到2.4 GHz以上。TLWN823N采用業內專業的11N無線芯片方案,300 Mbps是其最高無線傳輸速率,TL-WN823N采用MIMO多收多發天線技術和CCA空閑信道檢測技術,可以有效提高無線信號的穩定性和穿透力,增強其覆蓋范圍。室外最遠覆蓋范圍在較優的環境下可以達到300 m,而室內覆蓋范圍最遠可以達到100 m。
2.2 系統軟件設計
系統軟件設計主要包括USB攝像頭驅動的編譯和加載、V4L2信號的采集設計和視頻服務器搭建。
2.2.1 USB攝像頭驅動
本系統采用的USB攝像頭是ZC0301P攝像頭,由于在Linux 2.6.31內核中含有對此類攝像頭的驅動,直接在Linux相應的目錄下配置內核,就可以將ZC0301P攝像頭的驅動程序加載進來,這樣的話Linux操作系統就可以支持ZC0301P攝像頭了。
2.2.2 V4L信號采集設計
Linux中跟視頻設備相關聯的內核驅動是V4L2,它提供了API函數集和很多的接口函數,比如open,write等,利用這些函數可以編寫ZC0301P攝像頭的圖像采集應用程序。
V4L2可以采用直接讀取法read()和mmap()內存映射方式兩種方法截取視頻圖像,比較這兩種方法的優缺點,發現后一種方法的優點較突出,因此在程序編寫中使用mmap()這種方式來對視頻圖像進行截取。
2.2.3 視頻服務器搭建
本系統采用的視頻服務軟件是支持V4L2的mjpgstreamer。從網上下載其源代碼和基礎連接庫源代碼jpegsrc.v6b,SDL-1.2.13。
首先安裝libjpeg庫,在其源碼目錄下進行配置,然后修改對應的文件,再對其進行編譯和安裝,這樣就會將庫文件libjpeg.so和cjpeg安裝在相應的目錄下。
其次對簡單直流媒體層(Simple DirectMedia Layer,SDL)安裝包進行安裝,在其源碼目錄下進行相應的配置操作、緊跟著再對其編譯,最后再進行安裝,就可以將文件SDL和庫文件libSDL.so等安裝在相應的SDL庫目錄下。
然后編譯和移植視頻服務軟件包,在這個軟件包的源碼目錄下編譯mjpg-streamer,會得到可執行程序mjpgstreamer和input_uvc.so,output_http.so這兩個模塊,將生成的可執行程序和這兩個模塊分別拷貝到根文件系統的/ usr/sbin目錄和根文件系統的/lib目錄下。通過再對文件uvcstreamer進行編譯,會生成相對應的可執行程序,將其拷貝到根文件系統的/usr/sbin目錄下。
最后對根文件系統進行制作,根文件系統的/lib目錄下有SDL和jpeg庫,這兩個庫是從交叉編譯器的lib目錄下復制過去的。然后對根文件系統進行制作,將其制作成相對應的鏡像文件,然后將其下載到硬件電路開發板中。
到此已將視頻服務器搭建成功,在硬件電路開發板的SecureCRT控制軟件中輸入命令:#mjpg_streamer -i“/ lib/input_uvc.so”-o“/lib/ouptput_http.so -w192.168.1.22:8080”,其中192.168.1.22是硬件電路開發板的IP地址,8080是服務器端口號。把已經制作好的網頁文件放到文件系統的/ var/webcam下,在硬件電路板的串口終端中輸入命令:
#mjpg-streamer -i“/lib/input_uvc.so”-o“/lib/ ouptput_http.so -w /var/webcam”
這樣就可以使用 Web 登錄服務器。
2.2.4 客戶端的實現
打開電腦上的瀏覽器,輸入網址 http://192.168.1.22:8080,那么就可以將已經制作好的網頁打開了。
如果要在一般的瀏覽器Internet Explorer上查看Java視頻流的話,需要安裝JRE。也可以使用火狐瀏覽器FireFox直接觀看視頻流。
本系統采用ARM控制芯片S3C2440A、嵌入式操作系統和無線網卡等搭建了視頻服務器,將ARM控制技術、嵌入式技術、網絡傳輸技術和視頻服務器等技術結合起來實現了嵌入式遠程視頻監控,該系統具有網絡化、實時性強、價格低和易于管理等優點,具有廣泛的應用前景。
[1]汪光華.智能安防:視頻監控全面解析與實例分析[M].北京:機械工業出版社,2012.
[2]華春夢,劉沖.基于S3C2440嵌入式平臺的USB攝像頭視頻監控[J].電腦開發與應用,2015.
[3]李佳林,劉永春.基于S3C2440網絡視頻采集系統的設計與實現[J].電腦知識與技術,2014.
[4]陳恒鑫,林威,張欽宇.基于MJ PG- Stre am e r的移動視頻監控系統設計[J].計算機測量與控制,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—),男,山東青州,碩士;研究方向:單片機與嵌入式系統。