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

        ?

        基于物聯(lián)網(wǎng)技術(shù)的視頻監(jiān)控系統(tǒng)設(shè)計

        2015-10-22 06:13:18王永強
        唐山學(xué)院學(xué)報 2015年6期
        關(guān)鍵詞:開發(fā)板PC機內(nèi)核

        王永強

        (唐山學(xué)院 計算機科學(xué)與技術(shù)系,河北 唐山063000)

        隨著計算機技術(shù)的快速發(fā)展,以及人們安全意識的提高,視頻監(jiān)控系統(tǒng)已被廣泛應(yīng)用到各個領(lǐng)域[1]。傳統(tǒng)的視頻監(jiān)控系統(tǒng)主要分為兩類:一類是基于閉路電視的,監(jiān)控區(qū)域有限;另一類是基于PC機的數(shù)字化監(jiān)控,體積大,組網(wǎng)較為死板,移動性差。基于物聯(lián)網(wǎng)技術(shù)的視頻監(jiān)控系統(tǒng),則可以很好地解決傳統(tǒng)視頻監(jiān)控系統(tǒng)的弊端,它突破了有線網(wǎng)絡(luò)的局限性[2-3],給信息交流提供了更大的便利,具有組網(wǎng)方便、便于安裝、可靠性高、運行穩(wěn)定等特點,而且隨著物聯(lián)網(wǎng)技術(shù)的不斷提升,視頻監(jiān)控系統(tǒng)正向著數(shù)字化、網(wǎng)絡(luò)化、智能化的方向發(fā)展。因此,基于物聯(lián)網(wǎng)技術(shù),本研究設(shè)計了一種視頻監(jiān)控系統(tǒng)。

        1 系統(tǒng)組成

        系統(tǒng)以嵌入式物聯(lián)網(wǎng)平臺為基礎(chǔ),對圖像進行實時采集,并通過無線網(wǎng)絡(luò)進行實時傳輸。系統(tǒng)的組成包括:硬件設(shè)備、USB視頻數(shù)據(jù)的采集、WIFI無線數(shù)據(jù)的傳輸、Qt平臺數(shù)據(jù)顯示及存儲。

        1.1 系統(tǒng)硬件

        硬件設(shè)備主要包括PC機和開發(fā)板,PC機上運行ubuntu12.04;開發(fā)板型號為real6410,使用arm11處理器[4],運行l(wèi)inux2.6.28版本內(nèi)核,并搭載了apm6658SDIO WIFI模塊以及zc301的USB攝像頭模塊。對于real6410來說,開發(fā)板上集成了USB接口和SDIO接口,能夠滿足相應(yīng)要求。

        1.2 USB視頻數(shù)據(jù)采集

        USB視頻數(shù)據(jù)采集部分主要是實現(xiàn)對USB攝像頭的能力檢查,初始化,并且進行一些相應(yīng)的格式和流設(shè)置[5-6]。由于USB攝像頭采集到的數(shù)據(jù)放在內(nèi)核緩沖區(qū),而程序需在用戶空間運行,這就需要使用一種通訊方式來進行用戶空間與內(nèi)核空間之間的聯(lián)絡(luò)。一般通訊方式有三種:第一種是直接讀寫內(nèi)核緩沖區(qū),第二種是內(nèi)存映射,第三種是使用用戶空間指針。本系統(tǒng)采用的是第二種,即mmap內(nèi)存映射方式。首先,向內(nèi)核申請5塊幀緩沖區(qū),并將內(nèi)核實際給予的緩沖區(qū)通過mmap映射到用戶空間,這樣程序便可以在用戶空間訪問內(nèi)核空間了。其次,開啟視頻采集,這時設(shè)備便會將采集到的幀數(shù)據(jù)放到內(nèi)核緩沖區(qū)中,在內(nèi)核空間開辟的緩沖區(qū)事實上是一個循環(huán)緩沖隊列,用戶空間的程序在取回一幀數(shù)據(jù)后需把該緩沖區(qū)重新放回內(nèi)核緩沖隊列中,以便內(nèi)核繼續(xù)使用它來存放接下來采集到的幀數(shù)據(jù)。

        1.3 WIFI無線數(shù)據(jù)傳輸

        WIFI無線數(shù)據(jù)傳輸部分主要是實現(xiàn)接收客戶的連接請求、處理用戶的傳輸請求,以及判斷用戶是否退出。由于tcp傳輸會進行一系列的差錯檢驗,一旦報文出錯,例如亂序、亂碼等,便會請求進行重發(fā),這樣當(dāng)網(wǎng)絡(luò)狀態(tài)不理想時,會造成視頻不能流暢顯示,因為大部分的時間都被tcp的重發(fā)機制占用了。鑒于udp傳輸沒有tcp傳輸那樣的差錯控制機制,所以本W(wǎng)IFI無線數(shù)據(jù)傳輸使用的是udp傳輸,這樣當(dāng)傳輸?shù)膱笪某鲥e時,可以在程序中直接簡單地丟棄這幀數(shù)據(jù)。另外,由于網(wǎng)絡(luò)負(fù)載問題,每幀數(shù)據(jù)都是先進行分包傳輸,然后在PC機上再進行組包重新形成一幀數(shù)據(jù)。

        1.4 Qt平臺數(shù)據(jù)顯示及存儲

        Qt平臺部分主要是實現(xiàn)與用戶的交互,如輸入服務(wù)器的IP及端口、顯示當(dāng)前連接的狀態(tài)、實時視頻顯示、是否暫停視頻的實時顯示、是否進行視頻的錄制等。Qt端需要對接收到的幀數(shù)據(jù)進行顯示,顯示是通過Qtimer來控制的,將Qtimer的信號與相應(yīng)的槽函數(shù)綁定,定時器時間一到便會執(zhí)行槽函數(shù),該槽函數(shù)的功能便是向開發(fā)板索取一幀數(shù)據(jù)并且顯示。Qtimer不斷索取視頻幀數(shù)據(jù),并且連續(xù)顯示每一幀,這樣便形成了流暢的視頻,而且如果此時用戶選擇了錄制,則會在顯示實時數(shù)據(jù)的同時,調(diào)用mencoder,將接收到的數(shù)據(jù)轉(zhuǎn)換為視頻存儲起來,以實現(xiàn)后期查看。

        2 系統(tǒng)工作流程

        系統(tǒng)中,主要涉及到兩個平臺:一是以real6410為基礎(chǔ)的嵌入式平臺,二是以PC機為基礎(chǔ)的x86平臺。開發(fā)板作為服務(wù)器負(fù)責(zé)幀數(shù)據(jù)的采集和傳輸,PC機作為客戶端獲取視頻數(shù)據(jù)并顯示和存儲。

        2.1 服務(wù)器工作流程

        服務(wù)器(開發(fā)板)上電后,先啟動服務(wù)器程序,程序啟動后,服務(wù)器會啟用udp服務(wù),幫助提取服務(wù)器的網(wǎng)絡(luò)信息。根據(jù)客戶端發(fā)來的命令作相應(yīng)處理。如果傳輸報文錯誤,則采用丟幀的方式進行處理。系統(tǒng)中的無線傳輸主要傳輸幀數(shù)據(jù)以及一些PC機與開發(fā)板交互的命令,概括來說,主要有以下幾種交互方式:

        (1)客戶端發(fā)送“###?!北硎菊埱筮B接,服務(wù)器收到“###?!焙髸却邮沼脩裘睢?/p>

        (2)客戶發(fā)送“GOON”表示請求服務(wù)器發(fā)送一幀數(shù)據(jù),服務(wù)器收到該指令后會采集一幀數(shù)據(jù),并且將該幀數(shù)據(jù)拆成多個包循環(huán)發(fā)送給客戶端,直到發(fā)完為止。

        (3)客戶端發(fā)送“STOP”表示客戶端即將退出,收到該命令,服務(wù)器不再為該客戶服務(wù)。

        服務(wù)器工作流程如圖1所示。

        2.2 客戶端工作流程

        在PC機上使用Qt搭建客戶端。啟動客戶端程序后,輸入服務(wù)器端口以及IP,點擊連接,此時狀態(tài)標(biāo)簽會顯示當(dāng)前連接的狀態(tài)。如果連上,用戶可以點擊“start(開始)”按鈕進行視頻實時顯示。如果用戶點擊“AVI(錄制)”,視頻則以AVI格式存儲在家目錄的相應(yīng)目錄下??蛻舳斯ぷ髁鞒倘鐖D2所示。

        客戶端部分關(guān)鍵代碼如下:

        3 軟件環(huán)境的搭建

        嵌入式軟件的開發(fā)工作一般都在PC機上完成,交叉編譯后通過串口或者網(wǎng)口燒寫到板子上,這就涉及到交叉編譯工具鏈、串口調(diào)試工具以及nfs或tftp服務(wù)器的搭建。交叉工具鏈用于編譯uboot、內(nèi)核和應(yīng)用程序等,以便生成適合于目標(biāo)板系統(tǒng)的代碼;串口調(diào)試工具是為了在PC端登錄開發(fā)板,以便運行并調(diào)試程序;nfs或tftp服務(wù)器一般用于PC機與目標(biāo)板之間的文件拷貝。在開發(fā)板上,需要燒寫uboot、linux2.6.28版本的內(nèi)核、cramfs文件系統(tǒng)、ubitfs文件系統(tǒng)以及相關(guān)的庫和可執(zhí)行文件,以下是軟件環(huán)境的搭建步驟。

        3.1 交叉編譯工具鏈

        要編譯出arm平臺的可執(zhí)行代碼,需要在PC機上安裝交叉編譯工具鏈。本設(shè)計中的系統(tǒng)處理器是armv6架構(gòu)的,經(jīng)過查閱相關(guān)的資料,發(fā)現(xiàn)早期的交叉編譯器,例如,armlinux-gcc-3.4.1不支持armv6構(gòu)架,因此需要使用更新的通用的交叉編譯器,這里選用arm公司新推出的EABI編譯器,即arm-none-linux-gnueabi-4.3.2。該編譯器使用了新的glibc庫2.8,并在編譯器中預(yù)先安裝好了各種需要用到的庫文件,如編譯qtopia時需要用到的jpeg,zlib,libts,libuuid等。首先,通過windows與linux下的共享文件夾把armnone-linux-gnueabi-4.3.2.tar.gz壓縮包拷貝到linux下,解壓;其次,在家目錄下的.bashrc文件中編輯PATH路徑,PATH =/home/zhang/arm-none-linux-gnueabi-4.3.2//=bin::$PATH;最后,在家目錄下執(zhí)行source.bashrc命令更新PATH,可以使用 which arm-linux-gcc命令來查看是否配置正確。

        3.2 配置內(nèi)核并重新編譯

        linux2.6.28發(fā)布的內(nèi)核中沒有USB攝像頭驅(qū)動,并且WIFI模塊的驅(qū)動部分不支持AP,需要重新編譯內(nèi)核源碼將驅(qū)動加載進去,并重新燒寫到開發(fā)板上。編譯內(nèi)核時,一些庫和程序需要安裝。進行安裝時執(zhí)行以下幾條命令:

        進行WIFI模塊的內(nèi)核相關(guān)配置。先添加固件,從網(wǎng)上下載helper_sd.bin和sd8686.bin兩個固件復(fù)制到內(nèi)核源代碼目錄下的firmware目錄下,將helper_sd.bin改名為sd8686_h(yuǎn)elper.bin。然后進行網(wǎng)絡(luò)支持的配置和網(wǎng)卡驅(qū)動支持的配置。

        配置USB攝像頭驅(qū)動。雖然使用的攝像頭是非UVC的,但為了實現(xiàn)攝像頭能即插即用,因此在配置USB驅(qū)動時,應(yīng)使內(nèi)核盡量支持多種攝像頭。本設(shè)計中使用的是zc301的攝像頭驅(qū)動支持和UVC攝像頭驅(qū)動支持。

        3.3 燒寫uboot,kernel和文件系統(tǒng)

        燒寫在windows下執(zhí)行,使用DNW進行燒寫。需要安裝DNW的USB驅(qū)動,可以從網(wǎng)上下載,也可以使用開發(fā)板自帶的。

        3.4 移植 wpa_supplicant

        首先移植wpa_supplicant工具包。下載此工具包依賴的openssl庫和 wpa_supplicant,并解壓。進入 wpa_supplicant目錄,將patch目錄下的補丁文件openssl-0.9.8e-tls-extensions.patch拷貝到openssl目錄:

        cp openssl-0.9.8e-tls-extensions.patch openssl-0.9.8e/

        其次進入openssl目錄下執(zhí)行一下命令來打補?。?/p>

        patch-p1<o(jì)penssl-0.9.8e-tls-extensions.patch

        最后執(zhí)行 make,make install,這樣就生成了openssl庫,并且存放在/usr/local/ssl目錄下。

        接下來交叉編譯wpa_supplicant。進入wpa_supplicant目錄下,將該目錄下的defconfig文件拷貝為.config文件,因為defconfig文件只是一個模板文件,里面所有的行都是注釋,只供參考,只有將其拷貝為.config文件才能使用。對該文件進行修改,添加如下行:

        3.5 nfs服務(wù)器搭建

        由于使用的是在PC機上開發(fā)的編譯程序,此程序需燒寫到開發(fā)板上才能執(zhí)行,所以需建立nfs服務(wù)器,在目標(biāo)板上掛載進而來傳輸文件。在PC機上下載nfs服務(wù)器,修改配置文件,將PC機上的目錄設(shè)為nfs共享目錄,并且開放給所有能連接PC機的用戶,開發(fā)板每次啟動時執(zhí)行:

        mount-t nfs 192.168.1.103:/home/wang/nfs/nfs-o nolock

        這樣便將PC機的nfs目錄掛載到了開發(fā)板的nfs目錄上,其優(yōu)點是放到PC機的nfs目錄下的文件,可以從開發(fā)板的nfs目錄下取出,十分方便。因為每次開機都要輸入這個命令,所以把它寫到腳本里命名為nfs.sh,每次開機后./nfs.sh掛載即可。

        4 圖形用戶界面的實現(xiàn)

        通過qtcreator進行可視化的Qt界面開發(fā),可以減少工作量,提高開發(fā)的效率。界面的構(gòu)成主要有:中央的視頻顯示窗口、四個按鍵(分別是“connect(連接)”“close(關(guān)閉)”“start(開始)”“stop(暫停)”)、一個狀態(tài)標(biāo)簽(用于顯示當(dāng)前的連接狀態(tài)以及一些出錯信息等)、兩個輸入框(分別是IP和端口,在程序中已經(jīng)用正則表達式規(guī)范了IP的書寫方式,這樣可以避免IP輸入不合法)、一個AVI選擇按鈕(當(dāng)選中時會進行視頻的錄制與保存)?;赒t的界面設(shè)計顯示結(jié)果如圖3所示。

        5 運行效果

        啟動服務(wù)器,點擊客戶端連接按鈕,然后點擊“start”按鈕,進行視頻捕獲,實現(xiàn)視頻數(shù)據(jù)的實時傳輸??蛻舳诉\行效果如圖4所示。

        6 結(jié)論

        設(shè)計的基于物聯(lián)網(wǎng)技術(shù)的視頻監(jiān)控系統(tǒng),通過搭載zc301的USB攝像頭和apm6658SDIO WIFI模塊,以及在PC機上使用Qt進行圖形界面開發(fā),可以接收和顯示采集到的每一幀圖像,實現(xiàn)可視化監(jiān)控的功能。而且根據(jù)用戶需要還可以將視頻以AVI格式進行保存。運行效果顯示,本視頻監(jiān)控系統(tǒng)可對現(xiàn)場進行實時有效地監(jiān)控,而且設(shè)計成本較低,易于組網(wǎng),可擴展性強,運行穩(wěn)定,具有較高的實用價值。

        [1]婁德成,韋銀.基于B/S架構(gòu)的嵌入式遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計[J].微型電腦應(yīng)用,2014,30(9):51-53.

        [2]陳奕舟,呂勇,許遠(yuǎn)向,等.基于ARM9構(gòu)架的熱釋電車載視頻監(jiān)控系統(tǒng)設(shè)計[J].北京信息科技大學(xué)學(xué)報,2014,29(1):82-84.

        [3]劉濤,呂勇,毛海波.基于 Wi-Fi技術(shù)的無線視頻監(jiān)控系統(tǒng)設(shè)計[J].現(xiàn)代計算機,2015(1):49-52.

        [4]江俊杰,王志明.基于X264的嵌入式視頻監(jiān)控系統(tǒng)設(shè)計[J].計算機工程與設(shè)計,2013,34(12):4109-4203.

        [5]王溢琴,秦振吉,蘆彩林.基于嵌入式的智能家居之視頻監(jiān)控系統(tǒng)設(shè)計[J].計算機測量與控制,2014,22(11):3623-3626.

        [6]羅金玲,劉羅仁.基于ARM+Linux的物聯(lián)網(wǎng)遠(yuǎn)程監(jiān)控終端設(shè)計[J].計算機系統(tǒng)應(yīng)用,2013,22(1):189-191.

        猜你喜歡
        開發(fā)板PC機內(nèi)核
        萬物皆可IP的時代,我們當(dāng)夯實的IP內(nèi)核是什么?
        強化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
        基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計
        Linux內(nèi)核mmap保護機制研究
        基于PC機與單片機的多機通信技術(shù)及抗干擾方法
        基于三菱FXPLC的感應(yīng)淬火機床與PC機的串行通信實現(xiàn)
        Microchip最新推出兩款PIC32 Curiosity開發(fā)板
        VC.NET下實現(xiàn)dsPIC單片機與PC機的通信
        電子制作(2017年23期)2017-02-02 07:16:47
        淺析單片機開發(fā)板的設(shè)計與制作
        電子制作(2017年22期)2017-02-02 07:10:14
        Mouser為您呈上開發(fā)關(guān)鍵之STMicroelectronics Nucleo開發(fā)板
        精品国产品香蕉在线| 国产超碰人人一区二区三区| 国产一级一片内射在线| 亚洲国产天堂久久综合网| 色爱av综合网站| 老熟妇高潮喷了╳╳╳| 欧美日韩国产乱了伦| 国产免费操美女逼视频| 精品偷拍被偷拍在线观看| 精品乱码久久久久久中文字幕| 在线你懂| 成熟妇女毛茸茸性视频| 成在线人免费视频| 538在线啪在线观看| 天堂视频一区二区免费在线观看 | 国产一区二区三区4区| 国产自拍三级黄片视频| 国产成人精品久久亚洲高清不卡| 亚洲国产成人va在线观看天堂 | 成人免费无码视频在线网站| 国产天堂av在线播放资源| 99久久精品免费观看国产| 午夜国产在线| 麻豆激情视频在线观看| 少妇无码av无码专线区大牛影院| 国产超碰人人做人人爱ⅴa| 久久99久久99精品免视看国产成人| 男男啪啪激烈高潮无遮挡网站网址| 少妇激情一区二区三区视频| 五月综合高清综合网| 久久精品亚洲成在人线av| 天堂在线资源中文在线8| 少妇精品久久久一区二区三区| 久久婷婷免费综合色啪| 国产亚洲精品97在线视频一| 性一交一乱一乱一视频| 国产精品丝袜美女在线观看| av网页免费在线观看| 亚洲色国产欧美日韩| 国产在线观看黄| 国产一区二区中文字幕在线观看|