亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于S3C2410的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)設(shè)計(jì)

        2011-02-09 01:57:56董翠英
        制造業(yè)自動(dòng)化 2011年5期
        關(guān)鍵詞:驅(qū)動(dòng)程序內(nèi)核嵌入式

        董翠英

        (唐山學(xué)院 信息工程系,唐山 063000)

        0 引言

        隨著計(jì)算機(jī)網(wǎng)絡(luò)、多媒體技術(shù)的發(fā)展和圖像處理技術(shù)的提高,視頻監(jiān)控技術(shù)得到了快速發(fā)展,被廣泛應(yīng)用到各行各業(yè),如軍事、教育、科研、娛樂(lè)、醫(yī)療、體育等[1]。針對(duì)這一點(diǎn),本文論述了如何在ARM硬件平臺(tái)上進(jìn)行嵌入式Linux內(nèi)核的編譯與移植[2],并對(duì)在Linux操作系統(tǒng)下的USB驅(qū)動(dòng)程序的開(kāi)發(fā)進(jìn)行了詳細(xì)的討論。最后,設(shè)計(jì)并實(shí)現(xiàn)了嵌入式視頻監(jiān)控系統(tǒng)軟件部分,在所建立的ARM Linux開(kāi)發(fā)平臺(tái)上實(shí)現(xiàn)了基于USB攝像頭和boa嵌入式web 服務(wù)器的視頻監(jiān)控。本文重點(diǎn)討論了USB驅(qū)動(dòng)程序和Web視頻服務(wù)器。

        1 視頻監(jiān)控系統(tǒng)硬件組成

        本系統(tǒng)使用的平臺(tái)功能框圖如圖1所示。該硬件平臺(tái)采用Samsung公司的處理器S3C2410。通過(guò)在USB接口上外接一個(gè)帶USB口的攝像頭,將采集到的視頻圖像數(shù)據(jù)放入輸入緩沖區(qū)。然后對(duì)圖像進(jìn)行處理,最后通過(guò)網(wǎng)絡(luò)接口將圖像發(fā)送到Internet上。

        2 視頻監(jiān)控系統(tǒng)軟件設(shè)計(jì)

        2.1 嵌入式Linux內(nèi)核及定制

        完整的嵌入式Linux一般包含啟動(dòng)引導(dǎo)程序、內(nèi)核、文件系統(tǒng)三個(gè)基本部分。在一個(gè)新的硬件平臺(tái)上,選用嵌入式Linux作為操作系統(tǒng)來(lái)開(kāi)發(fā)軟件,必須進(jìn)行移植。根據(jù)不同的應(yīng)用系統(tǒng)設(shè)計(jì)的需要對(duì)Linux內(nèi)核的源代碼進(jìn)行修改或者裁剪然后再重新編譯內(nèi)核。

        圖1 嵌入式S3C2410的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)硬件結(jié)構(gòu)

        2.1.1 嵌入式系統(tǒng)引導(dǎo)程序

        本系統(tǒng)選用的bootloader是vivi,vivi有兩種工作模式,即啟動(dòng)加載模式和下載模式。當(dāng)vivi處于下載模式時(shí),它為用戶(hù)提供一個(gè)命令行接口,通過(guò)該接口能使用vivi提供的一些命令集。

        2.1.2 Linux內(nèi)核的剪裁及移植

        一般情況下的Linux內(nèi)核的剪裁及移植,主要是針對(duì)操作系統(tǒng)中關(guān)于具體硬件以及除去不需要的功能模塊,如一些不會(huì)用到的外設(shè)支持、驅(qū)動(dòng)程序、協(xié)議、網(wǎng)絡(luò)支持、文件格式等。Linux內(nèi)核具有很好的模塊性和伸縮性,在資源要求嚴(yán)格的情況下經(jīng)過(guò)合理的裁減可獲得明顯的效果[3]。

        本系統(tǒng)的內(nèi)核版本是2.4.18,操作系統(tǒng)是嵌入式linux操作系統(tǒng),其剪裁及移植具體的配置方法是,在嵌入式內(nèi)核的/kernel目錄下輸入make menuconfig命令進(jìn)行相應(yīng)選擇。

        本系統(tǒng)需要進(jìn)行視頻采集,在Multimedia devices項(xiàng)下,選擇

        [*] Video For Linux

        系統(tǒng)選用的視頻前端為USB攝像頭,因此需要在 USB support項(xiàng)USB Multimedia devices行下,選擇相應(yīng)的設(shè)備驅(qū)動(dòng)。嵌入式內(nèi)核一般只集成了OV511等幾種攝像頭的驅(qū)動(dòng),若硬件需要其它的驅(qū)動(dòng),則要移植、編譯驅(qū)動(dòng)程序后重新配置內(nèi)核,選擇相應(yīng)的設(shè)備驅(qū)動(dòng)。內(nèi)核配置完成后,make命令后即可生成可燒寫(xiě)的內(nèi)核zImage。

        2.2 視頻監(jiān)控系統(tǒng)中嵌入式Linux根文件系統(tǒng)的實(shí)現(xiàn)

        文件系統(tǒng)是基于被劃分的存儲(chǔ)設(shè)備上的邏輯單位上的一種定義文件的命名、存儲(chǔ)、組織及取出的方法。本系統(tǒng)采用的是適用于嵌入式系統(tǒng)的小文件系統(tǒng)Cramfs。

        重新配置編譯內(nèi)核,開(kāi)啟系統(tǒng)板的NFS文件系統(tǒng)功能后,重新編譯內(nèi)核,下載bootloader和kernel到硬件上,完成硬件設(shè)置[2]。

        3 視頻監(jiān)控系統(tǒng)中圖像采集的軟件實(shí)現(xiàn)

        啟動(dòng)Linux后,若要對(duì)某一硬件外設(shè)進(jìn)行讀寫(xiě),需要通過(guò)內(nèi)核調(diào)用該硬件的驅(qū)動(dòng)來(lái)實(shí)現(xiàn)。因此實(shí)現(xiàn)視頻數(shù)據(jù)的采集需要兩個(gè)步驟,一是編譯硬件接口的驅(qū)動(dòng)程序,二是通過(guò)內(nèi)核中提供的關(guān)于視頻采集部分的代碼編寫(xiě)視頻采集的應(yīng)用程序。

        3.1 USB攝像頭驅(qū)動(dòng)的設(shè)計(jì)

        本系統(tǒng)需要對(duì)USB攝像頭進(jìn)行訪問(wèn)和控制,USB設(shè)備的驅(qū)動(dòng)需要和嵌入式內(nèi)核掛鉤。在內(nèi)核中和視頻相關(guān)的部分是Video For Linux簡(jiǎn)稱(chēng)V4L,因此USB攝像頭驅(qū)動(dòng)要符合V4L標(biāo)準(zhǔn)。在驅(qū)動(dòng)中聲明一個(gè)video_device結(jié)構(gòu),并指定文件操作函數(shù)指針數(shù)組.fops,向系統(tǒng)注冊(cè)[4]。在應(yīng)用程序發(fā)出文件操作命令的時(shí)候,內(nèi)核根據(jù)指針調(diào)用這些函數(shù),并將這些結(jié)構(gòu)作為參數(shù)傳遞,完成內(nèi)核和驅(qū)動(dòng)之間的通訊。

        在USB總線標(biāo)準(zhǔn)中定義了四種傳輸方式,分別是控制、中斷、批量和等時(shí)。對(duì)于本系統(tǒng)視頻采集的實(shí)時(shí)性要求較高,攝像頭采用的是等時(shí)方式。為盡快得到圖像數(shù)據(jù),需要在URB( USB Request Block)中指定USB_ISO_ASAP標(biāo)志,使其盡快發(fā)出本URB

        usb->transfer_flags=USB_ISO_ASAP

        本系統(tǒng)選用的是ZC301P型芯片攝像頭,要對(duì)其驅(qū)動(dòng)進(jìn)行加載。由于Linux內(nèi)核對(duì)此類(lèi)攝像頭并不支持,所以需要自行加載驅(qū)動(dòng)模塊。由于攝像頭的廠商開(kāi)發(fā)產(chǎn)品時(shí)驅(qū)動(dòng)基本上是基于Windows平臺(tái)的,在Linux下我們只能選擇開(kāi)源的驅(qū)動(dòng)源碼,本系統(tǒng)選擇的是SPCA5XX攝像頭通用驅(qū)動(dòng),在下面的驅(qū)動(dòng)網(wǎng)址:http://mxhaard.free.fr可以下載到針對(duì)embeded環(huán)境的驅(qū)動(dòng)源碼,有專(zhuān)門(mén)的patch,具體編譯加載步驟如下:

        1)下載針對(duì)2.4內(nèi)核的驅(qū)動(dòng)補(bǔ)丁[2],usb-

        2.4.31 LE06.patch.tar.gz;

        2)將這個(gè)patch放到內(nèi)核源代碼的/driver/usb目錄下,然后解壓、打補(bǔ)丁:

        解壓:

        tar-xvzf usb-2.4.31LE06.patch.tar.gz

        打補(bǔ)?。簆atch-p1<usb-2.4.31.patch

        3)在打完補(bǔ)丁后就會(huì)在/driver/usb目錄下產(chǎn)生Config.in.rej和Makefile.rej兩個(gè).rej文件,根據(jù)這兩個(gè).rej文件分別修改此目錄下的Makefile和Config.in文件內(nèi)容,增加此部分代碼后,在完成內(nèi)核編譯后就能生成攝像頭的驅(qū)動(dòng)模塊:spca5xx.o:

        4)編譯內(nèi)核,在內(nèi)核目錄下make menuconfig,裝入原內(nèi)核配置文件,進(jìn)入主菜單操作,選擇Multimedia devices子菜單,為內(nèi)核加入V4L內(nèi)核模塊。

        5)在內(nèi)核主界面下選擇USB support子菜單項(xiàng),為內(nèi)核加入U(xiǎn)SB接口的驅(qū)動(dòng)模塊。

        6)在USB Multimedia devices子項(xiàng)下選擇USB SPCA5XX型攝像頭。

        7)在配置完內(nèi)核后,運(yùn)行make dep->make zImage->make modules之后在內(nèi)核源碼/driver/usb/spca5xx目錄中可以生成spca5xx.o驅(qū)動(dòng)模塊,通過(guò)nfs,即可在系統(tǒng)板上加載驅(qū)動(dòng)測(cè)試,加載前需確保已加載videodev.o模塊。以上已經(jīng)把整個(gè)系統(tǒng)的硬件平臺(tái),系統(tǒng)軟件,驅(qū)動(dòng)程序部分確定下來(lái),下一步將進(jìn)行圖像采集應(yīng)用軟件的開(kāi)發(fā)。

        3.2 圖像采集的軟件實(shí)現(xiàn)

        在攝像頭驅(qū)動(dòng)成功后,要對(duì)攝像頭進(jìn)行視頻采集的操作就是要針對(duì)V4L進(jìn)行編程。使用Servfox或者Spcaserv作為攝像頭視頻采集的服務(wù)器端程序,用Spcaview作為客戶(hù)端來(lái)實(shí)現(xiàn)視頻的接收與處理。

        3.3 移植視頻服務(wù)器應(yīng)用程序Servfox

        從http://mxhaard.free.fr/Spca50x/embed

        ded/Servfox下載ServfoxRl_0_0.tar.gz解壓后,會(huì)發(fā)現(xiàn)在其目錄中會(huì)有一個(gè)Makefile.arm文件,將此文件修改成 Makefile,可以用Vi打開(kāi)修改編譯器路徑等,確保無(wú)誤后make,成功后就可生成我們要用到的Servfox程序。

        3.4 移植客戶(hù)端Spcaview

        從http://mxhaard.free.fr/spca50x/Download/下載Spcaview,由于此軟件包依賴(lài)于libsdl,所以在安裝spcaview之前必須要安裝SDL-1.2.13。

        解壓源碼包:tar -zxvf SDL-1.2.13.tar.gz

        安裝源碼包:cd SDL-1.2.13,運(yùn)行 ./configure文件,編譯和安裝文件。

        安裝spcaview軟件:

        tar -zxvf spcaview-20061208;

        cd spcaview-20061208;

        make

        為了方便用戶(hù)查看監(jiān)控情況,設(shè)計(jì)了一種網(wǎng)絡(luò)視頻服務(wù)器,使用戶(hù)可以更方便的借助windows IE瀏覽器來(lái)查看實(shí)時(shí)監(jiān)控情況。

        4 嵌入式Web視頻服務(wù)器的實(shí)現(xiàn)

        隨著嵌入式技術(shù)的發(fā)展和高速寬帶網(wǎng)絡(luò)的普及,利用網(wǎng)絡(luò)實(shí)現(xiàn)遠(yuǎn)程監(jiān)控已為人們廣泛接受,用戶(hù)使用Web瀏覽器,通過(guò)以太網(wǎng)遠(yuǎn)程訪問(wèn)內(nèi)置Web服務(wù)器的監(jiān)控?cái)z像機(jī),不但可以實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)的遠(yuǎn)程視頻監(jiān)控,而且可以向監(jiān)控現(xiàn)場(chǎng)發(fā)送指令。基于B/S結(jié)構(gòu)的網(wǎng)絡(luò)視頻監(jiān)控實(shí)現(xiàn):B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),用戶(hù)在客戶(hù)端采用瀏覽器(Browse)實(shí)現(xiàn)對(duì)Web服務(wù)器的訪問(wèn),服務(wù)器在后臺(tái)運(yùn)行程序,把結(jié)果返回給瀏覽器顯示[4]。

        在系統(tǒng)中,客戶(hù)端局域網(wǎng)內(nèi)連網(wǎng)的PC,在瀏覽器地址欄內(nèi)輸入視頻服務(wù)器的IP地址,就能在網(wǎng)頁(yè)里顯示攝像頭的監(jiān)控圖像如圖2(a)所示??蛻?hù)端在上位機(jī)軟件中輸入10.10.24.2在IP地址欄,客戶(hù)端就能實(shí)現(xiàn)監(jiān)控圖像的播放如圖2(b)所示。

        5 結(jié)束語(yǔ)

        根據(jù)以上監(jiān)控結(jié)果,可進(jìn)一步把基于ARM的視頻監(jiān)控系統(tǒng)設(shè)計(jì)成一體的網(wǎng)絡(luò)攝像頭,可廣泛用于網(wǎng)絡(luò)資源較發(fā)達(dá)的場(chǎng)合,如智能家居中主人對(duì)家庭安全情況的檢測(cè),家長(zhǎng)對(duì)幼兒在幼兒園中情況觀察、無(wú)人值守的重點(diǎn)實(shí)驗(yàn)室、公司對(duì)員工的工作情況的檢查等等??傊?,隨著人們的人們的安全意識(shí)的增強(qiáng),視頻監(jiān)控被廣泛應(yīng)用到各行各業(yè),有著非常廣闊的市場(chǎng)前景。

        圖2 監(jiān)控結(jié)果

        [1] 駱云志,劉治紅.視頻監(jiān)控技術(shù)發(fā)展綜述[J].兵工自動(dòng)化,2009,28(1):1-3.

        [2] 朱弘強(qiáng),朱惠強(qiáng),邵吉.基于雙絞線傳輸?shù)囊曨l監(jiān)控系統(tǒng)[J],計(jì)算機(jī)工程,2008,34(增刊):34-36.

        [3] Advanced Linux Programming [M].First Edition,by Alex Samuel, Jeffrey Oldham and Mark Mitchell, 2001.

        [4] 陳莉君.Linux操作系統(tǒng)內(nèi)核分析[M].北京:人民郵電出版社,2005.

        猜你喜歡
        驅(qū)動(dòng)程序內(nèi)核嵌入式
        萬(wàn)物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
        強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
        基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
        Linux內(nèi)核mmap保護(hù)機(jī)制研究
        搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        Altera加入嵌入式視覺(jué)聯(lián)盟
        倍福 CX8091嵌入式控制器
        驅(qū)動(dòng)程序更新與推薦
        驅(qū)動(dòng)程序更新與推薦
        国产内射一级一片内射高清视频1| 狠狠噜天天噜日日噜| 国产精品福利小视频| 又爽又猛又大又湿的视频| 九一免费一区二区三区偷拍视频 | av成人一区二区三区| 亚洲欧美色一区二区三区| 少妇精品久久久一区二区三区| 九九99久久精品在免费线97| 一级内射免费观看视频| 色欲人妻aaaaaaa无码| 国产乱妇乱子视频在播放 | 国产一女三男3p免费视频| a级福利毛片| 国产偷拍自拍在线观看| 欧美精品色婷婷五月综合| 国产熟妇高潮呻吟喷水| 亚洲国产香蕉视频欧美| 少妇久久一区二区三区| 欧美xxxx做受欧美88| 五十路熟妇高熟无码视频| 国产成人香蕉久久久久| 人妻蜜桃日产一本久道综合在线| av国产传媒精品免费| 亚洲级αv无码毛片久久精品| 精品国产自拍在线视频| 白白色发布的在线视频| 午夜福利试看120秒体验区| 国产在线不卡AV观看| 亚洲精品一区二区三区日韩 | 日本一区二区三区高清在线视频 | 久久久久无码精品国| 在线观看国产激情视频| 麻豆影视视频高清在线观看| 五月天国产精品| 久久2020精品免费网站| 日日摸日日碰人妻无码| 娇妻玩4p被三个男人伺候电影| 人妻丰满熟妇av一区二区| 日韩亚洲一区二区三区四区| 中文字幕在线观看亚洲日韩|