• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于無線C/S模式的嵌入式圖像采集系統(tǒng)設(shè)計(jì)

      2016-11-17 08:56:31李江波馬春庭陳志偉
      關(guān)鍵詞:嵌入式客戶端服務(wù)器

      李江波,馬春庭,楊 帆,陳志偉

      (軍械工程學(xué)院,石家莊 050000)

      ?

      基于無線C/S模式的嵌入式圖像采集系統(tǒng)設(shè)計(jì)

      李江波,馬春庭,楊 帆,陳志偉

      (軍械工程學(xué)院,石家莊 050000)

      為增加視頻監(jiān)控的多樣性,設(shè)計(jì)并實(shí)現(xiàn)了一種基于C/S模式的嵌入式無線視頻監(jiān)控系統(tǒng);該系統(tǒng)以A20-ArmPC一體板作為服務(wù)器,以UVC圖像傳感器作為視頻采集設(shè)備,通過無線網(wǎng)絡(luò)傳輸視頻數(shù)據(jù),最后以PC作為客戶端接收數(shù)據(jù)并予以顯示;結(jié)果證明本設(shè)計(jì)穩(wěn)定可靠,視頻清晰流暢,在視頻監(jiān)控領(lǐng)域具有推廣和使用價(jià)值。

      嵌入式;圖像采集;C/S;A20;UVC;WIFI

      0 引言

      目前視頻監(jiān)控應(yīng)用已經(jīng)滲透到了人們工作和生活的方方面面,被用來收集數(shù)據(jù)和監(jiān)測(cè)可疑人物、事件和行為。但是,傳統(tǒng)的固定式監(jiān)控系統(tǒng)存在主觀性大,有視覺盲區(qū),安全性差,人力成本高等諸多問題,在監(jiān)控的有效性和安全性上不能滿足現(xiàn)代社會(huì)對(duì)監(jiān)控系統(tǒng)日益提高的功能和性能要求[1]。因此研究具有成本低、靈活性強(qiáng)、圖像質(zhì)量高的嵌入式視頻監(jiān)控系統(tǒng)是非常必要的[2]。

      本文設(shè)計(jì)了一種基于無線C/S模式的嵌入式圖像采集系統(tǒng),以嵌入式平臺(tái)作為服務(wù)器將視頻數(shù)據(jù)通過無線網(wǎng)絡(luò)發(fā)送到客戶端進(jìn)行顯示,實(shí)現(xiàn)視頻監(jiān)控的低成本和高靈活性。

      1 系統(tǒng)總體設(shè)計(jì)

      本系統(tǒng)包括基于嵌入式Linux系統(tǒng)的服務(wù)器和基于PC的客戶端[3]兩個(gè)部分,采用C/S設(shè)計(jì)模式(如圖1)。

      圖1 系統(tǒng)結(jié)構(gòu)框圖

      2 服務(wù)器設(shè)計(jì)

      服務(wù)器負(fù)責(zé)采集和發(fā)送MJPEG格式的視頻數(shù)據(jù),以全志雙核A20-ArmPC作為嵌入式平臺(tái),以UVC圖像傳感器OV5640AF作為視頻采集模塊,以USB無線網(wǎng)卡作為無線傳輸模塊,應(yīng)用軟件采用Qt編寫[4-5]。

      2.1 服務(wù)器硬件設(shè)計(jì)

      嵌入式開發(fā)是一項(xiàng)系統(tǒng)工程,嵌入式系統(tǒng)廠商不僅要提供嵌入式軟硬件系統(tǒng)本身,還須提供強(qiáng)大的硬件開發(fā)工具和軟件包支持??紤]到基于ARM Cortex-A7和Mali400mp2 GPU架構(gòu)的全志雙核A20應(yīng)用處理器,成本低、功耗小、性能優(yōu)良,擁有強(qiáng)大視頻處理能力,并且視美泰為A20開發(fā)了完整的應(yīng)用平臺(tái)解決方案ArmPC。A20-ArmPC板卡集多媒體解碼、液晶驅(qū)動(dòng)、WIFI、攝像頭等多功能于一體,支持絕大部分當(dāng)前流行的視頻及圖片格式解碼,雙8位的LVDS驅(qū)動(dòng)可以驅(qū)動(dòng)各種TFT LCD顯示屏?;谝陨咸攸c(diǎn),本設(shè)計(jì)選用A20-ArmPC一體板作為嵌入式平臺(tái)。

      服務(wù)器硬件結(jié)構(gòu)如圖2。

      圖2 服務(wù)器硬件結(jié)構(gòu)圖

      2.1.1 應(yīng)用處理器模塊

      移動(dòng)嵌入式圖像采集系統(tǒng)的服務(wù)器部分核心部件即是應(yīng)用處理器模塊,負(fù)責(zé)視頻數(shù)據(jù)的采集,并經(jīng)WIFI網(wǎng)絡(luò)發(fā)送MJPEG格式的數(shù)據(jù)至客戶端。

      2.1.2 視頻采集模塊

      視頻采集模塊采用CMOS圖像傳感器OV5640AF,由OmniVision公司生產(chǎn),500 W像素,自動(dòng)調(diào)焦,工作電壓低,擁有標(biāo)準(zhǔn)的SCCB接口,支持SXGA、VGA等多種分辨率輸出,適用于嵌入式應(yīng)用。該模塊符合UVC規(guī)格,可直連到A20-ArmPC板的USB接口,能夠輸出MJPEG格式的視頻數(shù)據(jù)。用戶可通過軟件控制圖像質(zhì)量、數(shù)據(jù)格式和傳輸方式。

      2.1.3 無線傳輸模塊

      視頻傳輸采用RT3070-USB型號(hào)的WIFI模塊,可直連到A20-ArmPC板的USB接口,它支持IEEE 802.11b/g/n協(xié)議,WPA2加密,最大速率320 Mbps,能夠滿足視頻傳輸?shù)囊蟆?/p>

      2.2 服務(wù)器軟件設(shè)計(jì)

      服務(wù)器的軟件設(shè)計(jì)包括嵌入式軟件平臺(tái)的搭建以及視頻采集和傳輸程序的設(shè)計(jì)。服務(wù)器的嵌入式操作系統(tǒng)為運(yùn)行其上的應(yīng)用軟件提供平臺(tái),在該平臺(tái)上應(yīng)用軟件將CMOS圖像傳感器發(fā)出的MJPEG格式視頻數(shù)據(jù)接收并做適當(dāng)處理,之后無線發(fā)送至客戶端。

      2.2.1 嵌入式軟件平臺(tái)搭建

      嵌入式操作系統(tǒng)為應(yīng)用程序的運(yùn)行提供系統(tǒng)級(jí)的支持,包括u-boot和Linux系統(tǒng)內(nèi)核的裁剪,以及根文件系統(tǒng)的制作。由于A20-ArmPC板卡廠商已經(jīng)將嵌入式軟件平臺(tái)搭建的詳細(xì)方法隨板卡一起發(fā)布,故而只須根據(jù)說明文檔對(duì)內(nèi)核進(jìn)行適當(dāng)?shù)牟眉?,保留UVC驅(qū)動(dòng)模塊及WIFI驅(qū)動(dòng)模塊,刪除其他功能模塊,最后生成鏡像文件(本文為sun7i_dragonboard_wing-k10x6.img),將其燒寫到板卡上即可。具體方法請(qǐng)看說明文檔,這里不再贅述。

      2.2.2 視頻采集程序設(shè)計(jì)

      視頻采集模塊符合UVC協(xié)議,故而由CMOS圖像傳感器OV5640AF產(chǎn)生的視頻數(shù)據(jù)可以經(jīng)USB接口傳輸至A20-ArmPC板卡,兩者之間通過V4L2[6-7]接口進(jìn)行數(shù)據(jù)與命令的傳輸。

      V4L2(Video4Linux2)是V4L的改進(jìn)版,V4L(Video4Linux)是Linux內(nèi)核中關(guān)于視頻設(shè)備的系統(tǒng)接口,包括Linux內(nèi)核關(guān)于音視頻設(shè)備的驅(qū)動(dòng)架構(gòu)以及在音視頻設(shè)備方面為應(yīng)用程序提供的編程接口(API)。V4L2規(guī)范可以支持多種設(shè)備,是針對(duì)UVC設(shè)備的編程框架,它將所有符合UVC協(xié)議的視頻采集設(shè)備的驅(qū)動(dòng)程序納入管理,通過一系列的回調(diào)函數(shù)來實(shí)現(xiàn)諸如設(shè)置圖像傳感器的分辨率、幀頻、壓縮格式和圖像參數(shù)等功能,也能夠?qū)崿F(xiàn)對(duì)靜態(tài)圖像或者音、視頻數(shù)據(jù)的捕獲。

      V4L2操作簡單來說即是打開設(shè)備,關(guān)閉設(shè)備,以及中間過程的ioctl()操作。使用V4L2接口實(shí)現(xiàn)視頻采集的基本順序如下。

      1)打開設(shè)備:

      使用open()打開/dev下的video設(shè)備文件,本文為/dev/video0。

      2)初始化設(shè)備:

      初始化過程比較復(fù)雜,其中包含了一系列參數(shù)的配置,這部分內(nèi)容網(wǎng)上有詳細(xì)介紹,這里只對(duì)重點(diǎn)部分進(jìn)行簡要描述。

      (1)使用VIDIOC_QUERYCAP命令獲得當(dāng)前設(shè)備的各個(gè)屬性,查看設(shè)備對(duì)各項(xiàng)功能的支持程度。之后根據(jù)應(yīng)用程序的功能要求對(duì)設(shè)備參數(shù)進(jìn)行一系列的設(shè)置。

      (2)獲得設(shè)備對(duì)Image Cropping(圖像的取景范圍)和Scaling(圖片的比例縮放)的支持,這項(xiàng)功能通過VIDIOC_G_CROP和VIDIOC_S_CROP實(shí)現(xiàn)。

      (3)獲得設(shè)備支持的視頻格式并根據(jù)需要進(jìn)行設(shè)置,本文設(shè)置視頻輸出格式為MJPEG。這項(xiàng)功能通過VIDIOC_G_FMT和VIDIOC_S_FMT來實(shí)現(xiàn)。

      注意:在設(shè)備的初始化過程中,第一個(gè)調(diào)用VIDIOC_S_FMT的文件描述符會(huì)打開一個(gè)邏輯流,此時(shí)其他文件描述符對(duì)該設(shè)備的操作是被禁止的。雖然Linux中一個(gè)設(shè)備文件可以被多個(gè)程序打開,但只允許一個(gè)程序與驅(qū)動(dòng)進(jìn)行數(shù)據(jù)交換。

      (4)根據(jù)需要選擇I/O模式

      有兩種模式可供選擇:讀寫模式(Read/Write)和流模式(stream)。讀寫模式需要復(fù)制數(shù)據(jù),耗時(shí)過長,不用。流模式分為兩種方式,一種是內(nèi)存映射方式,這種方式對(duì)視頻數(shù)據(jù)只需要進(jìn)行指針的交換,但是分配緩沖區(qū)時(shí)需要分配真實(shí)的物理內(nèi)存,操作比較麻煩;另一種是用戶空間指針方式,這是一種集合了讀寫模式與內(nèi)存映射方式優(yōu)點(diǎn)的方法,緩沖區(qū)可以由應(yīng)用程序申請(qǐng),也不需要分配真實(shí)的物理內(nèi)存,虛擬內(nèi)存或是共享內(nèi)存都可以做為緩沖區(qū)。

      綜合考慮,本文選擇stream模式下的用戶空間指針方式。這項(xiàng)功能通過VIDIOC_DQBUF和VIDIOC_QBUF實(shí)現(xiàn),對(duì)于采集設(shè)備,當(dāng)輸入隊(duì)列中的buffer充滿數(shù)據(jù)后會(huì)自動(dòng)變?yōu)檩敵鲫?duì)列,等待VIDIOC_DQBUF調(diào)用。當(dāng)buffer內(nèi)的數(shù)據(jù)被取出后重新調(diào)用VIDIOC_QBUF將buffer放進(jìn)輸入隊(duì)列;對(duì)于顯示設(shè)備,buffer內(nèi)的數(shù)據(jù)被取出后自動(dòng)變?yōu)檩敵鲫?duì)列。

      3)采集數(shù)據(jù):

      當(dāng)上述設(shè)備初始化過程完成之后,調(diào)用VIDIOC_QBUF將buffer全部加入輸入隊(duì)列,并調(diào)用VIDIOC_STREAMON開始采集視頻數(shù)據(jù)。

      4)循環(huán)采集數(shù)據(jù):

      采集視頻數(shù)據(jù)開始以后,程序進(jìn)入死循環(huán),一旦有視頻數(shù)據(jù)可讀,則調(diào)用函數(shù)讀取數(shù)據(jù)。本文中以線程的方式實(shí)現(xiàn)該功能,首先從輸出隊(duì)列中取出一個(gè)buffer,判斷是否是應(yīng)用程序申請(qǐng)的buffer,如果是,則讀取buffer內(nèi)的數(shù)據(jù),最后將buffer放回輸入隊(duì)列。

      5)關(guān)閉設(shè)備:

      包括三項(xiàng)內(nèi)容:停止采集視頻數(shù)據(jù)、釋放資源,最后使用close()關(guān)閉/dev下的video設(shè)備文件。

      視頻采集流程如圖3。

      圖3 視頻采集流程圖

      2.2.3 無線傳輸程序設(shè)計(jì)

      視頻數(shù)據(jù)經(jīng)無線網(wǎng)絡(luò)傳輸至客戶端,鑒于WIFI技術(shù)已經(jīng)非常成熟,IEEE 802.11n標(biāo)準(zhǔn)經(jīng)物理層和MAC層的技術(shù)改進(jìn),傳輸速率從54 Mbps提升到320 Mbps。因此本文采用WIFI網(wǎng)絡(luò)進(jìn)行無線傳輸[8-9]。

      服務(wù)器運(yùn)行時(shí),須有一個(gè)線程監(jiān)聽客戶端的連接請(qǐng)求,客戶端通過服務(wù)器的IP地址與設(shè)定的端口號(hào),與服務(wù)器建立Socket連接,而后服務(wù)器將視頻數(shù)據(jù)經(jīng)無線網(wǎng)絡(luò)發(fā)送至客戶端,客戶端從RTP包中取出視頻數(shù)據(jù)進(jìn)行顯示,同時(shí)還可以進(jìn)行回顯、圖像保存等操作,當(dāng)停止監(jiān)控時(shí),客戶端向服務(wù)器發(fā)送斷開連接的命令。

      傳輸過程用到RTP協(xié)議、RTCP協(xié)議、RTSP協(xié)議[10]:

      RTP-實(shí)時(shí)傳輸協(xié)議,建立在UDP之上,使用UDP包傳送數(shù)據(jù)。其優(yōu)勢(shì)在于能夠?yàn)橐曨l數(shù)據(jù)傳輸提供實(shí)時(shí)的技術(shù)支持。

      RTCP-實(shí)時(shí)傳輸控制協(xié)議,能夠?qū)崟r(shí)地根據(jù)當(dāng)前狀況對(duì)傳輸過程進(jìn)行調(diào)控。

      RTSP-實(shí)時(shí)流協(xié)議,位于RTP協(xié)議和RTCP協(xié)議之上,使用TCP和RTP協(xié)議完成數(shù)據(jù)的傳輸。

      無線傳輸流程如圖4。

      圖4 無線傳輸流程圖

      注意:在實(shí)際應(yīng)用中,服務(wù)器和客戶端應(yīng)首先接入WIFI網(wǎng)絡(luò),而當(dāng)前WIFI網(wǎng)絡(luò)普遍使用WPA2加密,故而須運(yùn)用wpa_supplicant工具,修改配置文件wpa_supplicant.conf,在其中添加網(wǎng)絡(luò)SSID和psk密碼,之后運(yùn)行wpa_supplicant命令才能接入WIFI網(wǎng)絡(luò)。

      3 客戶端設(shè)計(jì)

      PC客戶端負(fù)責(zé)接收視頻數(shù)據(jù)進(jìn)行顯示和保存,并與服務(wù)器進(jìn)行命令交互。

      客戶端無線接收程序按照2.2.3節(jié)所述設(shè)計(jì);顯示和保存程序采用自由軟件ffmpeg完成,ffmpeg可以運(yùn)行音頻和視頻多種格式的錄影、轉(zhuǎn)換、流功能,包含libavcodec(音視頻的解碼庫)和libavformat(音視頻的格式轉(zhuǎn)換庫)??蛻舳说目傮w結(jié)構(gòu)如圖5。

      圖5 客戶端結(jié)構(gòu)框圖

      4 硬件實(shí)驗(yàn)結(jié)果

      按照上述方法進(jìn)行設(shè)計(jì),由服務(wù)器采集視頻數(shù)據(jù)經(jīng)無線網(wǎng)絡(luò)發(fā)送至客戶端,服務(wù)器與客戶端能夠同步顯示圖像。

      該程序以4個(gè)按鍵實(shí)現(xiàn)4種功能,分別是:視頻顯示、圖像保存、視頻錄制、視頻無線傳輸。輸出分辨率為640×480,每秒12幀。

      客戶端程序界面以3個(gè)按鍵實(shí)現(xiàn)3種功能,分別是:視頻數(shù)據(jù)接收與顯示、圖像保存、視頻錄制。輸出分辨率為320×240,每秒12幀。

      經(jīng)測(cè)試,在分辨率為640×480的情況下,網(wǎng)絡(luò)通暢時(shí),本系統(tǒng)的平均傳輸速度為8 Mb/s,平均傳輸距離為15米,視頻傳輸清晰流暢;網(wǎng)絡(luò)繁忙時(shí),平均傳輸速度為6 Mb/s,視頻稍有卡頓。而在320×240的分辨率下,無論網(wǎng)絡(luò)繁忙與否,視頻傳輸均能做到清晰流暢。

      通過以上的數(shù)據(jù)分析,本系統(tǒng)客戶端程序設(shè)置接收分辨率為320×240,在此條件下該系統(tǒng)運(yùn)行穩(wěn)定,視頻清晰流暢,能夠滿足日常視頻監(jiān)控要求。

      5 結(jié)束語

      本文以當(dāng)前移動(dòng)視頻監(jiān)控的需求為切入點(diǎn),設(shè)計(jì)并實(shí)現(xiàn)了一種基于C/S模式的嵌入式無線視頻監(jiān)控系統(tǒng),該系統(tǒng)以A20-ArmPC一體板作為服務(wù)器,以UVC圖像傳感器作為視頻采集設(shè)備,通過無線網(wǎng)絡(luò)傳輸視頻數(shù)據(jù),最后以PC作為客戶端接收數(shù)據(jù)并予以顯示。結(jié)果證明本設(shè)計(jì)穩(wěn)定可靠,視頻清晰流暢。以此為基礎(chǔ),在程序中添加特定功能的代碼,可以實(shí)現(xiàn)該系統(tǒng)在視頻監(jiān)控領(lǐng)域的靈活應(yīng)用,具有推廣和使用價(jià)值。

      [1] 吳 群,王 田,王漢武,等. 現(xiàn)代智能視頻監(jiān)控研究綜述[J]. 計(jì)算機(jī)應(yīng)用研究,2016(6):1-7.

      [2] 陳恒鑫,林 威,張欽宇.基于Mjpg-streamer的移動(dòng)視頻監(jiān)控系統(tǒng)設(shè)計(jì)[J]. 計(jì)算機(jī)測(cè)量與控制,2014(11):3597-3599.

      [3] 劉 澤,陳 洋,陳 林. 基于cortexA8的V4L2視頻采集驅(qū)動(dòng)設(shè)計(jì)[J]. 電視技術(shù),2015,23:106-109.

      [4] 張素英,楊鐵梅,葉 牛. 基于B/S架構(gòu)的嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)[J]. 電腦開發(fā)與應(yīng)用,2015(3):13-16.

      [5] 汪 洋,李 垚,黃 魯. 基于Qt和OpenCV的無線視頻監(jiān)控系統(tǒng)[J]. 微型機(jī)與應(yīng)用,2015,10:67-69.

      [6] 董國通,周子健. 基于嵌入式Linux的視頻采集系統(tǒng)設(shè)計(jì)[J]. 儀表技術(shù),2015,11:14-16.

      [7] 衛(wèi)建華,鄧云兵,高 燚,等. 基于ARM的嵌入式視頻采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 現(xiàn)代電子技術(shù),2016(3):30-34.

      [8] 朱 鴿,鄭 杰,肖宇峰. 基于UVC協(xié)議的ROS視頻監(jiān)控系統(tǒng)設(shè)計(jì)[J]. 微型機(jī)與應(yīng)用,2015,19:14-16.

      [9] 葉學(xué)程,鄭 霖. 嵌入式Linux的USB-Chirp無線網(wǎng)卡驅(qū)動(dòng)設(shè)計(jì)[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2014(7):53-56.

      [10] 孫文華,何榮高. 基于USB接口的無線網(wǎng)卡驅(qū)動(dòng)研究與實(shí)現(xiàn)[J]. 微型機(jī)與應(yīng)用,2015,21:9-12.

      Design of Embedded Image Acquisition System Based on Wireless C/S Mode

      Li Jiangbo,Ma Chunting, Yang Fan,Chen Zhiwei

      (Ordnance Engineering College,Shijiazhuang 050000,China)

      To increase the variety of video surveillance, an embedded image acquisition system is designed and realized based on wireless C/S mode. This system chooses A20-ArmPC as a sever, and selects UVC image sensor as a video capture device, then transmits video data through wireless network. Finally, the system chooses PC as a customer to receive video data and display. The practice proofs that the operation of the system is stable and reliable, wireless video transmission is clear and smooth. The system possesses certain value on the spreading and use in the field of video surveillance.

      embedded system; image acquisition; C/S; A20; UVC; WIFI

      2016-04-18;

      2016-05-24。

      李江波(1985-),男,山東萊州人,碩士研究生,助理工程師,主要從事嵌入式系統(tǒng)方向的研究。

      1671-4598(2016)09-0261-03

      10.16526/j.cnki.11-4762/tp.2016.09.073

      TP3

      A

      猜你喜歡
      嵌入式客戶端服務(wù)器
      通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
      縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
      孵化垂直頻道:新聞客戶端新策略
      基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
      搭建基于Qt的嵌入式開發(fā)平臺(tái)
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
      得形忘意的服務(wù)器標(biāo)準(zhǔn)
      計(jì)算機(jī)網(wǎng)絡(luò)安全服務(wù)器入侵與防御
      Altera加入嵌入式視覺聯(lián)盟
      倍福 CX8091嵌入式控制器
      旬阳县| 余干县| 阿坝县| 河津市| 正镶白旗| 博兴县| 化州市| 张家口市| 德惠市| 洛阳市| 平利县| 县级市| 永靖县| 毕节市| 金塔县| 陕西省| 无锡市| 盐城市| 兴城市| 清水河县| 安国市| 贺兰县| 神农架林区| 新竹市| 阿克陶县| 麟游县| 罗甸县| 都昌县| 闻喜县| 广东省| 北海市| 荆州市| 中牟县| 靖江市| 格尔木市| 木兰县| 红河县| 芜湖市| 宜川县| 蚌埠市| 宁南县|