魏光杏,李 華
(滁州職業(yè)技術(shù)學(xué)院,安徽 滁州 239000)
隨著電子與計算機技術(shù)的發(fā)展,視頻監(jiān)控這一傳統(tǒng)的安全防范手段,在工業(yè)控制和商業(yè)管理領(lǐng)域有著廣泛地應(yīng)用,為這些行業(yè)的安全防范和環(huán)境監(jiān)控起到了重要作用。數(shù)字圖像監(jiān)控系統(tǒng)主要是基于嵌入式圖像監(jiān)控。視頻監(jiān)控具有直觀、方便、信息內(nèi)容豐富等優(yōu)點,向用戶提供高質(zhì)量的監(jiān)控圖像和便捷的監(jiān)控方式。視頻監(jiān)控為社會生產(chǎn)的順利進(jìn)行和人民生活的安全提供了保障,它已經(jīng)成為我們生產(chǎn)上中必不可少的重要組成部分。本文給出了一個基于ARM和Linux系統(tǒng)實現(xiàn)方案,采用ARM和軟件壓縮相結(jié)合實現(xiàn)視頻圖像采集,此系統(tǒng)具有低成本、高性能、可擴展等優(yōu)點,有著廣泛的應(yīng)用前景。
本系統(tǒng)基于TX2440A開發(fā)板和嵌入式操作系統(tǒng)制作。TX2440A是一款低價實用的ARM9開發(fā)板,是目前國內(nèi)性價比最高的一款學(xué)習(xí)版。它采用Samsung S3C2440為微處理器,并采用專業(yè)穩(wěn)定的CPU內(nèi)核電源芯片和復(fù)位芯片來保證讓那個系統(tǒng)運行時的穩(wěn)定性。本系統(tǒng)功能框架圖如圖1所示。
圖1 ?系統(tǒng)功能框架圖
TX2440A有眾多先進(jìn)特性:可以支持萬能驅(qū)動的開發(fā)板,支持USB燒寫更新Linux和windowsCE的開發(fā)板,并且支持Nand Flash備份到PC,還可以使用CMOS攝像頭預(yù)覽并拍照的開發(fā)板等。
1.2.1 TX2440A開發(fā)板硬件資源特性
CPU處理器:Samsung S3C2440A,主頻400MHz,最高533MHz;
SDR內(nèi)存:在板64M SDRAM;
接口資源:1個100M以太網(wǎng)RJ-45接口,3個串口行,4個USB Host,1個SD卡存儲接口,1個2.0mm間距20pin攝像頭接口;
系統(tǒng)時鐘源:12M無源晶振。
1.2.2 -TX2440A開發(fā)板系統(tǒng)軟件支持
支持嵌入式linux操作系統(tǒng),支持萬能USB攝像頭驅(qū)動(Linux系統(tǒng)自帶的gspca驅(qū)動程序),支持客戶端訪問,可以在PC機上使用web瀏覽器或其他的客戶端程序。
在Red Hat Linux官方網(wǎng)站下載適合S3C2440處理器的Linux內(nèi)核源代碼壓縮文件s3c2440_kernel2.6.13.tar.bz2到/tmp/目錄下,對該文件進(jìn)行解壓縮,然后進(jìn)入該文件目錄,進(jìn)行編譯內(nèi)核,具體過程如下:
#tar-jxvf s3e2440_kemel2.6.13.tar.bz2#cd s3c2440_kernel2.6.13_rel
#makedistclean
#makemenuconfig
此時彈出系統(tǒng)菜單配置界面。
在彈出的系統(tǒng)菜單配置界面中選擇“Load on Alternate Configuration File”菜單載入配置文件,然后在輸入框中寫入“arch/arm/def-configs/smdk2440”,選擇“OK”按鈕,這樣就載入了目標(biāo)板所需的常用配置選項。打開菜單各個頁,查看配置文件的默認(rèn)選項。該內(nèi)核針對本系統(tǒng)設(shè)計的要求需要配置的內(nèi)核選項,主要包括CPU、LCD、USB、V4L、USB攝像頭、網(wǎng)卡、SD卡、鍵盤、串口、文件系統(tǒng)等,其他暫時不需要的選項即可裁減以減小內(nèi)核鏡像的體積。
2.2.1 安裝USB驅(qū)動
在Red Hat Linux官方網(wǎng)站上下載usb.rar軟件包,將其拷貝到/linux-2.6.31/kernel/drivers/usb/目錄中,并進(jìn)行解壓,操作過程如下:
#cd/linux-2.6.31/kernel/drivers/usb/
#tar-zxvf usb.rar
修改目錄/drivers/usb/的Makefile文件,在obj-$(CONFIG_USB_W9968CF)+=media/語句后添加一行obj-$(CONFIG_USB_SPCA5XX)+=media/
修改目錄/drivers/usb/media/的Kconfig文件,在該文件最后添加config USB_SPCA5XX/
語句。保存并退出后,對USB驅(qū)動進(jìn)行編譯,編譯無誤后即USB驅(qū)動就安裝完成。
2.2.2 安裝CMOS攝像頭驅(qū)動
在TX2440A開發(fā)板光盤中找到CMOS攝像頭驅(qū)動源碼的5個文件:S3c2440_ov9650.c、S3c2440_camif.c、S3c2440_camif.h、sccb.c與sccb.h。將這5個文件復(fù)制到/drivers/media/video目錄下,修改/drivers/media/目錄下Kconfig文件,在101行加入:
Config S3C2440_CAMERA
Tristate“OV9650 on the S3C2440 driver”
Depends on VIDEO_DEV&&ARCH_S3C2440
Defaulty if(VIDEO_DEV&&ARCH_S3C2410)
修改/drivers/media/video目錄下Makefile文件,在第15行加入:
s3c2440_camera-objs:=s3c2440_ov9650.o s3c2440_camif.o sccb.o
在第165行加入:
obj-$(CONFIG_S3C2440_CAMERA) +=s3c2440_camera.o
保存后,使用make menuconfig命令進(jìn)入菜單模式,進(jìn)行選擇系統(tǒng)模塊與驅(qū)動。在調(diào)入已保存的內(nèi)核配置文件選項中,將.config改為arch/arm/configs/s3c2410_defconfig,在選擇多媒體驅(qū)動選項中,選擇OV9650on the S3C2440 driber(NEW),在GSPCA based webcams選擇窗口中,選中所有選項,如圖2所示。
圖2 GSPCA based webcams選擇窗口
添加完成后,保存退出菜單,對所選內(nèi)核進(jìn)行編譯與加載,如圖3所示。
圖3 驅(qū)動加載成功
在Linux終端中輸入make zImage命令,進(jìn)行zImage鏡像編譯,當(dāng)終端中出現(xiàn)“zImage is ready”信息時,表示zImage鏡像編譯成功,如圖4所示。這就是我們生成最新的內(nèi)核,將此內(nèi)核通過終端下載到研發(fā)板中。
圖4 zImage鏡像編譯成功
通過網(wǎng)絡(luò)訪問來進(jìn)行視頻監(jiān)控,需要配置servfox和spcaview服務(wù)器。
2.4.1 配置servfox服務(wù)器
將視頻服務(wù)器軟件servfox.tar.gz拷貝到/linux-2.6.31這個內(nèi)核的目錄中。
2.4.2 配置spcaview服務(wù)器
系統(tǒng)鏡像文件移植是利用TX2440A開發(fā)板上ARM公司提供的DNW進(jìn)行的。先對DNW進(jìn)行USB驅(qū)動加載,并設(shè)置波特率、串口、地址位數(shù)等參數(shù)(保持默認(rèn)值)。重啟TX2440A開發(fā)板后,在主界面上選擇“[2]下載Linux內(nèi)核鏡像”,再選擇DNW終端任務(wù)欄上“USB Port”下拉菜單中的“Transmit”選項,瀏覽到zImage這個文件,單擊打開,彈出移植對話進(jìn)程窗口,如圖5所示。
圖5 燒寫zImage文件
在客戶機XP系統(tǒng)下安裝java插件jre-6u10-windows-i586-p-s.exe,插件安裝完成后,打開IE瀏覽器,在地址欄中輸入http://192.168.1.10/index-sample.html,就可以訪問視頻監(jiān)控網(wǎng)頁,監(jiān)控效果如圖6所示,圖像分辨率為640×480。
本文給出了一個基于TX2440A開發(fā)板和Linux操作系統(tǒng)視頻監(jiān)控方案,經(jīng)過測試,系統(tǒng)各個硬件模塊都能夠安全穩(wěn)定地工作,操作系統(tǒng)也能夠穩(wěn)定的運行在TX2440A硬件開發(fā)板平臺上,監(jiān)控的視頻效果較好。本系統(tǒng)視頻監(jiān)控很好地體現(xiàn)體積小、成本低、使用方便等特點,可用于學(xué)校、家居以及小型企業(yè)等領(lǐng)域,具有廣泛的市場前景。
圖6 監(jiān)控測試圖
[1]鄧建偉,楊明川,李文杰.網(wǎng)絡(luò)視頻監(jiān)控關(guān)鍵技術(shù)的發(fā)展[J].通信世界,2007(34):17-18.
[2]劉春成.基于嵌入式Linux的USB攝像頭驅(qū)動開發(fā)[J].計算機工程與設(shè)計,2007,28(8):1885-1888.
[3]周強,費章君,王強,等.基于H.264的嵌入式網(wǎng)絡(luò)視頻服務(wù)器的設(shè)計與開發(fā)[J].計算機應(yīng)用,2010,30(2):555-559.
[4]沈進(jìn)棋,阮鋒,諸靜.基于Web的視頻圖像的實時傳輸[J].計算機工程,2005,31(1):187-188,198.
[5]王學(xué)龍.嵌入式Linux系統(tǒng)設(shè)計與應(yīng)用[M].北京:清華大學(xué)出版社,2001.