基于WebServer的無線視頻終端在線配置方案與實(shí)現(xiàn)
在多模式無線視頻傳輸系統(tǒng)中嵌入Web服務(wù)器通過WLAN來實(shí)現(xiàn)對(duì)系統(tǒng)中的一些參數(shù)進(jìn)行重新配置,介紹了在嵌入式系統(tǒng)中架設(shè)Web服務(wù)器及進(jìn)行參數(shù)配置的具體方法。實(shí)驗(yàn)結(jié)果表明,本文的方法實(shí)現(xiàn)靈活方便,達(dá)到了設(shè)計(jì)的目標(biāo)。 1、前言 本文的工作基于“多模式無線視頻傳輸系統(tǒng)”[1-3]的框架,如圖1所示,該系統(tǒng)的前端是多模式無線視頻終端,既可以通過公共移動(dòng)網(wǎng)絡(luò)GPRS和CDMA1x提供廣域的中低速率無線接入,也可以通過WLAN提供局域的高速無線接入。視頻流的傳輸統(tǒng)一在IP層次傳輸,經(jīng)過Intranet或Internet,最終在本地的PC顯示終端進(jìn)行解碼并顯示圖像。為了使本系統(tǒng)適應(yīng)不同的使用環(huán)境,必須使系統(tǒng)中的初始參數(shù)能夠現(xiàn)場(chǎng)重新配置,本文的任務(wù)就是完成系統(tǒng)的相關(guān)參數(shù)比如視頻編碼的量化步長和圖像編碼格式、WLAN AP的信道和SSID及公網(wǎng)服務(wù)器和內(nèi)網(wǎng)服務(wù)器的IP地址等在線配置。
圖1 多模式無線視頻傳輸系統(tǒng)的框架 在參考了路由器的配置方法及系統(tǒng)已有的WLAN的傳輸方式[4],選擇在系統(tǒng)軟件中嵌入Web服務(wù)器的方案來完成該任務(wù)。由于HTML語言的標(biāo)準(zhǔn)統(tǒng)一性,就可以使用現(xiàn)有的Web瀏覽器與設(shè)備進(jìn)行雙向交互、接收或發(fā)送信息,可以在任何地方在系統(tǒng)開啟的情況下十分方便地控制、操縱、配置嵌入式設(shè)備。以下首先對(duì)嵌入式Web Server基本結(jié)構(gòu)和技術(shù)要點(diǎn)進(jìn)行分析,然后詳細(xì)描述本文采用的方案及其實(shí)現(xiàn)方法。 2、嵌入式Web Server 圖2 微型WEB服務(wù)器的結(jié)構(gòu) 嵌入式Web服務(wù)器的結(jié)構(gòu)如圖2所示。Web瀏覽器通??梢允褂昧餍械腎E或者其它的瀏覽器。服務(wù)器端的TCP/IP協(xié)議棧是操作系統(tǒng)內(nèi)嵌的,可以手動(dòng)移植添加。服務(wù)器中的HTTP引擎用來分析瀏覽器的請(qǐng)求消息,并根據(jù)請(qǐng)求做出相應(yīng)的動(dòng)作。這些動(dòng)作包括向?yàn)g覽器發(fā)送一些靜態(tài)頁面或調(diào)用一些應(yīng)用服務(wù)程序。 基于HTTP協(xié)議的客戶/服務(wù)器模式的信息交換分4個(gè)過程,建立連接、發(fā)送請(qǐng)求信息、發(fā)送響應(yīng)信息、關(guān)閉連接。Web服務(wù)器運(yùn)行時(shí),一直監(jiān)聽TCP 80端口(WWW的缺省端口),如接收到連接就將Web文本發(fā)送給客戶機(jī)。 雖然有許多可用的開源Web服務(wù)器實(shí)現(xiàn)方法,如THHPD、GOAHEAD、BOA等,但大多數(shù)開源的Web服務(wù)器因過于龐大而不便于移植。將Web服務(wù)器嵌入到一個(gè)獨(dú)立設(shè)備或應(yīng)用中時(shí),該Web服務(wù)器的實(shí)現(xiàn)應(yīng)該盡量簡單。LibHTTPD正是這樣的一個(gè)開源的Web服務(wù)器軟件[5]。 使用LibHTTPD提供的訪問內(nèi)容既可以是靜態(tài)的網(wǎng)頁,也可以是調(diào)用C函數(shù)動(dòng)態(tài)產(chǎn)生的。LibHTTPD提供了許多友好的程序接口,用戶可以很方便地將自己的Web內(nèi)容加入到程序當(dāng)中。 圖3的代碼是程序的主體,先完成Web Server的初始化,然后在循環(huán)體內(nèi)對(duì)Web的連接請(qǐng)求進(jìn)行處理。當(dāng)調(diào)用httpdProcessRequest()函數(shù)時(shí),程序?qū)?duì)客戶端的請(qǐng)求內(nèi)容進(jìn)行識(shí)別,確定Web服務(wù)器內(nèi)是否有所需的內(nèi)容,并采取相應(yīng)的操作將被請(qǐng)求的內(nèi)容發(fā)送到客戶端。 圖3 Httpdmain()線程 3、具體方法 首先在程序中創(chuàng)建Httpdmain()線程,這就將Web服務(wù)器程序嵌入了系統(tǒng)中。其他主機(jī)通過瀏覽器可以瀏覽該Web服務(wù)器所提供的演示內(nèi)容。只要在瀏覽器的地址欄輸入Web服務(wù)器的IP地址后,得到一個(gè)設(shè)置選項(xiàng)的頁面,設(shè)置相應(yīng)的參數(shù)控制整個(gè)程序(還可以通過添加相關(guān)的程序進(jìn)行身份認(rèn)證)。 由于需要使用的配置參數(shù)較少,本系統(tǒng)的軟件的目標(biāo)代碼大小一般在2~3 MByte,而本系統(tǒng)選用的Flash Memory是Intel Flash芯片E28F320J3,其內(nèi)部分為32個(gè)Blocks,總共4 MB空間,每個(gè)Block128 K。所以將Flash的最后一個(gè)Block作為系統(tǒng)配置參數(shù)的存放區(qū)域,系統(tǒng)每次啟動(dòng)后都從該Block中讀出參數(shù)的配置信息,并按此參數(shù)運(yùn)行?! ±肳eb server實(shí)現(xiàn)對(duì)系統(tǒng)的設(shè)置,設(shè)置之后的配置信息需回寫該Block,以便下次啟動(dòng)時(shí)按新的參數(shù)配置運(yùn)行。對(duì)Flash的最后一個(gè)Block讀寫時(shí)采用一個(gè)結(jié)構(gòu)體來管理系統(tǒng)配置參數(shù),系統(tǒng)設(shè)計(jì)時(shí)將可能用到的參數(shù)均提取出來置于該結(jié)構(gòu),以方便以后功能擴(kuò)展,該結(jié)構(gòu)定義如圖4所示。 圖4 配置參數(shù)結(jié)構(gòu)體 參數(shù)配置時(shí)的具體執(zhí)行步驟: ?。?)PC、WLAN AP和視頻終端三者組成如圖5的網(wǎng)絡(luò)拓?fù)?,把PC和WLAN AP按照視頻終端中預(yù)先寫入的內(nèi)網(wǎng)服務(wù)器IP配置成一個(gè)可以通信的局域網(wǎng); 圖5 參數(shù)配置時(shí)的拓?fù)浣Y(jié)構(gòu) ?。?)在PC中架設(shè)內(nèi)網(wǎng)服務(wù)器,視頻終端通過WLAN AP向該服務(wù)器注冊(cè),則服務(wù)器軟件顯示出由WLAN AP的DHCP功能分配給視頻終端的IP; ?。?)然后在Web瀏覽器輸入該IP就可以進(jìn)入視頻終端中的Web Server進(jìn)行相應(yīng)的參數(shù)設(shè)置; ?。?)配置完成后,重啟視頻終端系統(tǒng)即可。 4、實(shí)驗(yàn)結(jié)果與總結(jié) 實(shí)驗(yàn)結(jié)果(圖6),按照要求輸入相關(guān)參數(shù)后點(diǎn)擊確定即可完成配置。圖6 實(shí)驗(yàn)結(jié)果 本文為系統(tǒng)參數(shù)的重新配置提出了一種簡單可行的方法,其實(shí)Web server的功能還不僅于此,系統(tǒng)控制、遠(yuǎn)程管理、網(wǎng)絡(luò)視頻監(jiān)控、固件升級(jí)等都可以通過Web server來實(shí)現(xiàn)。 參考文獻(xiàn) 1 胡棟,朱秀昌,劉峰.一種實(shí)時(shí)多模式無線視頻傳輸原型系統(tǒng)的實(shí)現(xiàn).通信學(xué)報(bào).2006年10月,第27卷,第10期 2 邢有濤,趙井軍,王濱.多模式無線視頻終端的設(shè)計(jì)與實(shí)現(xiàn).全國計(jì)算機(jī)新科技與計(jì)算機(jī)教育論文集(第13卷,中集).西南交通大學(xué)出版社,2005年 3 王濱,殷濤,邢有濤.實(shí)時(shí)無線視頻傳輸中WLAN子系統(tǒng)接口驅(qū)動(dòng)的設(shè)計(jì)與實(shí)現(xiàn).全國計(jì)算機(jī)新科技與計(jì)算機(jī)教育論文集(第13卷,中集).西南交通大學(xué)出版社,2005年 4 殷濤,胡棟.基于WLAN的嵌入式視頻傳輸系統(tǒng)構(gòu)架.廣東通信技術(shù),2004年9月 5 Hughes Technologies Pty Ltd.LibHTTPD A library for embedded web servers Version 12,October 2002來源:中國聯(lián)通網(wǎng)站