基于嵌入式系統(tǒng)的網(wǎng)絡(luò)視頻傳輸系統(tǒng)設(shè)計(jì)報(bào)告(北方工業(yè)大學(xué)二隊(duì))
《基于嵌入式系統(tǒng)的網(wǎng)絡(luò)視頻傳輸系統(tǒng)設(shè)計(jì)報(bào)告(北方工業(yè)大學(xué)二隊(duì))》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于嵌入式系統(tǒng)的網(wǎng)絡(luò)視頻傳輸系統(tǒng)設(shè)計(jì)報(bào)告(北方工業(yè)大學(xué)二隊(duì))(21頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、2008 第四屆“博創(chuàng)杯”全國(guó)大學(xué)生嵌入式設(shè)計(jì)大賽 基于嵌入式系統(tǒng)的網(wǎng)絡(luò)視頻傳輸系統(tǒng) Network Video transmission System Based on Embedded 2008 年 7 月 18 日 2008 第四屆“博創(chuàng)杯”全國(guó)大學(xué)生嵌入式設(shè)計(jì)大賽 摘要 本文設(shè)計(jì)了一個(gè)基于嵌入式 WinCE操作系統(tǒng)的軟件,它能夠 將 USB攝像頭采集到的視頻數(shù)據(jù),使用 PXA270S實(shí)驗(yàn)箱上的服 務(wù)端,經(jīng)由網(wǎng)絡(luò)傳遞給電腦上的客戶端,并且顯示出來。這里采 用的通信方式是 TCP通信。軟件系統(tǒng)包括兩大部分:視頻圖像采 集和視頻圖像傳輸。 視頻圖像采集部分描述了 USB攝像頭驅(qū)動(dòng)設(shè)計(jì)過程和實(shí)
2、現(xiàn)圖 像采集功能的程序;而視頻圖像傳輸部分,首先簡(jiǎn)單介紹了 socket通信原理,并且詳細(xì)論述了客戶端和服務(wù)端如何使用 TCP 進(jìn)行通信,完成視頻傳輸?shù)倪^程,然后還介紹了如何將攝像頭采 集到的圖像數(shù)據(jù)顯示出來??蛻舳撕头?wù)端程序分別使用 Visual C+6.0和 eMbedded Visual C+進(jìn)行開發(fā)。 程序編寫完成后,同時(shí)運(yùn)行客戶端和服務(wù)端并加載攝像頭驅(qū) 動(dòng)程序,通過以太網(wǎng),就可以實(shí)現(xiàn)視頻傳輸?shù)墓δ芰恕?關(guān)鍵詞: PXA270S; WinCE; USB Camera驅(qū)動(dòng);視頻采集;視頻傳輸 2008 第四屆“博創(chuàng)杯”全國(guó)大學(xué)生嵌入式設(shè)計(jì)大賽 Abstract Abstract: Th
3、is article describes a kind of software based on embedded wince operating system. This software can collect video data by using USB Camera. Then the server on PXA270S experiment box will send this data to the client through network. At the same time, this video data will be displayed both on the ser
4、ver and the client. TCP communication is supposed to be the mode of network communication. This software system contains two parts, including video data collection and video data transmission. The part of video data collection describes how to develop USB Camera driver and collect video data. The pa
5、rt of video data transmission describes sockets communication principle, at first. It also describes the client how to communicate with the server by using TCP communication, and send data to each other. At last, all of video data will be displayed on the server and the client. The server program is
6、 developed by using eMbedded Visual C+, the client program by using Visual C+ 6.0. After all above have be done, run the server and the client, load 2008 第四屆“博創(chuàng)杯”全國(guó)大學(xué)生嵌入式設(shè)計(jì)大賽 the USB Camera driver, the video data will be successfully transmitted. Keywords: PXA270S; WinCE; USB Camera drive; video dat
7、a acquisition; video data transmission 2008 第四屆“博創(chuàng)杯”全國(guó)大學(xué)生嵌入式設(shè)計(jì)大賽 目 錄 第 1 章 緒論 .6 第 2 章 系統(tǒng)總體設(shè)計(jì) .6 2.1系統(tǒng)組成 6 2.2設(shè)備介紹6 2.3驅(qū)動(dòng)程序簡(jiǎn)介6 第 3 章 功能與指標(biāo) .7 第 4 章 實(shí)現(xiàn)原理 .7 第 5 章 硬件框圖 7 第 6 章 軟件流程 .8 6.1 WINCE 下的 USB CAMERA 驅(qū)動(dòng)8 6.1.1WINDOWS CE編寫的 USB CAMERA驅(qū)動(dòng)程序8 6.1.2 USB CAMERA驅(qū)動(dòng)的實(shí)現(xiàn)8 6.2服務(wù)端視頻采集9 6.3視頻圖像傳輸10 6.4 PC機(jī)
8、上 TCP客戶端程 序11 6.4.1 CTCPClient_CE類概述及應(yīng)用11 6.4.2 TCP客戶端程序其他類簡(jiǎn)單概述13 6.4.3 WinCE上 TCP服務(wù)端程序14 6.4.4 CTCPCustom_CE類說明14 6.4.5 CTCPServer_CE類說明15 6.4.6 TCP服務(wù)端程序16 第 7 章 測(cè)試方案及結(jié)果 .18 7.1 系統(tǒng)測(cè)試方案.18 7.2 測(cè)試設(shè)備.18 7.3 測(cè)試結(jié)果 .18 第 8 章 實(shí)現(xiàn)功能 .19 第 9 章 特色 .20 參考文獻(xiàn) . 附錄 .錯(cuò)誤!未定義書簽。 2008 第四屆“博創(chuàng)杯”全國(guó)大學(xué)生嵌入式設(shè)計(jì)大賽 6 第 1 章 緒論
9、隨著信息科學(xué)技術(shù)的高速發(fā)展,網(wǎng)絡(luò)技術(shù)和數(shù)字視頻技術(shù)都已經(jīng)日趨成熟; 同樣的,網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)已被廣泛應(yīng)用在很多場(chǎng)所。這里將研究視頻采集與傳 輸功能在網(wǎng)絡(luò)視頻電話中的具體應(yīng)用。所使用的實(shí)驗(yàn)平臺(tái)是 PXA270-S實(shí)驗(yàn)箱。 選用的 USB攝像頭也是目前常用的,其輸出的視頻為經(jīng)過 JPEG壓縮后的數(shù)字視 頻,因此無需再進(jìn)行視頻壓縮。加上以太網(wǎng)不會(huì)受到網(wǎng)絡(luò)帶寬限制,所以采集到 的數(shù)字視頻可以直接通過以太網(wǎng)傳輸?shù)?PC機(jī)上,減少了硬件設(shè)計(jì)的復(fù)雜度。 第二章 系統(tǒng)總體設(shè)計(jì) 2.1系統(tǒng)組成 系統(tǒng)主要包括兩個(gè)部分:一個(gè)是 USB視頻圖像的數(shù)據(jù)采集;另外一個(gè)就是視 頻圖像傳輸系統(tǒng)。系統(tǒng)硬件架構(gòu)如圖 1。 攝像頭
10、 PXA270S 網(wǎng)線 PC機(jī) 圖 1 2.2設(shè)備介紹 PXA270S開發(fā)系統(tǒng),基于 Intel公司最新的 XScale架構(gòu) PXA270-S,ARM 系 列處理器,最高主頻可達(dá) 624MHz,加入了 Wireless MMX技術(shù),提升了多媒體處 理能力;同時(shí) PXA270還加入了 Intel Speed Step動(dòng)態(tài)電源管理技術(shù),在保證 CPU性能的情況下,最大限度地降低移動(dòng)設(shè)備功耗。 USB攝像頭采用羅技快看高手 5000(Logitech QuickCam 5000),它采用高品 質(zhì) CMOS圖像傳感器,130 萬像素,最大分辨率 640*480,高速 USB2.0傳輸接口。 另外,還有
11、以太網(wǎng)轉(zhuǎn)換器和客戶端的 PC機(jī)。 2.3 軟件介紹 軟件系統(tǒng)由系統(tǒng)引導(dǎo)加載程序 Bboot.nb0載入嵌入式 WinCE內(nèi)核、USB Camera驅(qū)動(dòng)和 CE端應(yīng)用程序等組成。在 PXA270S BSP基礎(chǔ)上,根據(jù)具體需要, 2008 第四屆“博創(chuàng)杯”全國(guó)大學(xué)生嵌入式設(shè)計(jì)大賽 7 使用 Platform Builder定制將在 PXA270S實(shí)驗(yàn)平臺(tái)上使用的 WinCE內(nèi)核。另 外使用 eMbedded Visual C+開發(fā)在 WinCE平臺(tái)下的 USB Camera驅(qū)動(dòng)和 CE服務(wù) 端應(yīng)用程序,而 PC機(jī)上客戶端的程序則在 Visual C+6.0上進(jìn)行開發(fā)。 第三章 功能與指標(biāo) 我們通過
12、 USB攝像頭采集到的視頻經(jīng)過 JPEG壓縮后的數(shù)字視頻可以直接在以 太網(wǎng)上傳輸。在 PXA270S處理器的控制下,可以把 USB攝像頭采集到的視頻通 過以太網(wǎng)發(fā)送到遠(yuǎn)端的 PC上,以達(dá)到視頻對(duì)話的效果,其圖像清晰,速度快捷。 其中 PXA270S 平臺(tái)上的視頻采集速率為 15 幀,而 PC 機(jī)所接收到的視頻采集 速率也能在 10 幀以上且較為穩(wěn)定。 第四章 實(shí)現(xiàn)原理 USB 系統(tǒng)由 USB 主機(jī),一個(gè)或多個(gè) USB 設(shè)備和物理總線組成。主機(jī)上又分 兩層:較高的包含 USB 設(shè)備驅(qū)動(dòng)程序的軟件層和主機(jī)控制器硬件層。主機(jī)的用于 控制對(duì) USB 設(shè)備的雙向數(shù)據(jù)傳輸。物理總線是一組 USB電纜用來將
13、控制器和外圍 設(shè)備連接起來。WinCE 的 USB 系統(tǒng)軟件由兩層組成: USB 設(shè)備驅(qū)動(dòng)程序?qū)雍偷?層的由 WinCE實(shí)現(xiàn)的 USB 函數(shù)層。較低的 USB 函數(shù)層本身又由兩部分組成 較高的通用串行總線驅(qū)動(dòng)程序(USBD)模塊和較低的主控制器驅(qū)動(dòng)程序(HCD) 模塊。HCD 提供了抽象的主機(jī)控制器,且對(duì)主機(jī)控制器所見到的 USB 系統(tǒng)的數(shù)據(jù) 傳輸進(jìn)行了抽象。USBD 提供一個(gè)抽象的設(shè)備,且對(duì) USBD客戶和 USB 設(shè)備功能部 件之間的數(shù)據(jù)傳輸進(jìn)行抽象。USB 設(shè)備驅(qū)動(dòng)程序使用 USBD 接口函數(shù)與外圍設(shè)備 進(jìn)行通信 第五章硬件框圖 2008 第四屆“博創(chuàng)杯”全國(guó)大學(xué)生嵌入式設(shè)計(jì)大賽 8 第
14、六章 軟件流程 6.1 WinCE 下的 USB camera 驅(qū)動(dòng) 6.1.1 Windows CE 編寫的 USB camera 驅(qū)動(dòng)程序 USB 設(shè)備驅(qū)動(dòng)程序必須輸出的函數(shù)有: USBDeviecAttach() /初始化 USB 設(shè)備 USBInstallDriver() /創(chuàng)建一個(gè)驅(qū)動(dòng)程序加載所需的注冊(cè)表信息 USBUninstallDriver() /釋放驅(qū)動(dòng)程序所占用的資源,刪除注冊(cè)表等。 6.1.2 WinCE 下的 USB camera 驅(qū)動(dòng)實(shí)現(xiàn) 首先是具體的注冊(cè)表信息,在platform.reg 中添加以下注冊(cè)項(xiàng)即可。 HKEY_LOCAL_MACHINEDriversUS
15、BLoadClients1133_2245Default DefaultVideo_Class “DLL”=“webcam.DLL” HKEY_LOCAL_MACHINEDriversUSBClientDriversVideo_Class “Prefix”=“CAM” 2008 第四屆“博創(chuàng)杯”全國(guó)大學(xué)生嵌入式設(shè)計(jì)大賽 9 “Dll”=“webcam.DLL” 另外還要在 USBCode.cpp 中針對(duì) USB 攝像頭的 PID、VID 對(duì)以下定義做修改: #define VID_LOGITECH 1133 #define PID_QUICKCAMPRO5000 2245 #define PI
16、D_MIKESQUICKCAM 2226 在 WebCam.h 文件中針對(duì)以下幾項(xiàng)定義要做修改: #define DRIVER_NAME TEXT(Webcam.dll) #define DEVICE_PREFIX TEXT(CAM) #define CLASS_NAME_SZ TEXT(Video_Class) #defineCLIENT_REGKEY_SZTEXT(DriversUSBClientDriversVideo_Cla ss) 外設(shè)插入時(shí),首先調(diào)用 USBDeviceAttach()函數(shù)。 接下來調(diào)用 ActivateDevice()它用來分配,填寫設(shè)備內(nèi)容。 USBDevice
17、Attach()最后要完成的工作是在此函數(shù)內(nèi)調(diào)用 USBD 模塊的 RegisterNotificationRoutine 函數(shù)登記注冊(cè) DeviceNotify 函數(shù),用于相應(yīng)的 善后工作。自此,系統(tǒng)完成外設(shè)加載。 6.2 服務(wù)端視頻采集 在 USB Camera驅(qū)動(dòng)成功加載之后,要對(duì)其輸出的視頻圖像壓縮數(shù)據(jù)進(jìn)行分析、 還原,以完成視頻圖像的采集過程。這些功能由我們所設(shè)計(jì)的 TCP服務(wù)端來實(shí)現(xiàn), 具體的函數(shù)定義以及程序代碼分別在文件 CameraCode.h和文件 CameraCode.cpp 中。 在文件 CameraCode.h添加如下函數(shù): InitCamera () /打開攝像頭;
18、ShutdownCamera () /關(guān)閉攝像頭; GetVideoFormats /獲取視頻圖像的格式 GetStillFormats /獲取靜態(tài)圖片的格式 WriteJPEG()/將圖像保存為一個(gè) JPEG格式的文件。 2008 第四屆“博創(chuàng)杯”全國(guó)大學(xué)生嵌入式設(shè)計(jì)大賽 10 6.3 視頻圖像傳輸系統(tǒng) 在此我們要應(yīng)用到 Windows Sockets規(guī)范和 TCP編程。 Windows Sockets規(guī)范的本意在于提供給應(yīng)用程序開發(fā)者一套簡(jiǎn)單的 API。它 規(guī)范定義并記錄了如何使用 API與 Internet協(xié)議族連接。 實(shí)現(xiàn)實(shí)際的通訊工作。他們之間的工作關(guān)系如圖 3示。而且 WINCE平
19、臺(tái)還提 供 了 Socket的 API函數(shù)。 圖 3 socket通信具體應(yīng)用流程圖 TCP(Transport Control Protocol)表示傳輸控制協(xié)議。他的服務(wù)端和客戶 端的流程圖如圖 4示。 2008 第四屆“博創(chuàng)杯”全國(guó)大學(xué)生嵌入式設(shè)計(jì)大賽 11 圖 4 TCP服務(wù)端和客戶端的流程圖 下面將具體介紹分析 WinCE上 TCP服務(wù)端和 PC機(jī)上 TCP客戶端程序。 6.4 PC 機(jī)上 TCP 客戶端程序 在客戶端應(yīng)用程序設(shè)計(jì)中,首先要?jiǎng)?chuàng)建 CTCPClient_CE類,完成對(duì) TCP封裝, 然后調(diào)用該類與 TCP服務(wù)端建立連接,并進(jìn)行數(shù)據(jù)傳輸,最后再斷開與 TCP服務(wù) 端的連接
20、。下面介紹程序的具體實(shí)現(xiàn)過程。 6.4.1 CTCPClient_CE 類概述及應(yīng)用 CTCPClient_CE類主要用于封裝 WinCE socket API函數(shù),其使用流程如圖。 2008 第四屆“博創(chuàng)杯”全國(guó)大學(xué)生嵌入式設(shè)計(jì)大賽 12 圖 5 CTCPClient_CE類的使用流程 其具體應(yīng)用及代碼如下: 1) 建立私有函數(shù) private: CTCPClient_CE m_tcpClient; 用于引用 CTCPClient_CE類。 2) 設(shè)計(jì) IDD_PCCAMCTRL_FORM對(duì)話框。 為 CMainFrame類添加三個(gè)私有靜態(tài)函數(shù) OnDisConnect、OnRead、OnE
21、rror, 分別用于處理客戶端連接斷開事件、從客戶端讀取數(shù)據(jù)事件和客戶端 socket錯(cuò) 誤事件。 3) 為“連接”和“斷開”按鈕添加單擊事件代碼。 4) 加入以下函數(shù): void SendCMD(long cmd); 向終端發(fā)送命令信息 void SendCMDData(long cmd,CString data); 發(fā)送命令數(shù)據(jù) void ProcessWebCmd(long datasize); 處理網(wǎng)絡(luò)命令 2008 第四屆“博創(chuàng)杯”全國(guó)大學(xué)生嵌入式設(shè)計(jì)大賽 13 6.4.2 TCP 客戶端程序其他類簡(jiǎn)單概述 首先要說的是 CPCCAMCTRLView, 具體定義如下: public:
22、 void DisplayFrame (PBYTE pData,DWORD dwSize); 顯示接收到的圖片 另外 CPictureCtrl類和 CPicture類,其中分別用到了重載函數(shù) LoadImage 和 Load,同時(shí)也都包含了函數(shù) GetImageSize,這些函數(shù)共同完成了對(duì)顯示圖片 大小的控制。CPictureCtrl 類還包含了函數(shù) OnPaint,用以繪制圖片。 至此 TCP客戶端程序就編寫完畢了。TCP 客戶端程序具體流程圖如圖 6。 圖 6 TCP客戶端程序工作流程圖 2008 第四屆“博創(chuàng)杯”全國(guó)大學(xué)生嵌入式設(shè)計(jì)大賽 14 6.4.3 WinCE上 TCP服務(wù)端程序
23、 TCP服務(wù)端將會(huì)創(chuàng)建 CTCPServer_CE和 CTCPCustom_CE兩個(gè)類: CTCPServer_CE 監(jiān)聽客戶端的連接 CTCPCustom_CE 與客戶端進(jìn)行通訊 CTCPServer_CE類和 CTCPCustom_CE類的關(guān)系如圖 7。 圖 7 CTCPServer_CE類和 CTCPCustom_CE類的關(guān)系圖 6.4.4 CTCPCustom_CE 類說明 CTCPCustom_CE類的實(shí)現(xiàn)步驟。 1) 通過 EVC主菜單創(chuàng)建一個(gè)新的類 CTCPCustom_CE,并且綁定 winsock.lib 庫(kù)。 2) CTCPCustom_CE類具體代碼如下: public:
24、 CTCPServer_CE * m_pTCPServer_CE; /引用 TCP服務(wù)端監(jiān)聽 Socket bool Open(CTCPServer_CE *pTCPServer);/打開 socket,創(chuàng)建通訊線程 CString m_RemoteHost; /遠(yuǎn)程主機(jī) IP地址 DWORD m_RemotePort; /遠(yuǎn)程主機(jī)端口號(hào) SOCKET m_socket; /通訊 Socket句柄 bool Send(CTCPServer_CE*pTCPServer);/ 向客戶端發(fā)送數(shù)據(jù) bool Close(); /關(guān)閉 socket,關(guān)閉線程,釋放 Socket資源 private: H
25、ANDLE m_tcpThreadHandle; /通訊線程句柄 2008 第四屆“博創(chuàng)杯”全國(guó)大學(xué)生嵌入式設(shè)計(jì)大賽 15 SocketThreadFunc;/ 監(jiān)聽與客戶端連接的 socket通訊的事件 HANDLE m_exitThreadEvent; /通訊線程退出事件句柄 6.4.5 CTCPServer_CE 類說明 CTCPServer_CE類主要職責(zé)是負(fù)責(zé)監(jiān)聽并接受客戶端連接。 1) 在 TCPServer_CE.h文件中添加如下代碼用于定義幾種函數(shù)類型。 #include class CTCPCustom_CE; class CTCPServer_CE;/定義客戶端連接建立事件
26、 typedef void (CALLBACK* ONCLIENTCONNECT)(CWnd*,CTCPCustom_CE*); /定義客戶端 SOCKET關(guān)閉事件 typedef void (CALLBACK* ONCLIENTCLOSE)(CWnd*,CTCPCustom_CE*); /定義客戶端當(dāng)有數(shù)據(jù)接收事件 typedef void (CALLBACK* ONCLIENTREAD)(CWnd*,CTCPCustom_CE*,N_Packet *);/定義客戶端 Socket錯(cuò)誤事件 typedef void (CALLBACK* ONCLIENTERROR)(CWnd*,CTCPCu
27、stom_CE*,int nErrorCode);/定義服務(wù)器端 Socket錯(cuò)誤事件 typedef void (CALLBACK* ONSERVERERROR)(CWnd*,CTCPServer_CE*,int nErrorCode); 2) 為 CTCPServer_CE類添加一些公有成員變量,私有成員變量及成員函數(shù), 這些變量的定義如下: public: int m_LocalPort; /設(shè)置服務(wù)端口號(hào) CWnd * m_pOwnerWnd; /父窗口句柄 Open() /打開 TCP服務(wù) ONCLIENTCONNECT OnClientConnect; /客戶端連接建立事件,回調(diào)函
28、數(shù) ONCLIENTCLOSE OnClientClose; /客戶端連接斷開事件,回調(diào)函數(shù) ONCLIENTREAD OnClientRead; /客戶端接收數(shù)據(jù)事件,回調(diào)函數(shù) ONCLIENTERROR OnClientError; /客戶端發(fā)生錯(cuò)誤事件,回調(diào)函數(shù) 2008 第四屆“博創(chuàng)杯”全國(guó)大學(xué)生嵌入式設(shè)計(jì)大賽 16 ONSERVERERROR OnServerError; /服務(wù)器端發(fā)生錯(cuò)誤事件 ,回調(diào)函數(shù) Close() /關(guān)閉 TCP服務(wù) private: SOCKET m_ServerSocket; /TCP服務(wù)監(jiān)聽 socket HANDLE m_serverThreadHa
29、ndle; /通訊線程句柄 HANDLE m_exitThreadEvent; /通訊線程退出事件句柄 注意,這里有一個(gè)非常重要的屬性 m_LocalPort,該屬性表示 TCP服務(wù)端的 端口號(hào)。用戶可以選擇 1024之后的端口。 3) 在 CTCPServer_CE類的構(gòu)造函數(shù)和析構(gòu)函數(shù)里分別創(chuàng)建線程退出事件和 關(guān)閉線程退出事件。 4) 在 TCPServer_CE.cpp文件中添加全局靜態(tài)變量 m_ListClientSocket,用 于儲(chǔ)存客戶端連接的 Socket列表,并引用 TCPCustom_CE.h文件和 afxtempl.h 文件。 5) 為 CTCPServer_CE類添加一
30、個(gè)私有靜態(tài)線程函數(shù) SocketThreadFunc。該 線程用于監(jiān)聽服務(wù)器套接字事件。 SocketThreadFunc函數(shù)定義如下: private: static DWORD SocketThreadFunc(PVOID lparam); /線程處理函數(shù) 6.4.6 TCP 服務(wù)端程序 1) 為 CMainFrame類添加私有成員變量 m_tcpServer,用它來實(shí)現(xiàn) TCP服務(wù) 同時(shí)設(shè)置網(wǎng)絡(luò)信息。具體定義如下: public: void SendCMD(long cmd); / 向 PC發(fā)送命令信息 bool SendCMDData(long cmd, const char * pb
31、uf , int len);/ 向 PC發(fā) 送命令數(shù)據(jù) void ProcessWebCmd(void); / 處理網(wǎng)絡(luò)命令 N_Packet P_RCV; / 包緩沖區(qū) N_Packet P_SEND; / 包緩沖區(qū) 2008 第四屆“博創(chuàng)杯”全國(guó)大學(xué)生嵌入式設(shè)計(jì)大賽 17 private: CTCPServer_CE m_tcpServer; /定義 CTCPServer_CE對(duì)象 2) 接下來設(shè)計(jì) IDD_LGCAMCECTRL_FORM對(duì)話框,然后為 CMainFrame類添加 5 個(gè)私有靜態(tài)函數(shù)。 OnClientConnect/處理客戶端連接建立事件 OnClientClose/處
32、理客戶端 Socket關(guān)閉事件 OnClientRead/處理服務(wù)端收到的來自客戶端的數(shù)據(jù)事件 OnClientError/處理客戶端 Socket錯(cuò)誤事件 OnServerError/處理服務(wù)端 Socket錯(cuò)誤事件。 3) 為“啟用網(wǎng)絡(luò)” 、 “關(guān)閉網(wǎng)絡(luò)”添加單擊事件代碼。單擊“啟用網(wǎng)絡(luò)”按 鈕后,TCP 服務(wù)器就開始監(jiān)聽,等待客戶端的連接;單擊“關(guān)閉網(wǎng)絡(luò)” 按鈕后, 將關(guān)閉處于監(jiān)聽狀態(tài)的 TCP服務(wù)器。 2008 第四屆“博創(chuàng)杯”全國(guó)大學(xué)生嵌入式設(shè)計(jì)大賽 18 圖 8 服務(wù)端工作流程圖 第七章 系統(tǒng)測(cè)試 7.1測(cè)試方案 首先在 CE端加載攝像頭驅(qū)動(dòng),再運(yùn)行服務(wù)端“啟用網(wǎng)絡(luò)” ,然后運(yùn)行客
33、戶 端“連接” ,建立與服務(wù)端的連接,最后在服務(wù)端選擇“開始預(yù)覽” ,這樣服 務(wù)端與客戶端就能同時(shí)顯示圖像了。 7.2測(cè)試設(shè)備: PXA270-S實(shí)驗(yàn)箱、USB 羅技快看高手 5000攝像頭、PC 機(jī)和以太網(wǎng)交換機(jī)。 7.3 測(cè)試結(jié)果: 客戶端運(yùn)行過程截圖如圖 9所示,服務(wù)端運(yùn)行過程截圖如圖 10所示。 2008 第四屆“博創(chuàng)杯”全國(guó)大學(xué)生嵌入式設(shè)計(jì)大賽 19 圖 9 客戶端截圖 圖 10 服務(wù)端截圖 第八章 實(shí)現(xiàn)功能 結(jié)合 USB Camera 羅技快看高手 5000(Logitech QuickCam 5000)的驅(qū)動(dòng)開 發(fā),簡(jiǎn)單介紹了 USB 設(shè)備的驅(qū)動(dòng)設(shè)計(jì)框架。同時(shí),設(shè)計(jì)了基于 Win
34、CE 操作系統(tǒng) 和 PXA270S 平臺(tái)的視頻傳輸系統(tǒng)。此系統(tǒng)能夠?qū)?USB Camera 采集的視頻數(shù) 據(jù)壓縮,然后使用實(shí)驗(yàn)平臺(tái)與 PC 機(jī)之間的網(wǎng)絡(luò),通過 TCP 進(jìn)行視頻數(shù)據(jù)傳輸。 其中,PXA270 S 平臺(tái)上的視頻采集速率為 15 幀,而 PC 機(jī)所接收到的視頻采 集速率也能在 10 幀以上且較為穩(wěn)定。 2008 第四屆“博創(chuàng)杯”全國(guó)大學(xué)生嵌入式設(shè)計(jì)大賽 20 第九章 特色 整套系統(tǒng)的特色在于能夠通過網(wǎng)絡(luò),方便快捷的傳遞清晰,穩(wěn)定的視頻圖像。 USB camera 攝像頭,PXA270-S 實(shí)驗(yàn)箱便于攜帶,彌補(bǔ)了大型圖像采集設(shè)備笨重, 不便的缺陷。其次可以在第一時(shí)間通過網(wǎng)絡(luò)傳遞視頻信
35、息,并且可以重復(fù)使用, 體現(xiàn)了它的快捷,同時(shí)也達(dá)到了節(jié)省資源空間的效果。 參考文獻(xiàn) 1. 汪兵,李存斌,陳鵬.EVC高級(jí)編程及其應(yīng)用開發(fā)(Embedded Visual C+嵌入式編程). 北京:中國(guó)水利水電出版社,2005,353-385. 2. 侯娟,王陸林,劉貴如. 基于ARM和WINCE 的USB 視頻采集與傳輸系統(tǒng)的設(shè)計(jì). 科技情 報(bào)開發(fā)與經(jīng)濟(jì).2008年,18卷(第3期):171-172. 3. 張偉,賀賽先.基于WinCE.Net的USB Camera驅(qū)動(dòng)開發(fā).計(jì)算機(jī)工程.2006年7月,32卷 (第13期):274-276. 4. 關(guān)學(xué)忠,李洪宇,李國(guó)盛.基于WinCE的ARM
36、視頻監(jiān)控系統(tǒng).安防科技.2007年,1期:63-65. 5. 吳松華,吳偉國(guó).基于WinCE.net的嵌入式監(jiān)控軟件設(shè)計(jì)與實(shí)現(xiàn).軟件縱橫,2006年,3期: 45-48. 6. 張登銀, 盧棟梁. 面向?qū)ο蟮那度胧絋CPIP協(xié)議棧設(shè)計(jì). 江蘇大學(xué)學(xué)報(bào).2007年9月.第 28卷(第5期):417-420. 7. Alexander R TImproving the quality of objectoriented program. Software,IEEE,2001,18(5):9091. 8. Hsiung P A,Lee T Y,F(xiàn)u J MFormal verification of
37、 real-time embedded software in an object-oriented application framework Computers and Digital Techniques,IEEE Proceedings,2004,151(6):417434. 9. 侯俊杰.深入淺出MFC.武漢:華中科技大學(xué)出版社,2004. 10. Sandbank CP. Digital TV in the convergent environment. IEEE Computer Graphics and Applications,2001,21(1):3236. 2008 第四屆“博創(chuàng)杯”全國(guó)大學(xué)生嵌入式設(shè)計(jì)大賽 21 附錄 附錄 A 附錄 B 附錄 C 附錄 D
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 市教育局冬季運(yùn)動(dòng)會(huì)安全工作預(yù)案
- 2024年秋季《思想道德與法治》大作業(yè)及答案3套試卷
- 2024年教師年度考核表個(gè)人工作總結(jié)(可編輯)
- 2024年xx村兩委涉案資金退還保證書
- 2024年憲法宣傳周活動(dòng)總結(jié)+在機(jī)關(guān)“弘揚(yáng)憲法精神推動(dòng)發(fā)改工作高質(zhì)量發(fā)展”專題宣講報(bào)告會(huì)上的講話
- 2024年XX村合作社年報(bào)總結(jié)
- 2024-2025年秋季第一學(xué)期初中歷史上冊(cè)教研組工作總結(jié)
- 2024年小學(xué)高級(jí)教師年終工作總結(jié)匯報(bào)
- 2024-2025年秋季第一學(xué)期初中物理上冊(cè)教研組工作總結(jié)
- 2024年xx鎮(zhèn)交通年度總結(jié)
- 2024-2025年秋季第一學(xué)期小學(xué)語(yǔ)文教師工作總結(jié)
- 2024年XX村陳規(guī)陋習(xí)整治報(bào)告
- 2025年學(xué)校元旦迎新盛典活動(dòng)策劃方案
- 2024年學(xué)校周邊安全隱患自查報(bào)告
- 2024年XX鎮(zhèn)農(nóng)村規(guī)劃管控述職報(bào)告