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

        ?

        基于A8的嵌入式Linux遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        2016-05-31 17:50:43姚莉鄧丹君
        物聯(lián)網(wǎng)技術(shù) 2016年5期
        關(guān)鍵詞:視頻監(jiān)控嵌入式

        姚莉 鄧丹君

        摘 要:將網(wǎng)絡(luò)技術(shù)和嵌入式技術(shù)相結(jié)合的遠(yuǎn)程視頻監(jiān)控系統(tǒng)是視頻采集技術(shù)的發(fā)展趨勢(shì),文中提出了一種基于對(duì)等網(wǎng)絡(luò)模型的嵌入式遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計(jì)方案。該方案將嵌入式系統(tǒng)和Web開(kāi)發(fā)技術(shù)相結(jié)合,再利用USB攝像頭作為視頻監(jiān)控系統(tǒng)的終端進(jìn)行圖像采集,并使用網(wǎng)絡(luò)TCP協(xié)議將其遠(yuǎn)程發(fā)送給服務(wù)器終端。相較于傳統(tǒng)的Client/Server網(wǎng)絡(luò)模型,本系統(tǒng)實(shí)現(xiàn)采用對(duì)等網(wǎng)絡(luò)模型,即確定發(fā)送命令的控制程序既可以是客戶端,又可以是服務(wù)端。文中選擇嵌入式開(kāi)發(fā)平臺(tái)ARM系列A8處理器進(jìn)行研究和設(shè)計(jì),并采用PC機(jī)下的Linux系統(tǒng)作為主機(jī)開(kāi)發(fā)環(huán)境。

        關(guān)鍵詞:嵌入式;視頻監(jiān)控;網(wǎng)絡(luò)遠(yuǎn)程控制;對(duì)等網(wǎng)絡(luò)

        中圖分類號(hào):TP39 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2016)05-00-03

        0 引 言

        網(wǎng)絡(luò)遠(yuǎn)程控制(Network Remote Control,NRC)是利用計(jì)算機(jī)網(wǎng)絡(luò)對(duì)遠(yuǎn)程計(jì)算機(jī)進(jìn)行操作的一種控制方式。計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)目前都在高速發(fā)展,現(xiàn)在監(jiān)控系統(tǒng)已經(jīng)發(fā)展到網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)[1]。網(wǎng)絡(luò)視頻監(jiān)控具有數(shù)字視頻監(jiān)控和網(wǎng)絡(luò)傳輸技術(shù)的優(yōu)點(diǎn),其具有不受地理位置約束、擴(kuò)展方便簡(jiǎn)單、信息處理較容易等特點(diǎn),可以使遠(yuǎn)程的管理和維護(hù)變成現(xiàn)實(shí),只要是網(wǎng)絡(luò)覆蓋的地方,就能實(shí)現(xiàn)網(wǎng)絡(luò)監(jiān)控[2]。嵌入式系統(tǒng)向網(wǎng)絡(luò)發(fā)展已成必然趨勢(shì),目前嵌入式系統(tǒng)對(duì)網(wǎng)絡(luò)協(xié)議如TCP/IP協(xié)議和HTTP協(xié)議的支持也越來(lái)越廣泛。

        1 系統(tǒng)硬件設(shè)備選擇與配置

        系統(tǒng)硬件設(shè)備選擇凌陽(yáng)嵌入式A8教學(xué)實(shí)驗(yàn)系統(tǒng)進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)。該實(shí)驗(yàn)箱基于ARM CortexTM-A8內(nèi)核的處理器S5PV210,該芯片又名“蜂鳥(niǎo)”(Hummingbird),是三星公司推出的一款適用于智能手機(jī)和平板電腦等多媒體設(shè)備的應(yīng)用處理器[3]。本系統(tǒng)使用了人機(jī)交互模塊的USB接口、多媒體模塊攝像頭接口及通信模塊以太網(wǎng)接口。

        1.1 USB攝像頭

        攝像頭屬于視頻類設(shè)備。在目前的Linux核心中,視頻部分的標(biāo)準(zhǔn)是Video for Linux(簡(jiǎn)稱V4L)。這個(gè)標(biāo)準(zhǔn)其實(shí)定義了一套接口,內(nèi)核、驅(qū)動(dòng)、應(yīng)用程序以這個(gè)接口為標(biāo)準(zhǔn)進(jìn)行交流。目前的V4L涵蓋了視、音頻流捕捉及處理等內(nèi)容,USB攝像頭也屬于它支持的范疇。

        本系統(tǒng)所采用的嵌入式Linux操作系統(tǒng)如果需要使用USB攝像頭則必須在內(nèi)核配置時(shí)添加Video4Linux驅(qū)動(dòng)和對(duì)USB攝像頭驅(qū)動(dòng)模塊的支持。本系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)采用靜態(tài)加載以上驅(qū)動(dòng)。首先進(jìn)入Linux源代碼所在的目錄,在終端輸入make menuconfig命令,在基于Ncurses內(nèi)核配置圖形界面進(jìn)行內(nèi)核選項(xiàng)的配置。選中多媒體設(shè)備選項(xiàng)“Multimedia device->”,進(jìn)入多媒體設(shè)備配置界面,選中“Video For Linux”,加載Video4Linux模塊,就可以使內(nèi)核實(shí)現(xiàn)對(duì)Video4Linux驅(qū)動(dòng)的支持,為視頻采集設(shè)備提供編程接口。在內(nèi)核配置主界面,選中USB支持選項(xiàng)“USB support—>”,選中“USB Multimedia device”選項(xiàng)下的“USB OV511 Camera support”,使內(nèi)核中加入OV511接口芯片的USB數(shù)字?jǐn)z像頭的驅(qū)動(dòng)支持。OV511 USB 攝像頭驅(qū)動(dòng)配置界面如圖1所示。

        圖1 OV511 USB 攝像頭驅(qū)動(dòng)配置界面

        1.2 開(kāi)啟幀緩沖設(shè)備

        幀緩沖(Frame Buffer,F(xiàn)B)是Linux為顯示設(shè)備提供的一個(gè)接口,是把顯存抽象后的一種設(shè)備,它允許上層應(yīng)用程序在圖形模式下直接對(duì)顯示緩沖區(qū)進(jìn)行讀寫操作。由于FB設(shè)備驅(qū)動(dòng)為受限驅(qū)動(dòng),因此必須進(jìn)行設(shè)備開(kāi)啟。本系統(tǒng)開(kāi)發(fā)環(huán)境采用發(fā)行版Linux操作系統(tǒng)Ubuntu10.10,Ubuntu下啟用FB設(shè)備的一般步驟如下所示:

        安裝v86d和hwinfo兩個(gè)包查看顯卡是否支持,并設(shè)置本機(jī)支持模式。

        修改啟動(dòng)文件/etc/default/grub,如圖2所示。

        圖2 修改啟動(dòng)文件圖

        修改modules文件/etc/initramfs-tools/modules,如圖3所示。

        圖3 修改modules文件

        更新以上兩個(gè)文件并重啟系統(tǒng),即可查看到FB設(shè)備,具體如圖4所示。

        圖4 查看FB設(shè)備

        2 系統(tǒng)軟件設(shè)計(jì)

        本系統(tǒng)軟件由攝像頭驅(qū)動(dòng)模塊、圖像采集模塊、網(wǎng)絡(luò)傳輸模塊和網(wǎng)絡(luò)服務(wù)器模塊組成[4]。攝像頭驅(qū)動(dòng)模塊使得攝像頭為應(yīng)用程序編寫提供系統(tǒng)編程接口。功能主要包括攝像頭設(shè)備信息的獲取與設(shè)置、設(shè)備的打開(kāi)和關(guān)閉、信號(hào)通道選擇、窗口初始化等。圖像采集模塊的作用是使用編程接口獲取攝像頭采集來(lái)的圖像信息并進(jìn)行暫時(shí)存儲(chǔ)。服務(wù)器通過(guò)網(wǎng)絡(luò)傳輸模塊與遠(yuǎn)程監(jiān)控PC機(jī)端進(jìn)行信息交流。

        2.1 V4L圖像信息采集流程

        V4L圖像信息采集流程分為如下幾步:

        (1)打開(kāi)攝像頭設(shè)備

        int vd ->fd = open(“/dev/video0”, O_RDWR);

        (2)讀video_capability 中的信息,成功后可讀取vd->capability各分量ioctl(vd ->fd, VIDIOCGCAP, &(vd->capability));

        (3)讀video_picture中的信息,成功后可讀取圖像的屬性ioctl(vd ->fd, VIDIOCGPICT, &(vd->picture));

        (4)初始化channel

        int i;

        for (i = 0; i < vd ->capability.channels; i++) {

        vd ->channel[i].channel = i;

        ioctl(vd ->fd, VIDIOCGCHAN,&(vd->channel[i]));}

        (5)用mmap(內(nèi)存映射)方式進(jìn)行圖像信息采集

        vd ->map = mmap(0, vd->mbuf.size, PROT_READ|PROT_WRITE,MAP_SHARED, vd->fd, 0));

        (6)mmap方式下真正做視頻截取的 VIDIOCMCAPTURE對(duì)采集的圖像信息進(jìn)行處理:

        ioctl(vd->fd, VIDIOCMCAPTURE, &(vd->mmap));若調(diào)用成功,開(kāi)始一幀的視頻截取,是否截取完畢留給VIDIOCSYNC來(lái)判斷。

        ioctl(vd->fd, VIDIOCSYNC, &frame) ;

        調(diào)用VIDIOCSYNC等待一幀截取結(jié)束。若成功,表明一幀視頻截取已完成??梢蚤_(kāi)始做下一次VIDIOCMCAPTURE。frame是當(dāng)前截取的幀序號(hào)。

        (7)關(guān)閉設(shè)備

        close(vd ->fd);

        系統(tǒng)的整體圖像信息采集流程如圖5所示。

        圖5 圖像信息采集流程圖

        2.2 網(wǎng)絡(luò)編程

        Linux中的網(wǎng)絡(luò)編程通過(guò)Socket(套接字)接口實(shí)現(xiàn),Socket是一種文件描述符。它有三種類型,本系統(tǒng)采用流式套接字(SOCK_STREAM)。流式套接字可以提供可靠的、面向連接的通訊流,使用TCP協(xié)議保證了數(shù)據(jù)傳輸?shù)恼_性和順序性。基于TCP協(xié)議的服務(wù)器端實(shí)現(xiàn)步驟如下:

        (1)創(chuàng)建一個(gè)socket

        sockfd=socket(AF_INET,SOCK_STREAM,0);

        (2)綁定IP 地址、端口等信息到socket上

        bind(sockfd,(struct sockaddr *)(&server_addr),sizeof(struct sockaddr));

        (3)設(shè)置允許的最大連接數(shù)n

        listen(sockfd,n);

        (4)接收客戶端上來(lái)的連接

        accept(sockfd,(struct sockaddr *)(&client_addr),&sin_size);

        (5)接收數(shù)據(jù)

        recv(new_fd,buffer,strlen(buffer),0);

        (6)關(guān)閉網(wǎng)絡(luò)連接

        close(sockfd);

        基于TCP協(xié)議的客戶端實(shí)現(xiàn)步驟如下:

        (1)創(chuàng)建一個(gè)socket

        sockfd=socket(AF_INET,SOCK_STREAM,0);

        (2)設(shè)置要連接的服務(wù)器IP地址和端口等屬性。

        bzero(&server_addr,sizeof(server_addr));

        server_addr.sin_family=AF_INET;

        server_addr.sin_port=htons(portnumber);

        server_addr.sin_addr=*((struct in_addr *)host->h_addr);

        (3)連接服務(wù)器

        connect(sockfd,(struct sockaddr *)(&server_addr),sizeof(struct sockaddr));

        (4)發(fā)送數(shù)據(jù)

        send(sockfd,buffer,strlen(buffer),0);

        (5)關(guān)閉網(wǎng)絡(luò)連接

        close(sockfd);

        以上服務(wù)器端和客戶端的實(shí)現(xiàn)沒(méi)有固化單一功能,即客戶端不必依賴于服務(wù)器的命令。本系統(tǒng)實(shí)現(xiàn)了只要服務(wù)器開(kāi)啟后,服務(wù)器與客戶端之間就可以相互發(fā)送命令實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)墓δ?。即?shù)據(jù)的傳輸方向不是單向地由客戶端發(fā)送給服務(wù)器。并且服務(wù)器與客戶端的程序可以任意選擇在PC機(jī)或者A8機(jī)上安裝啟動(dòng)。

        2.3 對(duì)等網(wǎng)絡(luò)模型

        對(duì)等網(wǎng)絡(luò)又稱工作組,即網(wǎng)絡(luò)中各設(shè)備的功能相同,無(wú)主從之分,既可作為服務(wù)器端設(shè)定共享資源供網(wǎng)絡(luò)中其他設(shè)備所使用,又可以作為客戶端。對(duì)等網(wǎng)絡(luò)是小型局域網(wǎng)常用的組網(wǎng)方式,在對(duì)等網(wǎng)絡(luò)中沒(méi)有專用的服務(wù)器,也沒(méi)有專用的客戶端[5]。本系統(tǒng)所采用的對(duì)等網(wǎng)絡(luò)模型打破了傳統(tǒng)的C/S網(wǎng)絡(luò)模型中依賴中心服務(wù)器的模式,實(shí)現(xiàn)了發(fā)送命令的控制程序既可以是客戶端,也可以是服務(wù)器端。因此,監(jiān)控端既可以設(shè)定為客戶端也可以設(shè)定為服務(wù)器端。

        3 系統(tǒng)實(shí)現(xiàn)

        本系統(tǒng)軟件由攝像頭驅(qū)動(dòng)模塊、圖像采集模塊、網(wǎng)絡(luò)傳輸模塊和網(wǎng)絡(luò)服務(wù)器模塊組成。本系統(tǒng)主要功能包括USB攝像頭設(shè)備和FB設(shè)備的啟用、視頻圖像信息采集形成圖片文件、TCP/IP網(wǎng)絡(luò)數(shù)據(jù)傳輸和監(jiān)控端使用FB設(shè)備進(jìn)行圖像顯示等。在網(wǎng)絡(luò)信息接通后,圖6所示為被監(jiān)控端接入U(xiǎn)SB攝像頭設(shè)備后進(jìn)行視頻圖像信息采集顯示。圖7所示為主要源碼文件及監(jiān)控視頻截圖。

        4 結(jié) 語(yǔ)

        本文主要介紹了在Linux操作系統(tǒng)下使用Cortex-A8教學(xué)實(shí)驗(yàn)箱設(shè)計(jì)實(shí)現(xiàn)的遠(yuǎn)程視頻監(jiān)控系統(tǒng)。本系統(tǒng)實(shí)現(xiàn)了嵌入式設(shè)備驅(qū)動(dòng)加載、視頻圖像信息采集、網(wǎng)絡(luò)數(shù)據(jù)的存儲(chǔ)和傳輸?shù)裙δ?,已?jīng)完成了遠(yuǎn)程監(jiān)控的基本功能。本系統(tǒng)是基于對(duì)等網(wǎng)絡(luò)模型進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)的,即客戶端對(duì)服務(wù)器端沒(méi)有絕對(duì)的依賴,端口的應(yīng)用程序既可以看做是服務(wù)器端也可以看做是客戶端。對(duì)于本系統(tǒng)后續(xù)的研究設(shè)計(jì),仍有可以進(jìn)一步擴(kuò)展和改進(jìn)的地方,例如可以在本系統(tǒng)上擴(kuò)展V4L2接口和MJPG-Streamer的使用可以提高監(jiān)控畫(huà)面的清晰度和流暢度。

        參考文獻(xiàn)

        [1]楊光. ARM嵌入式遠(yuǎn)程監(jiān)控技術(shù)研究[J].數(shù)字技術(shù)與應(yīng)用, 2013(3):7-9.

        [2] 羅孝騫.計(jì)算機(jī)網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控系統(tǒng)的應(yīng)用[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2013(11):5-6.

        [3] 溫淑鴻.嵌入式Linux系統(tǒng)原理-基于ARM Cortex-A8處理器[M].北京:北京航空航天大學(xué)出版社,2014.

        [4]關(guān)麗敏, 李思慧, 李偉剛.STM32F107VC的嵌入式遠(yuǎn)程監(jiān)控終端設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用, 2014(6):72-75.

        [5] 張啟飛,張尉冬,李文娟,等.基于對(duì)等網(wǎng)絡(luò)的面向小文件的云存儲(chǔ)系統(tǒng)[J].浙江大學(xué)學(xué)報(bào)(工學(xué)版),2013,47(1):8-14.

        猜你喜歡
        視頻監(jiān)控嵌入式
        TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
        電子制作(2019年7期)2019-04-25 13:17:14
        嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
        電子制作(2018年18期)2018-11-14 01:48:16
        搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        基于視頻圖像采集移動(dòng)目標(biāo)檢測(cè)系統(tǒng)的設(shè)計(jì)
        數(shù)字化監(jiān)控系統(tǒng)的企業(yè)應(yīng)用
        廣東地區(qū)輸電線路在線監(jiān)測(cè)技術(shù)應(yīng)用探究
        基于嵌入式Linux的視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        基于HTML5的視頻監(jiān)控微課設(shè)計(jì)淺析
        智能視頻檢索技術(shù)在校園安防建設(shè)中的發(fā)展應(yīng)用
        久久精品国产亚洲av沈先生| 久久精品国产亚洲av忘忧草18| 久热这里只有精品99国产| 视频女同久久久一区二区三区 | 久久精品亚洲中文无东京热| 亚洲国产都市一区二区| 91在线视频在线视频| 国产精品乱码一区二区三区| 亚洲色图视频在线| 日本成人免费一区二区三区| 开心五月激情五月五月天| 国产人妻丰满熟妇嗷嗷叫| 久热这里只有精品99国产| 日本人妻伦理片在线观看| 娇小女人被黑人插免费视频| 精品乱码久久久久久久| 亚洲成av人片无码不卡播放器| 成人激情视频一区二区三区| 日本精品一区二区三区福利视频| 久久露脸国产精品| 免费高清日本中文| 超碰青青草手机在线免费观看 | 一区二区三区日韩蜜桃| 最近中文字幕国语免费| 免费大片黄在线观看| 亚洲av网一区天堂福利| 国产精品一区二区av不卡| 午夜福利院电影| 精品99在线黑丝袜| 久久黄色精品内射胖女人| 国产色系视频在线观看| 好男人视频在线视频| 亚洲综合精品在线观看中文字幕 | 国内自拍偷国视频系列| 免费无码又黄又爽又刺激| 国产免费AV片在线看| 偷拍一区二区三区黄片| 在线播放真实国产乱子伦| 色综合久久久久久久久五月| 亚洲精品在线观看一区二区| 亚洲国产精品无码一线岛国|