《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 嵌入式系統Web服務器應用研究開發
嵌入式系統Web服務器應用研究開發
來源:微型機與應用2011年第11期
魏宏安,徐藝文,金志濤
(福州大學 物理與信息工程學院,福建 福州 350002)
摘要: 介紹了一種嵌入式Web服務器應用系統。該系統借鑒傳統服務器系統架構,基于B/S結構模式設計,移植嵌入式TCP/IP協議棧,利用CGI技術以實現客戶端和服務器端的動態數據交互。通過本研究可方便實現系統管理、遠程終端參數設置等實際應用。
Abstract:
Key words :

摘  要: 介紹了一種嵌入式Web服務器應用系統。該系統借鑒傳統服務器系統架構,基于B/S結構模式設計,移植嵌入式TCP/IP協議棧,利用CGI技術以實現客戶端和服務器端的動態數據交互。通過本研究可方便實現系統管理、遠程終端參數設置等實際應用。
關鍵詞: 嵌入式系統;Web服務器;B/S結構模式; TCP/IP協議棧;CGI

 信息技術、網絡技術以及嵌入式技術的飛速發展和融合,在嵌入式系統中內嵌TCP/IP協議,將Web服務器技術引入到嵌入式系統中,可使其系統與現今最大的網絡Internet實現無縫連接。嵌入式系統組成的三個基本要素[1]為:嵌入、專用性和計算機。根據嵌入式系統本身特性優化設計,引入開源TCP/IP協議棧,并根據需要進行裁剪,利用公共網關接口(CGI)應用開發,嵌入式Web服務器可以向任何接入它所在網絡的合法用戶提供統一的基于瀏覽器方式的操作和控制界面,提供特定交互功能。
1 嵌入式Web服務器的系統結構
 基于當前大型服務器使用的信息管理系統架構方案(數據庫+Web服務器+動態網頁技術),本文提出一種面向嵌入式、借助CGI網關接口開發的B/S結構模式Web服務器信息交互系統,與傳統的兩層C/S模式相比,其有如下優點:
 (1)系統架構維護方便,可根據需要更新客戶端程序,不用像傳統的兩層C/S模式那樣,必須更新所有客戶端程序,使其保持一致,系統才可以運行管理。
 (2)客戶機負載減輕,無須安裝客戶端軟件,統一的Internet瀏覽器方便了用戶的使用和服務端的應用開發,并提供了友好人機界面設計。
 (3)系統安全保障提高,避免了客戶端與服務器的數據庫直接相連。
B/S模式組成部分為:表示層:Web瀏覽器,顯示邏輯部分,充當Client角色;功能層:Web服務器,事務處理邏輯部分;數據層:數據庫服務器,數據處理邏輯部分。功能層和數據層共同充當Server角色。B/S模式架構如圖1所示。

2 Microchip TCP/IP協議棧[2]
 協議接口設計借助于Microchip公司提供的免費協議棧——Microchip TCP/IP協議棧,它是基于TCP/IP的一套應用程序,類似于TCP/IP參考模型,Microchip TCP/IP協議棧將TCP/IP協議棧分為多層,如圖2所示。每層的實現代碼駐留在一個獨立的源文件中,而服務和應用程序編程接口(API)是通過頭文件或包含文件定義的。與傳統TCP/IP協議棧實現方法的不同,Microchip TCP/IP協議棧添加了StackTask和ARPTask兩個新模塊。StackTask管理協議棧以及所有模塊的操作,而ARPTask管理地址解析協議ARP(Address ResohJtion Protocol)層的服務。

 與完整、復雜的TCP/IP協議體系相比,在嵌入式Web服務器中并不需要實現所有的協議,而是基于嵌入式要素特點的要求以及嵌入式系統資源限制進行適量裁剪。來自客戶端的數據信息通過RJ-45以太網接口和網絡接口芯片傳遞給微控制器,微控制器通過內嵌的Microchip TCP/IP協議棧實現了地址解析(ARP)協議、Internet控制報文協議(ICMP)、IP協議、用戶數據報(UDP)等協議的解析和封包,應用層上負責Web頁面請求和應答的HTTP協議。本文設計的協議棧管理程序基于協議的層次性,具有模塊化思想。當接收到正確的以太網幀后,根據以太網的數據類型將接收的數據送至相應的模塊進行進一步處理。
3 CGI技術
 由于傳統的Web服務器無法實現Web數據庫訪問功能,CGI技術充當了訪問數據庫的重要媒介。CGI是使用應用相關軟件增強Web服務器的一種標準方法,可以用任何語言書寫。CGI根據需求更新網頁,是一種公共網關接口。它通過客戶提供給Web服務器的各種信息,由Web服務器啟動指定CGI模塊函數,完成客戶端與服務器端動態的交互,從而實現靜態HTML網頁無法實現的功能(如表單查詢、數據庫查詢等)。通常CGI應用程序處于休眠狀態,通過使用一定的網絡事件觸發回調函數來實現,并顯示動態頁面。例如,Web服務器收到一個URL里面包含的網頁請求時,將執行結果返回給HTML網頁,CGI可實現處理表格、數據庫查詢和電子郵件等操作。
3.1 CGI接口規范數據通信方式
 CGI定義的接口規范包括[3]環境變量、標準輸入和標準輸出。
3.1.1 環境變量
 環境變量是Web服務器與CGI程序進行數據傳遞的途徑,其定義了CGI程序運行的環境。客戶端和服務器端都將有關數據信息轉換成各種變量,CGI模塊函數從環境變量中提取服務器或是瀏覽器提供的參數信息(網絡設備參數),以此獲取客戶端的信息。
3.1.2 標準輸入
 標準輸入(STDIN)指CGI函數獲取Web服務器信息的一種規范,即使用HTML表單向Web服務器發送信息,通常CGI通過兩種調用方式獲取客戶請求[4]。
 (1)通過URL直接調用,如http://192.168.16.108。
 (2)通過交互式Form調用,通常是用戶輸入信息主頁后,點擊“確認”按鈕后啟動CGI程序。提交數據有Get和 Post兩種模式:Get通過環境變量傳遞給CGI程序,Post通過環境變量和標準輸入傳遞給CGI程序。本文采取上述兩種方式調用CGI模塊函數,并通過交互式Form調用,采用Post提交數據方式,進行網絡參數設置。

 


3.1.3 標準輸出
 標準輸出(STDOUT)是CGI輸出的一種方式,指CGI程序處理結束后將結果(如應答信息)發送給Web服務器的一種方式。執行結果必須是瀏覽器能夠顯示的HTML標準格式。
3.2 CGI工作原理
 通過使用一定的網絡事件觸發機制(如客戶機)向服務器發送HTTP請求,即調用CGI請求。CGI請求中的網絡參數等信息是以標簽指示的。當應用程序CGI模塊函數被調用時,初始化工作區,把客戶端請求從環境變量和標準輸入中取出,創建局部變量以匹配請求中的標簽。如果沒有從客戶端傳來參數信息,則調用用戶提供的函數以取得設備當前狀態,顯示給客戶端瀏覽器。此外,用戶可以通過網頁操作界面設置設備新的工作網絡參數并發給Web服務器。Web服務器利用CGI模塊函數提取網絡傳送來的新網絡參數,并利用應用程序設定設備新的狀態,同時回送給客戶端瀏覽器,通過客戶端瀏覽器和Web服務器交互對設備進行控制。作為嵌入式應用開發,面對對象環境要求,嵌入到對象體系中,按對象的要求對其軟件和硬件進行裁剪,就像標準的CGI作為獨立可執行文件完成的功能,本文中的應用是作為一個CGI模塊函數嵌入到Web服務器內部,統一編譯后整體運行,作為用戶Web開發的接口。
3.3 CGI工作流程
 CGI函數和服務器之間通過標準輸入(STDIN)和標準輸出(STDOUT)傳遞信息,如圖3所示。服務器通過STDOUT向CGI函數傳遞需求信息,CGI函數讀取環境變量和STDIN,根據流程將滿足條件的信息輸出給STDOUT。即對于Web服務器而言,STDOUT將信息流送至CGI函數的STDIN,CGI函數的STDOUT信息流將送至服務器的STDIN,從而形成一個環路。

4 Web服務器建立及工作過程
4.1 Web服務器建立

 實現動態Web頁面的準備工作是利用HTML語言編寫Web頁及內建表單,依據Web網頁提交的信息項目,編寫對應的CGI模塊程序。
 HTML 表單是一種把一組URL(如主機上的一個文件名)下的控件組成集合的方法,同時每個控件保持自己獨立的標識。該表單仿效可填寫的紙質表單,帶有文本區域和選擇框等。當用戶填完表單,即通過網頁形式設置設備的網絡參數后,用戶點擊保存按鈕,把它提交給服務器。在此過程中,服務器接收瀏覽器提取的表單信息,決定返回哪一個頁面[5]。
 利用<Form></Form>標記將輸入域組合起來,說明表單的名稱、數據傳達的目的地點以及傳送方法等。
格式:<form method=METHOD  action=”URL”  name="FORM NAME">
 如上所述,本文表單設計如下
   …
 <form method="post" action="serverset.htm" name="serverset">
   …
 采用POST方式進行數據提交。
4.2 Web服務器工作過程
 客戶端利用IE瀏覽器登錄到服務器發出服務器請求,此處的服務器就是VOIP系統通話終端設備。服務器響應用戶請求,并引導到指定的腳本程序,即CGI模塊函數。處于安全的考慮,需要進行相應的身份驗證,身份驗證登錄界面如圖4所示。

 身份驗證后,執行CGI應用程序,進入終端網絡參數信息的設置主頁面,以達到通過網絡遠程控制嵌入式設備的目的,如圖5所示。
 點擊左欄的網絡應用配置,進入到網絡應用配置頁面,HTML表單語言為:
 ~inc:header.inc~
 <div id="content">
 <h1>網絡應用配置 </h1>
 <form method="post" action="serverset.htm" name="serverset">
 <fieldset>
 注冊服務器的語言為:
 <div><label>IP地址:</label>
 <input type="text" name="regip" value=
 "~config_regserverip~" /></div>

  注冊服務器IP地址以標簽(config_regserverip)指示,點擊保存按鈕后,服務器進行相應處理,此時,提取文本框中用戶的輸入信息“192.168.16.104.”替換標簽,即利用表單域中的值進行替換,以達到用戶遠程對設備參數的設置功能。所以<input type="text" name="regip" value="~config_regserverip~"/></div>變成了<input type="text" name="regip" value="192.168.16.104" /></div>。
 然后利用自定義HTTPPrint_config_regserverip()函數直接定向到TCP連接,將用戶設置參數信息顯示在HTML表單頁面里。
 case 0x00000034:
            HTTPPrint_config_regserverip();
            break;
 void HTTPPrint_config_regserverip(void)
 {
     TCPPutString(sktHTTP, NetConfig.ServerIP);
     return;
 }
 最終配置頁面如圖6所示,完成遠程配置任務。

 終端參數控制只是B/S模式嵌入式Web遠程控制系統的一個簡單應用,借助于CGI技術實現了Web服務器和客戶端之間的動態交互,使得用戶能在網絡環境的多種平臺上充分利用統一的客戶工具——瀏覽器,從而為網絡化遠程操作提供了可靠保障。
 本文設計的嵌入式Web服務器利用以太網作為通信介質,具有最大的普及范圍;采用標準公開化的HTTP通信協議,獨立于系統平臺,在客戶端使用任意與Internet互連的標準PC(標準瀏覽器)可以實現隨時隨地訪問。所使用的Web架構獨立于系統平臺,可以移植到任何嵌入式設備中,使得該Web服務器具有通用性。經實際測試證明,該Web服務器性能穩定可靠,可應用在實時監控、網絡電話等產品中。
參考文獻
[1] 田澤.嵌入式系統開發與應用[M].北京:北京航天航空大學出版社,2005.
[2] Microchip Technology Inc. Microchip TCP/IP 協議棧[EB/OL].http://ww1.microchip.com/downloads/en/AppNotes/00833c.pdf, 2008-08-21.
[3] 李勇.CGI技術在嵌入式WEB服務器中的應用和實現[J].網絡與通信,2008,24(30):110-111.
[4] 何克右.用CGI方式進行網頁交互[J].交通與計算機,2000,18(1):22-23.
[5] JEREMY B.嵌入式系統Web服務器—TCP/IP Lean[M].陳向群等譯.北京:機械工業出版社,2003.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国内精品久久久久伊人av| 久久精品二区亚洲w码| 蜜桃av噜噜一区二区三区| 在线国产精品播放| 在线中文字幕不卡| 永久免费毛片在线播放不卡| 久久午夜精品| 国内精品亚洲| 在线观看91精品国产入口| 久久免费偷拍视频| 国产一区观看| 欧美日韩免费区域视频在线观看| 国产精品每日更新在线播放网址| 亚洲欧洲av一区二区| 欧美精品在线观看| 女女同性女同一区二区三区91| 欧美了一区在线观看| 国产一区二区三区久久精品| 一区二区三区在线看| 好看的日韩视频| 国产主播一区二区三区| 国产婷婷成人久久av免费高清| 久久夜精品va视频免费观看| 国产免费观看久久| 一区二区亚洲欧洲国产日韩| 欧美日韩蜜桃| 激情综合色综合久久综合| 一本色道久久综合狠狠躁的推荐| 久久精品九九| 久久se精品一区精品二区| 国产精品亚发布| 亚洲亚洲精品三区日韩精品在线视频| 日韩视频一区二区三区在线播放免费观看| 国产视频观看一区| 免费一级欧美片在线观看| 亚洲性视频网址| 欧美四级剧情无删版影片| 欧美日韩国产综合视频在线| 日韩网站在线| 欧美日韩伦理在线免费| 欧美色另类天堂2015| 久久激情五月丁香伊人| 欧美日韩在线精品一区二区三区| 亚洲第一成人在线| 欧美国产激情二区三区| 欧美中文字幕不卡| 国产一区二区精品| 国产麻豆成人精品| 欧美精品首页| 欧美日韩一级黄| 国产精品青草久久| 亚洲裸体俱乐部裸体舞表演av| 在线日本高清免费不卡| 国内精品美女在线观看| 亚洲欧美国产不卡| 久久精品亚洲一区二区| 一区国产精品| 国内外成人免费激情在线视频| 国产精品久久久久影院色老大| 久久夜色精品国产欧美乱| 亚洲视频一区| 影音先锋日韩精品| 免费观看成人鲁鲁鲁鲁鲁视频| 国产精品自拍在线| 亚洲乱码日产精品bd| 亚洲国产精品视频一区| 亚洲精品视频在线| 国产精品一区二区久久国产| 亚洲国产欧美日韩精品| 久久综合狠狠综合久久激情| 欧美日韩四区| 欧美午夜理伦三级在线观看| 亚洲国产精品成人va在线观看| 国内精品**久久毛片app| 久久精品国产久精国产爱| 国产精品亚洲综合天堂夜夜| 亚洲一区二区三区成人在线视频精品| 毛片av中文字幕一区二区| 亚洲视频一区在线观看| 亚洲国产裸拍裸体视频在线观看乱了中文| 国产一区二区三区在线免费观看| 国内精品久久久久影院色| 日韩天堂在线观看| 欧美在线国产| 99视频精品全部免费在线| 欧美精品一区在线播放| 亚洲经典在线| 久久国产一区二区三区| 久久久免费观看视频| 国产一区二区三区电影在线观看| 欧美国产综合| 久久久一二三| 国产欧美精品xxxx另类| 久久人人九九| 免费精品99久久国产综合精品| 亚洲开发第一视频在线播放| 久久国产精品毛片| 欧美亚洲在线视频| 亚洲美女淫视频| 久久久精品国产99久久精品芒果| 久久精视频免费在线久久完整在线看| 亚洲级视频在线观看免费1级| 99视频在线观看一区三区| 久久精品综合一区| 国产精品久久777777毛茸茸| 国产精品亚洲一区二区三区在线| 欧美亚州韩日在线看免费版国语版| 亚洲人成人77777线观看| 国产精品草莓在线免费观看| 午夜精品美女自拍福到在线| 欧美精品少妇一区二区三区| 国产精品乱码一区二三区小蝌蚪| 久久国产视频网站| 激情久久五月天| 国产精品欧美一区二区三区奶水| 国产麻豆精品在线观看| 欧美日韩伦理在线| 久久av最新网址| 亚洲香蕉网站| 国产午夜亚洲精品羞羞网站| 欧美日韩日本国产亚洲在线| 亚洲精品九九| 国产伦精品一区二区三区高清| 国产精品日日做人人爱| 亚洲自拍都市欧美小说| 亚洲欧洲精品天堂一级| 亚洲毛片在线观看| 久久九九有精品国产23| 亚洲第一精品电影| 国产亚洲欧美日韩美女| 亚洲人成精品久久久久| 性18欧美另类| 亚洲欧美日韩国产另类专区| 欧美专区在线观看一区| 亚洲视频电影图片偷拍一区| 国产精品第十页| 亚洲二区在线视频| 国产精品高清网站| 欧美大片国产精品| 国产麻豆一精品一av一免费| 亚洲国产91精品在线观看| 久久噜噜亚洲综合| 99精品国产在热久久婷婷| 伊人成年综合电影网| 国产精品日韩久久久久| 欧美成人午夜激情| 怡红院av一区二区三区| 国产精品jizz在线观看美国| 国产精品99久久久久久白浆小说| 欧美大片在线观看一区二区| 午夜一区二区三区在线观看| 欧美大片在线观看一区| 久久国产一区| 欧美日韩一级片在线观看| 久久久蜜桃一区二区人| 亚洲视频视频在线| 欧美精品日韩综合在线| 亚洲一二三四区| 国产精品久久久久久妇女6080| 欧美激情aaaa| 久久久久久亚洲精品不卡4k岛国| 伊人狠狠色j香婷婷综合| 怡红院精品视频在线观看极品| 在线观看日韩av电影| 99精品免费| 国产伦一区二区三区色一情| 国内成人精品视频| 亚洲精选国产| 国产精品美女久久久久久2018| 欧美国产高清| 国产欧美91| 久久狠狠久久综合桃花| 欧美日韩免费一区二区三区视频| 亚洲一区视频在线观看视频| 亚洲欧美日韩系列| 欧美性色综合| 亚洲高清视频一区| 欧美日韩中字| 欧美视频四区| 国产精品v欧美精品∨日韩| 国产欧美日韩精品a在线观看| 亚洲国产一二三| 欧美福利影院| 亚洲电影激情视频网站| 亚洲综合电影一区二区三区| 欧美日韩亚洲综合在线| 国产精品一级二级三级| 樱花yy私人影院亚洲| 尤物yw午夜国产精品视频| 噜噜爱69成人精品| 欧美日韩一二三四五区| 玖玖玖免费嫩草在线影院一区| 久久久www成人免费无遮挡大片| 亚洲国产精品一区二区第四页av| 一区二区三区视频在线看| 久久黄色小说| 国内精品亚洲| 亚洲欧美美女| 国产一区二区久久精品| 欧美激情一区三区| 亚洲综合首页| 欧美午夜电影在线观看| 久久成人综合视频| 国产精品专区h在线观看| 久久视频在线免费观看| 国产精品私人影院| 免费成人高清| 国产婷婷97碰碰久久人人蜜臀| 亚洲国产99精品国自产| 欧美日韩成人在线观看| 欧美日韩视频在线一区二区观看视频| 99精品久久免费看蜜臀剧情介绍| 欧美色视频在线| 国产精品视频一区二区三区| 亚洲国产精品一区在线观看不卡| 久久亚洲私人国产精品va| 欧美日韩亚洲精品内裤| 日韩午夜在线视频| 欧美色另类天堂2015| 日韩特黄影片| 国产视频欧美| 国产欧美精品xxxx另类| 欧美日韩国产麻豆| 欧美一级日韩一级| 国产精品丝袜91| 久久精品国产在热久久| 国产日韩欧美日韩| 久久婷婷影院| 国产综合精品一区| 欧美黄色aaaa| 亚洲人成网站在线观看播放| 亚洲国产欧美在线| 一区二区三区在线观看国产| 亚洲高清电影| 亚洲少妇在线| 久久精品99国产精品| 亚洲精品少妇| 欧美日韩亚洲激情| 在线天堂一区av电影| 亚洲欧洲在线观看| 亚洲一区二区不卡免费| 国产精品久久久久一区二区| 欧美另类变人与禽xxxxx| 免费看av成人| 久久天堂国产精品| 国产亚洲成av人在线观看导航| 国产午夜精品在线观看| 国产日韩欧美自拍| 欧美伦理a级免费电影| 亚洲综合色自拍一区| 亚洲国产欧美一区二区三区同亚洲| 亚洲国产成人在线| 激情久久久久久久| 国语自产偷拍精品视频偷| 亚洲国产成人在线| 日韩视频一区二区三区在线播放| 在线观看av不卡| 日韩视频一区二区在线观看| 夜夜爽www精品| 欧美日韩在线三级| 午夜国产欧美理论在线播放| 蜜臀av在线播放一区二区三区| 国产精品美女999| 亚洲裸体俱乐部裸体舞表演av| 欧美日本国产视频| 亚洲在线免费观看| 国产在线麻豆精品观看| 午夜精品国产精品大乳美女| 亚洲欧美日韩精品| 亚洲高清视频一区| 一级日韩一区在线观看| 久久精品综合一区| 国产精品久久午夜夜伦鲁鲁| 欧美一区二区日韩| 一区二区三区四区五区视频| 美女脱光内衣内裤视频久久影院| 韩日精品中文字幕| 国产麻豆视频精品| 老司机精品久久| 欧美成人精品在线播放| 亚洲高清不卡在线观看| 国产一区二区三区日韩| 亚洲午夜在线| 一区二区国产在线观看| 欧美精品在线一区二区| 国产欧美日韩在线播放| 国产精品视区| 亚洲精品乱码久久久久久| 亚洲高清免费| 国产日韩在线看| 激情成人综合网| 午夜精品三级视频福利| 日韩一二三区视频| 久久夜色撩人精品| 国产精品网站在线观看| 免费看亚洲片| 久久先锋资源| 在线日韩日本国产亚洲| 久久免费黄色| 久久动漫亚洲| 亚洲中字黄色| 久久大香伊蕉在人线观看热2| 欧美看片网站| 1204国产成人精品视频| 乱中年女人伦av一区二区| 欧美系列一区| 亚洲日本中文字幕| 国产精品白丝黑袜喷水久久久| 女同性一区二区三区人了人一| 狠狠入ady亚洲精品| 久久成人一区二区| 欧美日韩综合在线| 国产日韩精品久久| 黄色精品网站| 欧美午夜精品| 欧美日韩日韩| 亚洲视频福利| 欧美成人午夜激情在线| 1000精品久久久久久久久| 伊人蜜桃色噜噜激情综合| 激情综合视频| 欧美精品一区在线播放| 亚洲国产成人在线播放| 性高湖久久久久久久久| 国产在线拍揄自揄视频不卡99| 欧美精品一区二区三区久久久竹菊| 欧美黄色片免费观看| 一本大道久久a久久精二百|