999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人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)鍵詞:嵌入式

姚莉 鄧丹君

摘 要:將網(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ā)送命令的控制程序既可以是客戶(hù)端,又可以是服務(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ò)

中圖分類(lèi)號(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攝像頭

攝像頭屬于視頻類(lèi)設(shè)備。在目前的Linux核心中,視頻部分的標(biāo)準(zhǔn)是Video for Linux(簡(jiǎn)稱(chēng)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)行讀寫(xiě)操作。由于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)用程序編寫(xiě)提供系統(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是一種文件描述符。它有三種類(lèi)型,本系統(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)接收客戶(hù)端上來(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é)議的客戶(hù)端實(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ù)器端和客戶(hù)端的實(shí)現(xiàn)沒(méi)有固化單一功能,即客戶(hù)端不必依賴(lài)于服務(wù)器的命令。本系統(tǒng)實(shí)現(xiàn)了只要服務(wù)器開(kāi)啟后,服務(wù)器與客戶(hù)端之間就可以相互發(fā)送命令實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)墓δ堋<磾?shù)據(jù)的傳輸方向不是單向地由客戶(hù)端發(fā)送給服務(wù)器。并且服務(wù)器與客戶(hù)端的程序可以任意選擇在PC機(jī)或者A8機(jī)上安裝啟動(dòng)。

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

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

猜你喜歡
嵌入式
Focal&Naim同框發(fā)布1000系列嵌入式揚(yáng)聲器及全新Uniti Atmos流媒體一體機(jī)
TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
電子制作(2019年7期)2019-04-25 13:17:14
基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
電子制作(2018年18期)2018-11-14 01:48:16
嵌入式PLC的設(shè)計(jì)與研究
電子制作(2018年16期)2018-09-26 03:27:18
搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
基于嵌入式系統(tǒng)Windows CE的應(yīng)用程序開(kāi)發(fā)
嵌入式單片機(jī)在電機(jī)控制系統(tǒng)中的應(yīng)用探討
電子制作(2017年8期)2017-06-05 09:36:15
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
Altera加入嵌入式視覺(jué)聯(lián)盟
主站蜘蛛池模板: 四虎永久免费地址在线网站 | 自慰网址在线观看| 999在线免费视频| 在线高清亚洲精品二区| 日本国产精品一区久久久| 成人免费黄色小视频| 国产精品成人一区二区| 制服丝袜亚洲| 欧类av怡春院| 国产香蕉国产精品偷在线观看| 久久免费精品琪琪| 久久天天躁狠狠躁夜夜躁| 一区二区三区四区在线| 一本久道热中字伊人| 亚洲欧美成人影院| 天天干天天色综合网| 久久久久免费看成人影片| 国产美女91视频| 五月丁香在线视频| 久久永久免费人妻精品| 亚洲欧美综合精品久久成人网| 国产精品蜜臀| 任我操在线视频| 国产精品免费入口视频| 国产区人妖精品人妖精品视频| 一级毛片视频免费| 久久五月天国产自| 国产精品无码在线看| 国产成人你懂的在线观看| 久久国产香蕉| 国产亚洲精品97在线观看| 免费欧美一级| 99精品热视频这里只有精品7| 在线亚洲小视频| 欧美视频免费一区二区三区| 极品尤物av美乳在线观看| 九九热精品视频在线| 亚洲无码高清一区| 国产欧美自拍视频| 国产精品999在线| 真人高潮娇喘嗯啊在线观看| 五月六月伊人狠狠丁香网| 日韩中文精品亚洲第三区| 国产最爽的乱婬视频国语对白| 精品国产女同疯狂摩擦2| 国产一在线| 不卡网亚洲无码| 国产99精品久久| 伊人久久青草青青综合| 欧美精品另类| 老司机精品一区在线视频| 亚洲AV人人澡人人双人| 精品久久久久久中文字幕女| 香蕉久人久人青草青草| 国产一区成人| 国产日产欧美精品| 性做久久久久久久免费看| 成人在线不卡视频| 毛片大全免费观看| 亚洲最黄视频| 思思热在线视频精品| 日本成人一区| 国产一级毛片在线| 无码高潮喷水在线观看| 在线观看精品国产入口| 日韩欧美国产精品| 欧美精品成人一区二区在线观看| 日韩av资源在线| 欧美另类图片视频无弹跳第一页| 婷五月综合| 欧美成人一区午夜福利在线| 色哟哟国产精品一区二区| 欧美一区二区啪啪| 九九热在线视频| 成人午夜网址| 欧美色伊人| 日韩a级片视频| 小蝌蚪亚洲精品国产| 全部毛片免费看| 91黄色在线观看| 国产在线观看精品| 国产亚洲视频免费播放|