国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于ARM9和V4L2接口的嵌入式視頻采集系統(tǒng)的制作方法

      文檔序號(hào):11710202閱讀:262來(lái)源:國(guó)知局
      基于ARM9和V4L2接口的嵌入式視頻采集系統(tǒng)的制作方法與工藝

      本發(fā)明屬于交通視頻采集處理領(lǐng)域,具體來(lái)說(shuō)是一種基于arm9單片機(jī)和v4l2接口的嵌入式視頻采集系統(tǒng)。



      背景技術(shù):

      隨著社會(huì)文明的發(fā)展、科學(xué)技術(shù)的進(jìn)步,信息日益成為一種比傳統(tǒng)能源更為重要的資源,信息將會(huì)促進(jìn)人類社會(huì)的進(jìn)一步發(fā)展。日常生活中,人們通過(guò)感官?gòu)耐饨绺兄母鞣N信息中,約有78%是來(lái)自視覺(jué)??梢?jiàn)圖像在我們的日常生活中扮演著很重要的角色。視覺(jué)的感覺(jué)是最直接最立體的,而交通視頻監(jiān)控系統(tǒng)作為一種獲取圖像信息的工具,可以滿足交通管理部門對(duì)獲取圖像信息的需求。但目前交通視頻采集應(yīng)用中存在的問(wèn)題如下:交通視頻的采集與傳輸各自獨(dú)立,集成度不高。最為典型的就是前端交通監(jiān)控設(shè)備僅負(fù)責(zé)道路交通車輛的拍攝與取證,由人工定時(shí)更換存儲(chǔ)交通視頻圖像的磁盤,因而現(xiàn)有交通數(shù)據(jù)采集系統(tǒng)急需換代升級(jí),以滿足交通大數(shù)據(jù)的采集、傳輸與存儲(chǔ)的日益增長(zhǎng)的迫切需要。從系統(tǒng)的組成上分析,合理的應(yīng)用就是將前端嵌入式視頻采集集成到現(xiàn)有交通監(jiān)控設(shè)備中,由后端服務(wù)器系統(tǒng)負(fù)責(zé)交通視頻圖像管理或者監(jiān)控其他設(shè)備。基于前端的嵌入式交通視頻采集系統(tǒng)是一種由軟硬件相組合的產(chǎn)品,通常由操作系統(tǒng)、應(yīng)用程序、外圍硬件設(shè)備以及嵌入式微處理器板卡等四個(gè)部分組成,盡管外圍硬件設(shè)備可以依托現(xiàn)有前端交通監(jiān)控設(shè)備進(jìn)行升級(jí)與改造,但由于嵌入式技術(shù)的集成度與復(fù)雜度較高,其中還涉及交通視頻大數(shù)據(jù)的實(shí)時(shí)傳輸,仍然需要借助輔助工具對(duì)其進(jìn)行深入開發(fā),才可以使得系統(tǒng)具備相應(yīng)功能。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明提出一種以arm9s3c2440嵌入式微處理器為核心硬件平臺(tái)的嵌入式交通視頻采集系統(tǒng),針對(duì)當(dāng)前的交通大數(shù)據(jù)背景下交通監(jiān)控設(shè)備的視頻采集需求,通過(guò)usb攝像頭采集到現(xiàn)場(chǎng)交通視頻圖像數(shù)據(jù),經(jīng)由集成arm微處理器的專用交通視頻采集卡進(jìn)行實(shí)時(shí)數(shù)據(jù)處理,然后基于傳輸控制協(xié)議,通過(guò)網(wǎng)絡(luò)將交通視頻圖像數(shù)據(jù)傳輸?shù)阶鳛闉g覽器客戶端的計(jì)算機(jī)或移動(dòng)終端上,最后通過(guò)訪問(wèn)瀏覽器客戶端可以實(shí)時(shí)顯示采集到的交通視頻圖像。

      具體來(lái)說(shuō),本發(fā)明采用了以下技術(shù)方案:

      一種基于arm9和v4l2接口的嵌入式視頻采集系統(tǒng),包括瀏覽器客戶端、集成arm微處理器的專用交通視頻采集卡及攝像元件,其特征在于,根據(jù)視頻采集需求,通過(guò)攝像元件采集到現(xiàn)場(chǎng)交通視頻圖像數(shù)據(jù),集成arm微處理器的專用交通視頻采集卡讀取圖像并進(jìn)行實(shí)時(shí)數(shù)據(jù)處理,然后基于傳輸控制協(xié)議通過(guò)網(wǎng)絡(luò)將處理過(guò)的交通視頻圖像數(shù)據(jù)傳輸?shù)綖g覽器客戶端,最后通過(guò)訪問(wèn)瀏覽器客戶端來(lái)實(shí)時(shí)顯示采集到的交通視頻圖像,其中視頻采集卡上建立視頻服務(wù)器,視頻服務(wù)器包含應(yīng)用模塊、數(shù)據(jù)處理模塊、驅(qū)動(dòng)模塊及攝像頭連接模塊,攝像頭連接模塊負(fù)責(zé)與攝像元件連接,驅(qū)動(dòng)模塊包含v4l2驅(qū)動(dòng)并通過(guò)v4l2驅(qū)動(dòng)接口調(diào)用攝像元件來(lái)進(jìn)行視頻采集,數(shù)據(jù)處理模塊通過(guò)獲取和控制驅(qū)動(dòng)程序得到視頻源,然后再將視頻頻幀進(jìn)行圖像編碼,應(yīng)用模塊遵循h(huán)ttp協(xié)議,將視頻圖像數(shù)據(jù)的安卓標(biāo)準(zhǔn)格式發(fā)送給web瀏覽器。

      優(yōu)選地所述攝像元件為usb攝像頭。

      優(yōu)選地,通過(guò)v4l2驅(qū)動(dòng)接口調(diào)用攝像元件采集視頻包括:打開攝像頭并獲取攝像頭的參數(shù),然后設(shè)置攝像頭的參數(shù)與圖像的屬性信息,將分配給攝像頭的內(nèi)存空間釋放,從攝像頭直接讀取并以映射方式存儲(chǔ)到內(nèi)存。

      另外優(yōu)選地,將視頻頻幀進(jìn)行圖像編碼包括:將通過(guò)v4l2驅(qū)動(dòng)接口獲取的mjpeg格式的圖像轉(zhuǎn)換成jpeg格式。進(jìn)一步,將mjpeg格式的圖像轉(zhuǎn)換成jpeg格式包括在mjpeg圖像幀開始標(biāo)志的0xffc0之前插入哈夫曼表,然后進(jìn)行其它操作。

      在另一個(gè)優(yōu)選實(shí)施方案中,視頻采集卡所采集的交通視頻圖像數(shù)據(jù)傳輸給瀏覽器客戶端包括:在瀏覽器客戶端與視頻采集卡之間建立服務(wù)器鏈接,用戶通過(guò)瀏覽器客戶端給視頻采集卡上的視頻服務(wù)器發(fā)送請(qǐng)求,服務(wù)器通過(guò)監(jiān)聽(tīng)來(lái)自瀏覽器客戶端的請(qǐng)求,并解析瀏覽器的請(qǐng)求,如果數(shù)據(jù)請(qǐng)求正確,則服務(wù)器響應(yīng)客戶端請(qǐng)求,把通過(guò)v4l2驅(qū)動(dòng)接口采集到的視頻數(shù)據(jù)映射到內(nèi)存中,然后把數(shù)據(jù)按http協(xié)議格式封裝視頻數(shù)據(jù)并將響應(yīng)傳送給瀏覽器,由瀏覽器顯示交通視頻。

      進(jìn)一步,服務(wù)器監(jiān)聽(tīng)接收瀏覽器客戶端的請(qǐng)求包括:首先為服務(wù)器打開socket端口;設(shè)置socket端口的參數(shù),為防止socket端口沖突,忽略socket已經(jīng)使用;配置服務(wù)器地址,設(shè)置地址類型、服務(wù)端口、地址,并且通過(guò)相應(yīng)函數(shù)將其綁定;服務(wù)器通過(guò)調(diào)用相關(guān)函數(shù)監(jiān)聽(tīng)客戶端的socket端口;接收并創(chuàng)建子線程做相應(yīng)處理。

      更進(jìn)一步,解析瀏覽器的請(qǐng)求包括:通過(guò)接受瀏覽器發(fā)送過(guò)來(lái)的數(shù)據(jù)流,由讀取函數(shù)逐行讀取數(shù)據(jù),對(duì)數(shù)據(jù)的解析按照http中的格式解析進(jìn)行,判斷請(qǐng)求類型是否為stream視頻流類型。

      再進(jìn)一步,響應(yīng)客戶端請(qǐng)求包括:在解析到瀏覽器的請(qǐng)求數(shù)據(jù)類型是視頻流類型后,在緩沖區(qū)首先設(shè)置http響應(yīng)頭,當(dāng)讀取到全局標(biāo)志pglobal->stop為1時(shí),則說(shuō)明視頻采集的一幀數(shù)據(jù)結(jié)束,然后將獲取視頻數(shù)據(jù)也存在緩沖區(qū)中,接著設(shè)置好http響應(yīng)幀為未設(shè)置的數(shù)據(jù),封裝好后發(fā)送給瀏覽器。

      本發(fā)明公開了一個(gè)基于arm9單片機(jī)和v4l2接口的嵌入式交通視頻采集系統(tǒng)。針對(duì)目前交通視頻大數(shù)據(jù)的實(shí)時(shí)數(shù)據(jù)采集與傳輸所面臨的集成度不高、數(shù)據(jù)傳輸效率低的突出問(wèn)題,使用嵌入式arm9處理器和現(xiàn)有交通監(jiān)控?cái)z像頭來(lái)構(gòu)建硬件系統(tǒng)。通過(guò)搭建交叉編譯環(huán)境、nfs服務(wù)器、移植內(nèi)核、制作根文件系統(tǒng)等來(lái)搭建嵌入式軟件開發(fā)環(huán)境。交通視頻服務(wù)器由視頻圖像的采集與傳輸組成。交通視頻圖像采集是通過(guò)編寫視頻采集驅(qū)動(dòng)調(diào)用v4l2接口來(lái)實(shí)現(xiàn)的,中間涉及哈夫曼編碼以及jpeg圖像壓縮。通過(guò)配置arm9的通信網(wǎng)絡(luò),使得交通視頻服務(wù)器能夠在專用局域網(wǎng)內(nèi)以及互聯(lián)網(wǎng)上均可以正常工作。該系統(tǒng)在終端計(jì)算機(jī)瀏覽器和手機(jī)瀏覽器上均都可以訪問(wèn),并且能夠觀測(cè)到較為流暢的實(shí)時(shí)交通視頻監(jiān)控。系統(tǒng)總體上采用b/s架構(gòu)進(jìn)行設(shè)計(jì),由于采用模塊化的設(shè)計(jì)方法,使得系統(tǒng)的部署與執(zhí)行更加簡(jiǎn)潔、高效,且具備較高的擴(kuò)展性和易用性的特點(diǎn)。針對(duì)目前交通視頻的采集與傳輸各自獨(dú)立,將視頻圖像的采集和數(shù)據(jù)的傳輸功能集成到一個(gè)體積非常小的板卡設(shè)備里,并且采用jpeg圖片壓縮技術(shù),使得視頻圖像的傳輸效率大為提高,增強(qiáng)了系統(tǒng)的穩(wěn)定性與實(shí)時(shí)性。該發(fā)明主要解決了目前交通視頻采集應(yīng)用中存在的兩個(gè)主要問(wèn)題:1)交通視頻的采集與傳輸各自獨(dú)立,系統(tǒng)集成度不高的問(wèn)題;2)交通視頻圖像的數(shù)據(jù)采集分散,實(shí)時(shí)連通后端服務(wù)器性能不足的問(wèn)題。

      附圖說(shuō)明

      圖1為本發(fā)明開發(fā)的交通視頻采集系統(tǒng)的軟件架構(gòu)圖;

      圖2是本發(fā)明系統(tǒng)中專用交通視頻采集卡復(fù)位系統(tǒng)電路圖;

      圖3是專用交通視頻采集卡網(wǎng)絡(luò)接口電路圖;

      圖4是專用交通視頻采集卡usb接口電路的一個(gè)實(shí)施例;

      圖5是專用交通視頻采集卡usb接口電路的另一個(gè)實(shí)施例;

      圖6是根文件系統(tǒng)基本目錄的構(gòu)建;

      圖7為燒寫u-boot時(shí)的dnw與bios界面;

      圖8為燒寫內(nèi)核界面;

      圖9為燒寫根文件系統(tǒng)界面;

      圖10為com口配置示意圖;

      圖11為端口配置圖;

      圖12為網(wǎng)絡(luò)配置圖;

      圖13為命令輸入圖。

      具體實(shí)施方式

      在當(dāng)前的交通大數(shù)據(jù)背景下,交通信息采集與處理系統(tǒng)的開發(fā)離不開計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,當(dāng)前嵌入式交通信息處理設(shè)備對(duì)各種網(wǎng)絡(luò)協(xié)議如http協(xié)議和tcp/ip協(xié)議的支持也越來(lái)越普及。很多嵌入式交通信息處理設(shè)備都可以通過(guò)無(wú)線或有線鏈接網(wǎng)絡(luò),目前的嵌入式交通信息處理設(shè)備對(duì)于多媒體的支持也是越來(lái)越普及。隨著當(dāng)今智慧城市與交通大數(shù)據(jù)的發(fā)展,以及手持交通檢測(cè)設(shè)備支持wifi上網(wǎng)的產(chǎn)品越來(lái)越多,交通管理部門對(duì)一種結(jié)合嵌入式圖像處理與網(wǎng)絡(luò)設(shè)備的產(chǎn)品的需求也日益增加,最終基于這些前端設(shè)備采集到實(shí)時(shí)的交通視頻圖像大數(shù)據(jù),并經(jīng)過(guò)網(wǎng)絡(luò)將交通視頻圖像信息傳輸?shù)胶蠖诉M(jìn)行管理與監(jiān)控的需求也日益迫切?;赼rm嵌入式交通視頻采集與處理具有穩(wěn)定性高、實(shí)時(shí)性強(qiáng)、訪問(wèn)方式多等優(yōu)點(diǎn)。另外,由于可以和手持設(shè)備相結(jié)合,從而可以在交通大數(shù)據(jù)處理領(lǐng)域得到很大的發(fā)展。目前arm處理器主要包括以下幾個(gè)系列的處理器產(chǎn)品:arm7系列、arm9系列、arm9e系列、arml0系列。arm7和arm9是目前arm處理器中使用較廣泛的,并且是技術(shù)成熟的兩大系列arm處理器芯片。對(duì)比來(lái)說(shuō),arm9系列微處理器主要應(yīng)用于無(wú)線設(shè)備、安防系統(tǒng)、打印機(jī)、車載電子設(shè)備、機(jī)頂盒和數(shù)字?jǐn)z像機(jī)等。本發(fā)明設(shè)計(jì)的交通視頻采集卡所用處理器便是以arm9單片機(jī)為核心處理器。所用arm9s3c2440微處理器的內(nèi)核arm920t芯片具有低功耗、高性能、體積小和接口豐富等優(yōu)點(diǎn)。

      本發(fā)明開發(fā)出了一種基于arm9單片機(jī)和v4l2接口的嵌入式交通視頻采集系統(tǒng),設(shè)計(jì)的嵌入式交通視頻采集系統(tǒng)主要具備交通視頻圖像采集的功能、視頻圖像的傳輸功能、視頻圖像信息顯示這三大功能。在硬件的設(shè)計(jì)上,在現(xiàn)有前端交通監(jiān)控設(shè)備或手持式移動(dòng)設(shè)備上嵌入專用的交通視頻采集卡,通過(guò)網(wǎng)絡(luò)連通后端系統(tǒng)并實(shí)時(shí)傳輸交通視頻圖像數(shù)據(jù)。在軟件的設(shè)計(jì)架構(gòu)上主要通過(guò)設(shè)計(jì)與執(zhí)行相應(yīng)嵌入式系統(tǒng)程序來(lái)實(shí)現(xiàn)交通視頻的采集、傳輸與監(jiān)控功能。基于arm9單片機(jī)和v4l2接口的嵌入式交通視頻采集系統(tǒng)有如下四個(gè)特點(diǎn):

      (1)可控范圍較廣:其監(jiān)控設(shè)備可直接接到網(wǎng)絡(luò),并且不受線纜長(zhǎng)短的限制,通過(guò)全球統(tǒng)一的網(wǎng)絡(luò)協(xié)議在互聯(lián)網(wǎng)上進(jìn)行有效傳輸,同時(shí),在移動(dòng)終端與后端服務(wù)器上都能正常地訪問(wèn)本系統(tǒng)。

      (2)系統(tǒng)具有較強(qiáng)的擴(kuò)展性:除可擴(kuò)展交通監(jiān)控設(shè)備外,還可以擴(kuò)展web上的各種功能,例如交通視頻截屏、實(shí)時(shí)存儲(chǔ)等功能。

      (3)該系統(tǒng)實(shí)時(shí)性、穩(wěn)定性高:本質(zhì)上,基于arm9單片機(jī)的交通視頻監(jiān)控是以計(jì)算機(jī)技術(shù)為核心、采取linux多任務(wù)特性的操作系統(tǒng),將視頻圖像的采集功能和處理數(shù)據(jù)的功能都集成到一個(gè)體積非常小的設(shè)備里面。采用jpeg圖片壓縮,使得交通視頻圖像的傳輸效率大幅提高,從而有效增加系統(tǒng)整體的穩(wěn)定性與實(shí)時(shí)性。

      (4)實(shí)用性強(qiáng):體現(xiàn)在系統(tǒng)部署簡(jiǎn)單,系統(tǒng)一旦經(jīng)過(guò)部署完成后,廣大交通管理部門的非計(jì)算機(jī)專用人員均可以方便操作使用。

      本發(fā)明提出的以arm9s3c2440嵌入式微處理器為核心硬件平臺(tái)的嵌入式交通視頻采集系統(tǒng),針對(duì)當(dāng)前的交通大數(shù)據(jù)背景下交通監(jiān)控設(shè)備的視頻采集需求,通過(guò)usb攝像頭采集到現(xiàn)場(chǎng)交通視頻圖像數(shù)據(jù),經(jīng)由集成arm微處理器的專用交通視頻采集卡進(jìn)行實(shí)時(shí)數(shù)據(jù)處理,然后基于傳輸控制協(xié)議,通過(guò)網(wǎng)絡(luò)將交通視頻圖像數(shù)據(jù)傳輸?shù)阶鳛闉g覽器客戶端的計(jì)算機(jī)或移動(dòng)終端上,最后通過(guò)訪問(wèn)瀏覽器客戶端可以實(shí)時(shí)顯示采集到的交通視頻圖像。本發(fā)明的設(shè)計(jì)主要涉及如下內(nèi)容:(1)連接交通視頻采集系統(tǒng)的硬件平臺(tái);(2)交叉編譯環(huán)境構(gòu)建,通過(guò)nfs服務(wù)器、移植內(nèi)核、制作根文件系統(tǒng)等來(lái)搭建嵌入式軟件開發(fā)環(huán)境;(3)基于v4l2接口的視頻圖像采集驅(qū)動(dòng),以及圖像的壓縮與編碼技術(shù);(4)基于傳輸控制協(xié)議tcp流程,以及http協(xié)議傳輸交通視頻圖像;(5)后端web頁(yè)面的開發(fā),實(shí)時(shí)顯示交通視頻數(shù)據(jù)。

      下面對(duì)本發(fā)明的設(shè)計(jì)進(jìn)行進(jìn)一步的說(shuō)明。

      1.linux系統(tǒng)中的數(shù)據(jù)傳輸技術(shù)與v4l2接口設(shè)置

      video4linux2(以下簡(jiǎn)稱v4l2)是linux系統(tǒng)中用以開發(fā)與訪問(wèn)監(jiān)控系統(tǒng)的內(nèi)核驅(qū)動(dòng)接口,并且為上層應(yīng)用訪問(wèn)交通視頻設(shè)備提供統(tǒng)一的接口。內(nèi)核中的子系統(tǒng)都有抽象底層硬件的差異,為應(yīng)用層提供可以提取出公共代碼的可靠接口,接口可以避免代碼冗長(zhǎng)、降低開發(fā)周期、并且提高軟件可靠性。通過(guò)回調(diào)函數(shù)以設(shè)置usb攝像頭的幀頻和視頻圖像的參數(shù)等信息。以下內(nèi)容主要描述通過(guò)usb攝像頭如何調(diào)用v4l2接口來(lái)進(jìn)行視頻圖像采集。

      1.1v4l2接口的使用說(shuō)明

      首先需要將攝像頭中的數(shù)據(jù)獲取出來(lái),封裝結(jié)構(gòu)體來(lái)描述攝像頭的具體的信息,采集視頻圖像的大小,采集視頻圖像的格式等信息。

      1.2v4l2接口的初始化

      (1)打開攝像頭;(2)獲取攝像頭的參數(shù);(3)設(shè)置攝像頭的參數(shù)與圖像的屬性信息;(4)將分配給usb攝像頭的內(nèi)存空間釋放,關(guān)閉攝像頭設(shè)備。

      1.3通過(guò)v4l2接口讀取圖像數(shù)據(jù)

      從usb攝像頭上獲取數(shù)據(jù)是實(shí)現(xiàn)交通視頻監(jiān)控的重要前提。linux系統(tǒng)所支持的直接讀取和內(nèi)存映射方式可以方便快捷的進(jìn)行數(shù)據(jù)的傳輸并提高效率。

      2交通視頻圖像傳輸技術(shù)

      目前,絕大部分的交通監(jiān)控?cái)z像頭都是以mjpeg/yuv的格式來(lái)輸出視頻。利用v4l2接口直接采集到的數(shù)據(jù)幀為mjpeg的格式。但是最終給網(wǎng)絡(luò)瀏覽器發(fā)送的是jpeg格式的圖像,所以需要把mjpeg的格式轉(zhuǎn)換成jpeg的格式。本系統(tǒng)采用的設(shè)計(jì)方法相對(duì)簡(jiǎn)單,需要在mjpeg圖像幀開始標(biāo)志的0xffc0之前插入哈夫曼表,從而進(jìn)行后續(xù)流程操作。通過(guò)視頻采集卡獲取交通視頻數(shù)據(jù),建立服務(wù)器鏈接使用戶通過(guò)瀏覽器給專用視頻采集卡上的視頻服務(wù)器發(fā)送請(qǐng)求,服務(wù)器通過(guò)監(jiān)聽(tīng)來(lái)自瀏覽器的請(qǐng)求,并解析瀏覽器的請(qǐng)求,從而做出相應(yīng)處理。如果數(shù)據(jù)請(qǐng)求正確,服務(wù)器通過(guò)把視頻驅(qū)動(dòng)采集的視頻數(shù)據(jù)映射到內(nèi)存中,然后把數(shù)據(jù)按照http協(xié)議格式封裝視頻數(shù)據(jù)并將響應(yīng)傳送給瀏覽器,由瀏覽器負(fù)責(zé)將交通視頻及時(shí)顯示,以達(dá)到在后端進(jìn)行實(shí)時(shí)交通監(jiān)控的目的。下面進(jìn)一步詳細(xì)說(shuō)明具體的傳輸流程如下。

      2.1接收客戶端請(qǐng)求

      (1)先為服務(wù)器打開socket端口;

      (2)設(shè)置socket端口的參數(shù),為防止socket端口沖突,忽略socket已經(jīng)使用;

      (3)配置服務(wù)器地址,設(shè)置地址類型、服務(wù)端口、地址,并且通過(guò)相應(yīng)函數(shù)將其綁定;

      (4)服務(wù)器通過(guò)調(diào)用相關(guān)函數(shù)監(jiān)聽(tīng)客戶端的socket端口;

      (5)接收并創(chuàng)建子線程做相應(yīng)處理。

      2.2解析請(qǐng)求

      通過(guò)接受瀏覽器發(fā)送過(guò)來(lái)的數(shù)據(jù)流,由讀取函數(shù)逐行讀取數(shù)據(jù),對(duì)數(shù)據(jù)的解析按照http中的格式解析進(jìn)行,判斷請(qǐng)求類型是否為stream視頻流類型。

      2.3響應(yīng)客戶端請(qǐng)求

      在解析到瀏覽器的請(qǐng)求數(shù)據(jù)類型是視頻流類型后,在緩沖區(qū)中首先設(shè)置http響應(yīng)頭。當(dāng)讀取到全局標(biāo)志pglobal->stop為1時(shí),則說(shuō)明視頻采集的一幀數(shù)據(jù)結(jié)束,然后將獲取視頻數(shù)據(jù)也存在緩沖區(qū)中,接著設(shè)置好http響應(yīng)幀為未設(shè)置的數(shù)據(jù),封裝好后發(fā)送給瀏覽器。

      3交通視頻采集系統(tǒng)的架構(gòu)設(shè)計(jì)

      通過(guò)構(gòu)建視頻服務(wù)器與web瀏覽器來(lái)完成對(duì)交通視頻的監(jiān)控。如圖1所示,服務(wù)器端分為應(yīng)用層、數(shù)據(jù)處理層、驅(qū)動(dòng)層、硬件層,具體組成如下:

      1)應(yīng)用層:遵循h(huán)ttp協(xié)議,將視頻圖像數(shù)據(jù)的安卓標(biāo)準(zhǔn)格式發(fā)送給web瀏覽器;

      2)數(shù)據(jù)處理層:通過(guò)獲取和控制驅(qū)動(dòng)程序得到視頻源,然后再將視頻幀進(jìn)行圖像編碼;

      3)驅(qū)動(dòng)層:編寫v4l2驅(qū)動(dòng)通過(guò)調(diào)用usb攝像頭來(lái)進(jìn)行視頻采集;

      4)硬件層:負(fù)責(zé)與usb攝像頭連接。

      本發(fā)明設(shè)計(jì)的交通視頻采集卡采用arm9s3c2440為微處理器,同時(shí)集成穩(wěn)定的cpu內(nèi)核電源芯片、實(shí)時(shí)時(shí)鐘芯片、復(fù)位芯片等來(lái)確保linux系統(tǒng)運(yùn)行時(shí)的高穩(wěn)定性。其內(nèi)核為arm920t芯片,最高時(shí)鐘頻率為533mhz,采用298引腳的bga封裝。專用交通視頻采集卡采用專業(yè)的復(fù)位芯片來(lái)實(shí)現(xiàn)cpu所需要的低電平復(fù)位,具體復(fù)位電路見(jiàn)圖2所示。

      3.1網(wǎng)絡(luò)接口

      交通視頻采集卡采用dm9000的網(wǎng)卡芯片,如圖3所示,它可以通過(guò)外接的網(wǎng)絡(luò)接口來(lái)自適應(yīng)10/100m網(wǎng)絡(luò)。

      3.2usb接口

      交通視頻采集卡由兩種usb接口組成,如圖4和圖5所示,其中一種是usbhost接口電路,它可以用來(lái)連接各種外設(shè)比如u盤等,另外一種是usbslave接口電路。

      下面進(jìn)一步通過(guò)具體實(shí)施例來(lái)對(duì)本發(fā)明的方案進(jìn)行展示。

      1嵌入式系統(tǒng)開發(fā)環(huán)境的搭建

      1.1安裝交叉編譯器

      嵌入式系統(tǒng)在一個(gè)交叉編譯環(huán)境上來(lái)進(jìn)行軟件編譯。執(zhí)行時(shí)在嵌入式平臺(tái),而編譯時(shí)便是在宿主機(jī)。在宿主機(jī)上使用交叉編譯器來(lái)編譯源文件,然后通過(guò)串口或網(wǎng)絡(luò)將其下載,最后執(zhí)行該軟件。以下詳細(xì)描述如何安裝交叉編譯器的過(guò)程:

      1)首先下載arm-linux-gcc-4.3.2.tar到指定目錄下;2)然后打開終端運(yùn)行#tar-zxvfarm-linux-gcc-4.3.2.tar,將其解壓;3)修改環(huán)境變量,即將path添加到交叉編譯器的路徑下;4)立即讓新的環(huán)境變量開始生效;5)檢查是否已經(jīng)將路徑添加到path下面。

      1.2nfs服務(wù)端的建立

      networkfilesystem實(shí)現(xiàn)不同操作系統(tǒng)和不同的機(jī)器之間的資源共享,是類unix系統(tǒng)之間實(shí)現(xiàn)文件共享的一種方式。在信息或者文件的傳輸過(guò)程中,依賴于rpc(remoteprocedurecall)協(xié)議。

      1.3內(nèi)核移植

      (1)下載內(nèi)核源碼;(2)解壓內(nèi)核源碼;(3)修改交叉編譯變量;(4)拷貝一份mach-smdk2440.c源文件,將其重命名為mach-min40.c;(5)修改內(nèi)核的時(shí)鐘頻率;(6)將mach-mini2440.c中smdk2440全部替換成mini2440,同時(shí)注釋掉smdk_machine_init()函數(shù);(7)修改nand的分區(qū)信息;(8)修改機(jī)器碼;(9)配置內(nèi)核。

      1.4根文件系統(tǒng)的制作

      1.4.1構(gòu)建基本的目錄

      構(gòu)建根文件系統(tǒng)的基本目錄root、etc、usr、dev、mnt、var等,如圖6所示。

      1.4.2busybox構(gòu)建可執(zhí)行程序包

      (1)下載源碼包busybox-1.13.3.tar.gz;(2)解壓后進(jìn)入目錄,運(yùn)行命令makemenuconfig;(3)修改makefile。

      1.4.3修改與添加系統(tǒng)初始化腳本

      目前已經(jīng)構(gòu)建好一個(gè)根文件系統(tǒng)所需要的目錄結(jié)構(gòu),通過(guò)busybox也包含了linux系統(tǒng)下的常用命令。接下來(lái)是配置一些重要的系統(tǒng)文件。主要有以下幾個(gè)操作:(1)為系統(tǒng)進(jìn)程配置文件;(2)開始啟動(dòng)加載項(xiàng)的文件;(3)掛載文件系統(tǒng);(4)修改用戶的環(huán)境配置的文件;(5)拷貝主機(jī)密碼到/etc文件下;(6)新建主機(jī)的文件名,使之內(nèi)容為“mini2440”。

      1.4.4nfs文件系統(tǒng)測(cè)試

      利用u-boot來(lái)引導(dǎo)內(nèi)核的啟動(dòng),進(jìn)入終端則證明已經(jīng)啟動(dòng)成功。已經(jīng)制作好的根文件系統(tǒng),只存在于主機(jī)上,僅可以通過(guò)nfs掛載。

      2登陸系統(tǒng)

      上述基于arm9單片機(jī)和v4l2接口的嵌入式交通視頻采集系統(tǒng)已經(jīng)基本描述完成?,F(xiàn)在檢測(cè)系統(tǒng)運(yùn)行的實(shí)際情況,將系統(tǒng)進(jìn)行部署與測(cè)試。部署分為實(shí)物連接和軟件部署。先把本系統(tǒng)所涉及到的硬件設(shè)備正確的連接,然后在arm9上部署linux系統(tǒng),接著把交通視頻服務(wù)器放到linux上運(yùn)行。通過(guò)協(xié)調(diào)軟硬件,最終在終端電腦和手機(jī)上都能夠?qū)崟r(shí)采集和監(jiān)控交通視頻。系統(tǒng)涉及到的硬件設(shè)備:專用交通視頻采集卡、網(wǎng)線、usb轉(zhuǎn)串口(作為調(diào)試接口)、鼠標(biāo)。

      3軟件部署

      先安裝usb轉(zhuǎn)串口驅(qū)動(dòng),使pc超級(jí)終端能夠與arm系統(tǒng)進(jìn)行通訊,用來(lái)調(diào)試系統(tǒng);然后安裝usb下載驅(qū)動(dòng),下載u-boot、內(nèi)核、根文件系統(tǒng)到專用交通視頻采集卡。之后搭建虛擬機(jī)linux的nfs,使虛擬機(jī)linux與armlinux系統(tǒng)文件共享。

      3.1燒寫u-boot

      將專用交通視頻采集卡開關(guān)設(shè)置為norflash啟動(dòng)。連接好連接線,打開超級(jí)終端并打開電源,燒寫u-boot。串口顯示如圖7所示:選擇功能號(hào)[f]格式化nandflash,然后選擇功能號(hào)[v]。打開dnw保證usb連接正常ok,然后點(diǎn)擊usbport/transmit/restore,之后選擇編譯的u-boot.bin。

      3.2燒寫內(nèi)核

      在串口中輸入選擇功能號(hào)[k],開始下載linux內(nèi)核image。打開dnw,保證usb連接正常ok,然后點(diǎn)擊usbport/transmit/restore,最后選擇編譯的image,下載和燒寫過(guò)程結(jié)束。如圖8所示:image下載完畢后,bios會(huì)自動(dòng)將image燒寫到nandflash分區(qū)中。

      3.3燒寫根文件系統(tǒng)

      (1)在串口中輸入選擇功能號(hào)[k],開始下載根文件系統(tǒng);(2)打開dnw,確認(rèn)usb連接正常ok,如圖9所示:點(diǎn)擊usbport/transmit/restore,選擇之前的根文件系統(tǒng)。

      3.4下載應(yīng)用程序

      armlinux將/mt目錄掛載到虛擬機(jī)linux/share目錄下,通過(guò)把mjpg.tar.gz解壓,運(yùn)行視頻服務(wù)器腳本文件。

      4系統(tǒng)運(yùn)行

      4.1串口連接

      usb串口線連接專用交通視頻采集卡與pc。確保已經(jīng)安裝完usb轉(zhuǎn)串口的驅(qū)動(dòng)。驅(qū)動(dòng)如果安裝完成,在我的電腦->管理->設(shè)備管理->端口能夠看到新出現(xiàn)的comn。打開超級(jí)終端,按照如圖10所示配置并選擇相應(yīng)的com口連接專用交通視頻采集卡。如圖11所示啟動(dòng)專用交通視頻采集卡即可看到armlinux啟動(dòng)信息。

      4.2網(wǎng)絡(luò)配置

      用網(wǎng)線把a(bǔ)rm與終端pc連接。如圖12所示,配置好終端電腦的本地連接的ip為10.0.0.117,虛擬機(jī)linuxip為10.0.0.118,在超級(jí)終端上輸入ping10.0.0.117看是否網(wǎng)絡(luò)通,在超級(jí)終端上輸入ping10.0.0.118看是否網(wǎng)絡(luò)通。必須以上網(wǎng)絡(luò)都通才可以運(yùn)行后續(xù)系統(tǒng)。

      4.3命令輸入

      如圖13所示,在超級(jí)終端上輸入命令:cdhx./start_uvc.sh,輸完上述命令后,即可在通過(guò)本軟件系統(tǒng)在交通監(jiān)控網(wǎng)絡(luò)上實(shí)時(shí)采集、管理和瀏覽交通視頻。

      上面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明的實(shí)施方式作了詳細(xì)的說(shuō)明,但是本發(fā)明不限于上述實(shí)施方式,在所屬技術(shù)領(lǐng)域普通技術(shù)人員所具備的知識(shí)范圍內(nèi),還可以在不脫離本發(fā)明宗旨的前提下做出各種變化。

      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1