freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

智能家居安防系統(tǒng)的研究與設(shè)計畢業(yè)論文-wenkub.com

2025-06-21 17:55 本頁面
   

【正文】 內(nèi)核啟動信息(2)服務(wù)器端測試在系統(tǒng)研究過程中,就可以對視頻采集的服務(wù)器端進(jìn)行測試,我們在insmod驅(qū)動后,可以運行servfox程序,屏幕會反饋我們正在等待連接的信息,如果這時有客戶端申請監(jiān)控,系統(tǒng)就會告訴我們申請監(jiān)控的IP地址并開始發(fā)送數(shù)據(jù)。在嵌入式實驗平臺中,構(gòu)架視頻服務(wù)器負(fù)責(zé)視頻的采集、壓縮和傳輸,計算機(jī)作為客戶端來訪問視頻服務(wù)器中內(nèi)容,實現(xiàn)系統(tǒng)設(shè)計。在系統(tǒng)介紹中,簡略的描述了嵌入式視頻監(jiān)控系統(tǒng)的特點、功能、使用方法、發(fā)展意義。通過建立一個網(wǎng)站,用戶可以使用網(wǎng)站來了解系統(tǒng)的功能、使用方法、交互式的訪問服務(wù)器中的資源,服務(wù)器可以把服務(wù)器中的資源通過網(wǎng)站的形式表現(xiàn)出來??蛻舳嗽L問網(wǎng)站為。編譯結(jié)束后,會生成Boa可執(zhí)行文件,只要把它移植到ARM板中,就完成了對Boa的移植過程。配置完Boa后,我們就需要將Boa交叉編譯了??梢宰⑨尩鬗imeTypes /etc/文件擴(kuò)展名沒有或未知的話,使用的缺省MIME類型DefaultType text/plain提供CGI程序的PATH環(huán)境變量值CGIPath /bin:/usr/bin:/usr/local/bin將文件擴(kuò)展名和MIME類型關(guān)聯(lián)起來。一般注釋掉,即不需要啟動VirtualHost非常重要,HTML文檔的主目錄。如果不需要錯誤日志,則用/dev/null或直接注釋掉。如果沒有以/開始,則表示從服務(wù)器的根路徑開始。它的工作過程包括:完成Web 服務(wù)器的初始化工作,如創(chuàng)建環(huán)境變量、創(chuàng)建TCP 套接字、綁定端口、開始偵聽、進(jìn)入循環(huán)結(jié)構(gòu),以及等待接收客戶瀏覽器的連接請求;當(dāng)有客戶端連接請求時,Web 服務(wù)器負(fù)責(zé)接收客戶端請求,并保存相關(guān)請求信息;在接收到客戶端的連接請求之后,分析客戶端請求,解析出請求的方法、URL 目標(biāo)、可選的查詢信息及表單信息,同時根據(jù)請求做出相應(yīng)的處理; Web 服務(wù)器完成相應(yīng)處理后,向客戶端瀏覽器發(fā)送響應(yīng)信息,關(guān)閉與客戶機(jī)的TCP 連接。第二節(jié) 構(gòu)架網(wǎng)絡(luò)視頻服務(wù)器一、 網(wǎng)絡(luò)視頻服務(wù)器軟件BOABoa是一款常用的嵌入式視頻服務(wù)器軟件,是單任務(wù)的HTTP服務(wù)器。在嵌入式設(shè)備中,硬件資源是最大的瓶頸,嵌入式設(shè)備因為它體積小、功耗低、運行快的優(yōu)點被人們廣泛使用,它們功能單一而穩(wěn)定,只需要實現(xiàn)一個嵌入式的視頻服務(wù)器就能滿足功能上的需要,也就是Embedded Web Server應(yīng)用。視頻服務(wù)器與一般的服務(wù)器類似,都是供用戶訪問服務(wù)器內(nèi)資源的專門的網(wǎng)絡(luò)設(shè)備。TCP/IP的Socket編程有三種套接字:流式套接字、數(shù)據(jù)報式套接字和原始式套接字。Socket有三個要素:網(wǎng)域、類型、規(guī)程。vdgrabmutex)。headerframeformat=vdformatln。headerframedeltatimes= (int) (headerframeseqtimestimecourant)。jpegsize=convertframe(vdptframe[vdframe_cour]+sizeof(structframe_t),vdpFramebuffer,vdhdrwidth,vdhdrheight,vdformatln,vdframesizeln)。vdsignalquit)usleep (1000)。if (debug) printf (“l(fā)en %d asked %d\n”, len, size)。size=vdframesizeln。read是一個用來從指定的文件或設(shè)備中讀取數(shù)據(jù)的系統(tǒng)調(diào)用。erreur=l 。vdgrabmutex)。headerframesize= ((jpegsize0)? 0: jpegsize)。 headerframeseqtimes=ms_time ()。temps=ms_time ()。amp。/*判斷圖像截取是否完成*/if(ioctl(vdfd,VIDIOCSYNC,amp。內(nèi)存映射方式下真正進(jìn)行視頻截取的是ioctl系統(tǒng)調(diào)用的VIDIOCMCAPTURE命令,若函數(shù)成功調(diào)用,再用VIDIOCSYNC命令來判斷圖像截取是否己經(jīng)完畢,若該函數(shù)調(diào)用成功,則表明一幀圖像的截取已完成,便開始下一幀圖像數(shù)據(jù)的截取,并將當(dāng)前截取的幀號按緩沖區(qū)總幀數(shù)的模加上l。第三個參數(shù)指定共享內(nèi)存的訪問權(quán)限(PROT_READ(可讀),PROT_WRITE(可寫),PROT_EXEC(可執(zhí)行))。為了防止緩沖區(qū)的內(nèi)容與有用信息疊加產(chǎn)生干擾,在初始化之前可以先調(diào)用memset(amp。(1) 內(nèi)存映射內(nèi)存映射方式是通過mmap系統(tǒng)調(diào)用函數(shù)來實現(xiàn)的。 } } pthread_mutex_destroy (amp。 i++) { if (vdptframe[i]) { free (vdptframe[i])。 } if (vdcameraname) { free (vdcameraname)。 } if (debug) printf (close video_device\n)。 if (vdgrabMethod) { if (debug) printf (unmapping frame buffer\n)。本系統(tǒng)支持兩種讀取方式來獲得視頻流,它們是內(nèi)存映射和直接讀取,所以首先需要判斷視頻采集的方式,如果是內(nèi)存映射,則在系統(tǒng)任務(wù)完成后關(guān)閉內(nèi)存映射,然后關(guān)閉攝像頭設(shè)備。(vdvideopict))0) {printf (Fail to set videopict params with VIDIOCSPICT! /n“)。 return 1 。 (vdvideopict)) ==1) {printf (“Fail to get video_picture! /n”)。讀取video_capability中有關(guān)攝像頭的信息 if (ioctl (vdfd, VIDIOCGCAP, amp。}return vdfd。 int open_v4l (char *vdvideodevice){ if (! vdvideodevice) { printf (“No device file, ERROR opening V4L interface”)。}(2)打開攝像頭在Linux中,類似攝像頭的設(shè)備是作為文件來看待的,叫做設(shè)備文件。 } vdframe_cour = 0。 i OUTFRMNUMB。 vdgrabMethod = grabmethod。 vdhdrwidth = width。 if (debug) printf (video %s \n,vdvideodevice)。 vdvideodevice = NULL。 if (grab method 0 || grabmethod 1) grabmethod = 1。int init_videoIn (struct vdIn *vd, char *device, int width, int height, int format, int grabmethod){ int err = 1。struct video_window videowin :表示采集窗口參數(shù),如分辨率等。struct video_mmap vmmap: 用于內(nèi)存映射的結(jié)構(gòu)體。 int formatIn。 volatile int frame_cour。 unsigned char *ptframe [4]。 int norme。 char bridge[9]。 struct video_channel videochan。 int mmapsize。struct vdIn{ int fd。 視頻采集程序流程圖第一節(jié) 基于V4L的編程一、 攝像頭相關(guān)數(shù)據(jù)結(jié)構(gòu)攝像頭的組成部分是傳感器、DSP、鏡頭、外殼、USB連線、電路板和周邊電路構(gòu)成,其中最重要的是傳感器和DSP(數(shù)字信號處理器)。Linux下的調(diào)試工具非常的少,gdb是Linux下最著名的調(diào)試工具,它是GNUC自帶的調(diào)試工具,它可以使開發(fā)人員了解程序運行的詳細(xì)細(xì)節(jié),從而消除程序的錯誤,達(dá)到調(diào)試的目的,gdb還具有遠(yuǎn)程調(diào)試功能,可以滿足嵌入式系統(tǒng)調(diào)試的要求,在調(diào)試過程中PC機(jī)也稱為宿主機(jī)和嵌入式系統(tǒng)通過串口協(xié)議或者TCP/IP協(xié)議連接起來,遠(yuǎn)程主機(jī)上運行被gdb規(guī)范斷點改造過的內(nèi)核,當(dāng)條件成立時,斷點被激活,然后等待本地宿主機(jī)的連接命令,一旦連接成功,宿主機(jī)就可以向遠(yuǎn)程嵌入式系統(tǒng)發(fā)送調(diào)試命令了。它是日志結(jié)構(gòu)的文件系統(tǒng),提供了損耗平衡和掉電保護(hù),可以有效地避免意外掉電對文件系統(tǒng)一致性和完整性的影響。本系統(tǒng)采用的是JFFS2文件系統(tǒng)。在文件系統(tǒng)內(nèi)部,根據(jù)存儲設(shè)備的特點,使用不同的文件組織模式來實現(xiàn)文件的邏輯結(jié)構(gòu)。FLASH具有獨特的物理特性,所以必須使用專門的嵌入式文件系統(tǒng)。接著需要makeclean刪除前面步驟留下的文件,以避免出現(xiàn)一些錯誤。在實驗過程中,只需要在這個內(nèi)核的基礎(chǔ)上進(jìn)行添加和刪減所需要和不需要的功能,編譯后就可以使用了。二、 Linux 內(nèi)核移植選用嵌入式Linux作為目標(biāo)機(jī)操作系統(tǒng),一方面由于Linux是一款免費的操作系統(tǒng),能很好的降低成本,同時Linux的開發(fā)應(yīng)用現(xiàn)在已經(jīng)成為熱門,有大量的資源可用于學(xué)習(xí)與重復(fù)應(yīng)用,并且Linux系統(tǒng)具有良好的可移植性和可裁剪性,能自動支持多任務(wù)管理。(5)調(diào)用內(nèi)核文件運行。這個階段主要任務(wù)有:( l)初始化本階段要使用的硬件設(shè)備。(2) 。工作于這種模式下的BootLoader通常都會向它的終端用戶提供一個簡單的命令行接口。這種模式是BootLoader的正常工作模式,因此在嵌入式產(chǎn)品發(fā)布的時候,BootLoader顯然必須工作在這種模式下。有的BootLoader會先從串口或者網(wǎng)絡(luò)等其他途徑得到內(nèi)核的映像文件,然后把這些文件寫入目標(biāo)系統(tǒng)的FLASH或者其它存儲介質(zhì),最后再把內(nèi)核載入RAM執(zhí)行,交出控制權(quán)。這個動作也大都由匯編語言來完成,主要是初始化CPU、SDRAM等,其他的硬件,例如串口,可以由c語言等比較高級的程序語言來完成后續(xù)動作。通過這段程序,可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),以便為最終加載操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。成功建立好開發(fā)環(huán)境后便可以運用這些工具進(jìn)行嵌入式系統(tǒng)開發(fā)。和通用的編譯器之間最大的差別就在于跨平臺編譯器編譯出來的可執(zhí)行程序通常只能在特定CPU所屬平臺上運行。 虛擬機(jī)下Linux操作系統(tǒng)第二節(jié) 交叉編譯環(huán)境的建立通常嵌入式系統(tǒng)的軟件編譯和執(zhí)行是在兩個不同平臺上進(jìn)行的。ARM技術(shù)和Linux成功地結(jié)合,應(yīng)用于數(shù)以千計的商業(yè)產(chǎn)品中。嵌入式Linux現(xiàn)已成為嵌入式操作系統(tǒng)的理想選擇[6]。由于Linux的源碼開放,內(nèi)核精簡且性能強(qiáng)悍,不依賴于具體廠商,能廣泛適用于各種硬件設(shè)備,系統(tǒng)二次開發(fā)成本極低,因此在IT業(yè)界已經(jīng)達(dá)成共識,即采用嵌入式Linux作為嵌入式操作系統(tǒng)是大勢所趨[5]。串口0終端的交互方式是命令行的模式,在BOOT階段,支持簡單的BOOT命令。就是LAN91C111完成數(shù)據(jù)包和電信號之間的相互轉(zhuǎn)換。嵌入式設(shè)備最大的優(yōu)點就是網(wǎng)絡(luò)功能強(qiáng)大,它能像PC一樣方便地連接到互聯(lián)網(wǎng)上,這些功能都是網(wǎng)絡(luò)控制器的作用。除了SDRAM,F(xiàn)LASH也是一種存儲媒介。同時,系統(tǒng)及用戶堆棧、運行數(shù)據(jù)也都放在SDRAM中。CPU是通過總線信號來控制SDRAM ,FLASH,網(wǎng)卡,SUPERIO等外部設(shè)備的,無論是低速還是高速,只要是與總線相關(guān)的芯片,都要和CPU總線信號有關(guān)。 核心板正面圖 核心板背面圖底版(4層PCB電路)。Net: 10/100M Ethernet controller (LAN91C111)。內(nèi)置了英特爾的無線MMX技術(shù),能夠顯著提升多媒體性能。它的特點有:超流水線、高主頻、存儲體系、分支預(yù)測和指令集體系結(jié)構(gòu)。每個系列除了具有ARM體系結(jié)構(gòu)的共同特點以外,都有各自的特點和應(yīng)用領(lǐng)域。ARM處理器以其完整的體系結(jié)構(gòu),極小的體積、極低的功耗、極低的成本、極高的性能,及時根據(jù)嵌入對象的不同進(jìn)行功能上的擴(kuò)展的優(yōu)勢,在眾多種類的嵌入式微處理器中脫穎而出。 系統(tǒng)整體結(jié)構(gòu)圖該系統(tǒng)中CPU采用基于ARM的PXA270微處理器,通過在其上運行Linux操作系統(tǒng),執(zhí)行Boa視頻服務(wù)器,接受并處理來自攝像頭的圖像信號,通過以太網(wǎng)控制器發(fā)送至遠(yuǎn)端,實現(xiàn)視頻數(shù)據(jù)的遠(yuǎn)程傳輸和接受,達(dá)到視頻監(jiān)控的目的[2]。嵌入式并沒有統(tǒng)一的定義,但目前有一個廣泛而又被認(rèn)可的規(guī)范:將軟件產(chǎn)品固化到硬件平臺上,完成應(yīng)有的功能既是嵌入式。圍繞它,不管是硬件結(jié)構(gòu)還是軟件流程,都需要學(xué)習(xí)和研究,不斷調(diào)試,決不放棄。 第三節(jié) 本文的內(nèi)容及主要工作根據(jù)畢業(yè)設(shè)計的初衷,我們需要設(shè)計基于ARM的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)。用戶可以通過在家中安裝攝像頭,利用家庭網(wǎng)關(guān)作為視頻服務(wù)器,用戶在遠(yuǎn)程通過Internet實時監(jiān)控家庭安全。然而,隨著社會信息化的進(jìn)步,越來越多的行業(yè)和領(lǐng)域視頻監(jiān)控的需求大量增加,即便是公安這樣的傳統(tǒng)用戶也在平安城市方面對城市監(jiān)控提出了全新的格局和功能要求。不僅如此,在電力系統(tǒng)、電信機(jī)房、工廠、城市交通、水利系統(tǒng)、小區(qū)治安等領(lǐng)域,視頻監(jiān)控系統(tǒng)得到越來越廣泛的應(yīng)用。網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)在美國一夜之間極受歡迎。Consumer)產(chǎn)品方向發(fā)展,應(yīng)用嵌入式技術(shù),只需要一個手掌大的小盒子,就能實現(xiàn)所有監(jiān)控的功能,這樣的優(yōu)勢促使人們在視頻監(jiān)控系統(tǒng)上的需求持續(xù)增加。以往的監(jiān)控系統(tǒng)體積過于龐大、技術(shù)落后、成本高昂,這直接影響了視頻監(jiān)控系統(tǒng)的普及程度。嵌入式視頻監(jiān)控系統(tǒng)比其他視頻監(jiān)控系統(tǒng)在布
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1