国产强伦姧在线观看无码,中文字幕99久久亚洲精品,国产精品乱码在线观看,色桃花亚洲天堂视频久久,日韩精品无码观看视频免费

      您現(xiàn)在的位置:智能制造網(wǎng)>技術(shù)中心>基于Web的嵌入式設(shè)備管理

      直播推薦

      更多>

      企業(yè)動(dòng)態(tài)

      更多>

      推薦展會(huì)

      更多>

      基于Web的嵌入式設(shè)備管理

      2009年03月09日 19:13:42人氣:1172來(lái)源:浙江啟揚(yáng)智能科技有限公司

      隨著互聯(lián)網(wǎng)絡(luò)硬件、軟件的迅猛發(fā)展,嵌入式系統(tǒng)被廣泛應(yīng)用到工作和生活的各個(gè)領(lǐng)域中,如何對(duì)這些設(shè)備進(jìn)行治理成為嵌入式系統(tǒng)軟件開(kāi)發(fā)中的一個(gè)重要方面。用戶只有通過(guò)設(shè)備所提供的治理接口對(duì)共進(jìn)行配置、治理和監(jiān)控,因些治理接易用程度和效率成為衡量設(shè)備優(yōu)劣的重要標(biāo)準(zhǔn)之一。在嵌入式設(shè)備中加入HTTP服務(wù)能將其轉(zhuǎn)化成Web Server,可以向Internet或內(nèi)部網(wǎng)提供基于Web的圖形化治理接口,用戶可以使用瀏覽器作為接口來(lái)訪問(wèn)嵌入式設(shè)備。這樣不僅使設(shè)備的易用性大大提高,而且可以省去治理軟件,從而方便地進(jìn)行統(tǒng)一治理。

      1 Wind Web Server介紹

      VxWorks是WindRiver公司開(kāi)發(fā)的具有工業(yè)體體育場(chǎng)地位的高位能實(shí)時(shí)操作系統(tǒng)內(nèi)核,它是一個(gè)運(yùn)行在目標(biāo)機(jī)上的高性能、可裁減的嵌入式實(shí)時(shí)操作系統(tǒng),具有*的網(wǎng)絡(luò)功能,支持市面上逾90%的處理器。該公司的網(wǎng)絡(luò)協(xié)議棧產(chǎn)品Wind Web Server提供了功能強(qiáng)大的基于Web方式的網(wǎng)絡(luò)治理系統(tǒng),可以無(wú)縫地集成到任何基于VxWorks的嵌入式應(yīng)用中。

      Wind Web Server具有以下特性:

      ·*支持HTTP 1.1標(biāo)準(zhǔn)

      ·不需要文件系統(tǒng)

      ·支持Java Applets、圖像文件、聲音文件等

      ·可通過(guò)標(biāo)記支持SSI

      ·URL處理可定制

      ·靈活配置的模塊結(jié)構(gòu)

      ·腳本?。?~40KB)

      ·支持用戶/用戶組/密碼認(rèn)證

      ·有IP過(guò)濾機(jī)制

      ·支持CGI

      ·可記錄日志

      ·支持別名

      ·支持服務(wù)器推送(Server push)技術(shù)。

      Wind Web Server采用模塊設(shè)計(jì),可以方便地進(jìn)行裁剪以滿足應(yīng)用的非凡要求。根據(jù)配置,Wind Web Server需要7~40KB的內(nèi)存。在嵌入式系統(tǒng)中硬件資源寶貴,有時(shí)并不需要文件系統(tǒng)。Wind Web Server提供了一個(gè)工具Pagepack,可以在編譯和連接時(shí)將Web內(nèi)容放在程序代碼中,從而可以存儲(chǔ)在ROM中。

       實(shí)例應(yīng)用

      在ADSL匯接器系統(tǒng)軟件的開(kāi)發(fā)過(guò)程中,使用Wind Web Server開(kāi)發(fā)了基于Web的圖形化設(shè)備治理接口,用戶在任何地點(diǎn)只需使用瀏覽器就可以對(duì)設(shè)備進(jìn)行全面的治理,包括:
      ·可以對(duì)系統(tǒng)用戶認(rèn)證和治理,不同的用戶具有不同的操作權(quán)限;

      ·可以對(duì)系統(tǒng)進(jìn)行實(shí)時(shí)監(jiān)控,頁(yè)面依照機(jī)柜布局設(shè)計(jì)。設(shè)備面板和頁(yè)面上的各種信號(hào)燈同步變化,一目了然。同時(shí)可以在頁(yè)面上直接使用設(shè)備面板上的各種按鍵,操作方便。采用了服務(wù)器推送技術(shù),降低了網(wǎng)絡(luò)通信量和系統(tǒng)負(fù)擔(dān);

      ·可以對(duì)初如化數(shù)據(jù)進(jìn)行修改和保存;
      ·可以遠(yuǎn)程更新整個(gè)軟件系統(tǒng);

      ·可以隨時(shí)獲取和清除計(jì)費(fèi)信息。

      整個(gè)程序(含頁(yè)面代碼)共200K字節(jié)左右,任務(wù)的優(yōu)先級(jí)設(shè)為zui低,不影響原系統(tǒng)的正常運(yùn)行,達(dá)到了很好的效果。

      2 Wind Web Server結(jié)構(gòu)

      嵌入式系統(tǒng)的使用的資源是受限的,在許多飛速下甚至沒(méi)有外部存儲(chǔ)系統(tǒng),這一點(diǎn)要求嵌入式系統(tǒng)的Web服務(wù)器與UNIX和Windows平臺(tái)上的Web服務(wù)器有很大不同。Wind Web Server采用模塊化和可伸縮的系統(tǒng)結(jié)構(gòu),答應(yīng)用戶進(jìn)行裁剪以滿足資源的不同限制。

      Wind Web Server由以下要害部分組成:

      ·Web服務(wù)器核心

      ·HTTP請(qǐng)求處理模塊(RPM)

      ·RPM調(diào)度程序

      ·服務(wù)器端符號(hào)表

      ·API函數(shù)

      2.1 Web服務(wù)器核心和RPM調(diào)度程序

      Web服務(wù)器核心作為一個(gè)任務(wù)運(yùn)行在目標(biāo)系統(tǒng)中。提供網(wǎng)絡(luò)服務(wù)綁定、Socket函數(shù)調(diào)用和初始化參數(shù)的設(shè)置等。RPM調(diào)度程序決定怎樣響應(yīng)HTTP請(qǐng)求,即決定了HTTP請(qǐng)求的地址和RPM的對(duì)應(yīng)關(guān)系。

      2.2 HTTP請(qǐng)求處理模塊(RPM)

      HTTP請(qǐng)求處理模塊分為兩大類:系統(tǒng)RPM和用戶RPM。其中系統(tǒng)RPM執(zhí)行HTTP請(qǐng)求的基本處理,包括:記錄日志、處理別名與MIME頭、IP地址檢查、密碼驗(yàn)證和訪問(wèn)限制。而用戶RPM處理具體的頁(yè)面請(qǐng)求,包括:文件系統(tǒng)RPM、SSI(Server Side Include)RPM、CGI PRM、用戶函數(shù)調(diào)用RPM、服務(wù)器推送RPM等。另外用戶可以使用自定義RPM完成一些非凡的處理過(guò)程。

      2.3 服務(wù)器端符號(hào)表

      Wind Web Server主要通過(guò)符號(hào)表來(lái)支持Web存取目標(biāo)機(jī)中的變量,每個(gè)符號(hào)表包含如下屬性:

      ·Address 內(nèi)存地址

      ·Name 名稱

      ·Descrip 描述

      ·Type 數(shù)據(jù)類型

      ·Num Elems 變量個(gè)數(shù) M開(kāi)發(fā)論壇

      ·GET Routine 讀加調(diào)函數(shù)

      ·GET Param 調(diào)回調(diào)數(shù)數(shù)的參數(shù)

      ·SET Routine 寫回調(diào)函數(shù)

      ·SET Param 寫回調(diào)函數(shù)的參數(shù)

      ·Access ID 變量的訪問(wèn)控制


      將網(wǎng)頁(yè)請(qǐng)求和符號(hào)表起來(lái)的方法有兩種:擴(kuò)展SSI和服務(wù)器推送。

      (1)擴(kuò)展SSI的實(shí)現(xiàn)

      可以在HTML網(wǎng)頁(yè)中使用標(biāo)記,每個(gè)標(biāo)記都與存在于Wind Web Server符號(hào)表中的一個(gè)讀或?qū)懟卣{(diào)函數(shù)相對(duì)應(yīng)。當(dāng)網(wǎng)頁(yè)為Wind Web Server請(qǐng)求時(shí),包含變量值等動(dòng)態(tài)信息的讀或?qū)懟卣{(diào)函數(shù)輸出替代了網(wǎng)頁(yè)上的標(biāo)記,從而動(dòng)態(tài)顯示或提交數(shù)據(jù)內(nèi)容。這項(xiàng)技術(shù)同時(shí)提高了在HTML頁(yè)中處理表單的能力。傳統(tǒng)的Web Server只能處理事先確定的缺省的表單元素,在Wind Web Server,實(shí)際值可以從符號(hào)表中得以,然后在HTML頁(yè)被提交到客戶端前插入到表單中。Wind Web Server還提供了一個(gè)工具formpack,用于在包含表單的普通網(wǎng)頁(yè)中加入標(biāo)記。

      Wind Web Server中已經(jīng)包含標(biāo)準(zhǔn)的SSI實(shí)現(xiàn),如輸入框、下拉列表、復(fù)選框等。另外,用戶可以加入自定義的SSI函數(shù)以處理特定的HTTP請(qǐng)求。

      (2)服務(wù)器推送的實(shí)現(xiàn)

      HTTP是一種請(qǐng)求響應(yīng)協(xié)議,假如要對(duì)服務(wù)器端進(jìn)行持續(xù)的監(jiān)控,必須不斷地發(fā)送請(qǐng)求刷新頁(yè)面,這將大大加重服務(wù)器的負(fù)擔(dān)。Wind Web Server能夠使用內(nèi)嵌的Linve Control模塊在頁(yè)面中的Java applet與服務(wù)器端的符號(hào)表之間建立一條持續(xù)的交線鏈路,使服務(wù)器端符號(hào)表變量的改變無(wú)需客戶端請(qǐng)求而直接對(duì)客戶端發(fā)布,從而實(shí)現(xiàn)了服務(wù)器推送的目的。

      2.4 HTTP請(qǐng)求處理過(guò)程

      一個(gè)典型的HTTP請(qǐng)求處理包含以下步驟:

      (1)接收到HTTP請(qǐng)求后,服務(wù)器取出包含目的URL的請(qǐng)求地字符串,將其存入描述HTTP請(qǐng)求的數(shù)據(jù)結(jié)構(gòu)中;

      (2)假如該請(qǐng)求是頁(yè)面提交,即如下形式:para1=xxx¶2=xxx,則將提交參數(shù)存入環(huán)境變量QUERY_STRING中。

      (3)調(diào)用所有已配置的系統(tǒng)RPM,假如返回正確,則繼續(xù);

      (4)調(diào)用頁(yè)面對(duì)應(yīng)的用戶PRM,假如該頁(yè)面中包含SSI標(biāo)記,則調(diào)用SSI RPM;

      (5)查找標(biāo)記,例如:則調(diào)用標(biāo)準(zhǔn)SSI函數(shù)ShowValue()對(duì)符號(hào)表中的變量usersymbol進(jìn)行處理,然后將得到的變量值插入要返回的HTML頁(yè)面中,傳送至客戶端。


      3 并發(fā)中的要害技術(shù)


      3.1 自定義用戶RPM

      通過(guò)調(diào)用函數(shù)httpRomConfAdd(HTTP_M_GET,"/user_rpm/"User_rpm),把形如的請(qǐng)求用函數(shù)框架如下:

      short User_rpm(HTTP_REQ_ID reqId{

      char* para;

      httpStatusSet (reqId,HTTP_OK);

      httpHeaderGenerate (reqId); /*產(chǎn)生THHP頭*/

      para=httpGetEnv(reqId,"QUERY_STRING"); /*得到輸入?yún)?shù)*/

       

      …… /*處理輸入?yún)?shù)及預(yù)備輸出結(jié)果*/

       

      httpStringPut (reqId,"..."); /*開(kāi)始輸出*/

       


      …… /*輸出全部HTML語(yǔ)句*/
      httpStringPut(reqId,"..."); /*結(jié)束輸出*/

       

      return(RPM_DONE);

      }

      3.2 自定義SSI處理函數(shù)

      通過(guò)調(diào)用函數(shù)httpSsiFnConfAdd("user ssi",User_ssi)建立自定義SSI處理函數(shù)User_ssi。當(dāng)而面中包含如下標(biāo)記時(shí):,服務(wù)器將調(diào)用函數(shù)User_ssi(參數(shù)為para),并將輸入插到預(yù)備返回的HTTP頁(yè)面中。函數(shù)User_rpm的實(shí)實(shí)框架如下:

      short User_ssi(HTTP_REQ_ID redid,* szArg){

      *para;

      parg=szArg; /*得到輸入?yún)?shù)*/


      …… /*處理輸入?yún)?shù)及預(yù)備輸出結(jié)果*/

      httpStringPut (reqId,"…"); /*輸出全部HTML語(yǔ)句*/

      return(HTTP_OK);


      }
      3.3 et Java applet實(shí)現(xiàn)服務(wù)器推送

      Live Control模塊的API提供如下Java類的實(shí)現(xiàn):

      ·DirectRegistry Applet與符號(hào)表進(jìn)行通訊的基本部件

      ·DirectReadProxy 從DirectRegistry中獲取符號(hào)表變量的改變
      ·DirectWriteProxy 更新DirectRegistry中符號(hào)表變量的值

      ·DataObjectChangeListenet、DataObjectStatusListener用于監(jiān)聽(tīng)的容器

       

      用Java applet實(shí)現(xiàn)服務(wù)器推送的框架如下:


      (1)創(chuàng)建用于連接服務(wù)器端的DirectRegistry類的實(shí)例:

      myServerURL=new URL(http://" getDocumentBase().getHost() "/lc/");


      myRegistry=new DirectRegistry(myServerURL);


      (2)創(chuàng)建用于監(jiān)聽(tīng)符號(hào)表變量的Java部件:

       

      myWidget=new TextWidget("0",10);

       

      (3)創(chuàng)建DirectReadProxy和DirectWriteProxy的實(shí)例用于讀寫符號(hào)表變量mySymbol:

      myReadProxy=new DirectReadProxy("mySymbol");

      myWriteProxy=new DirectWriteProxy("mySymbol");

       


      (4)將Java部件myWidget加入myReadProxy和my Write Proxy,成為監(jiān)聽(tīng)容器:

      myReadProxy.addDataObjectChangeListener(myWidget);

       


      myWriteProxy.addDataObjectChangeListener(myWidget);

       

      (5)將已創(chuàng)建的監(jiān)聽(tīng)容器myReadProxy、myWriteProxy加入myRegistry中,完成Applet與服務(wù)器端Live Control模塊的連接:

       

      myRegistry.addPropertyChangeListener(myReadProxy);

      myRegistry.addPropertyChangeListener(myWriteProxy);

       


      另外,用戶可以創(chuàng)建自己的Java部件和DataObject ChangeListener方法,以完成更的應(yīng)用。


      3.4 配置HTTP服務(wù)

       

      Wind Web Serrver可進(jìn)行裁剪用于不同的應(yīng)用環(huán)境,可配置的參數(shù)較多,同時(shí)參數(shù)之間相互影響。因此參數(shù)的配置是否妥當(dāng)將直接影響HTTP服務(wù)的性能,甚至導(dǎo)致HTTP服務(wù)不能正常工作。其中對(duì)Web Server內(nèi)存池的配置使用尤為要害,需要進(jìn)行仔細(xì)調(diào)整和多次測(cè)試。另外整個(gè)系統(tǒng)的網(wǎng)絡(luò)內(nèi)存池的容量也直接影響HTTP服務(wù)的性能,需要結(jié)合系統(tǒng)規(guī)模進(jìn)行配置。
       

      全年征稿/資訊合作 聯(lián)系郵箱:1271141964@qq.com

      免責(zé)聲明

      • 凡本網(wǎng)注明"來(lái)源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請(qǐng)必須注明智能制造網(wǎng),http://towegas.com。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
      • 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(zé)任。
      • 本網(wǎng)轉(zhuǎn)載并注明自其它來(lái)源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品來(lái)源,并自負(fù)版權(quán)等法律責(zé)任。
      • 如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

      <
      更多 >

      工控網(wǎng)機(jī)器人儀器儀表物聯(lián)網(wǎng)3D打印工業(yè)軟件金屬加工機(jī)械包裝機(jī)械印刷機(jī)械農(nóng)業(yè)機(jī)械食品加工設(shè)備制藥設(shè)備倉(cāng)儲(chǔ)物流環(huán)保設(shè)備造紙機(jī)械工程機(jī)械紡織機(jī)械化工設(shè)備電子加工設(shè)備水泥設(shè)備海洋水利裝備礦冶設(shè)備新能源設(shè)備服裝機(jī)械印染機(jī)械制鞋機(jī)械玻璃機(jī)械陶瓷設(shè)備橡塑設(shè)備船舶設(shè)備電子元器件電氣設(shè)備


      我要投稿
      • 投稿請(qǐng)發(fā)送郵件至:(郵件標(biāo)題請(qǐng)備注“投稿”)1271141964.qq.com
      • 聯(lián)系電話0571-89719789
      工業(yè)4.0時(shí)代智能制造領(lǐng)域“互聯(lián)網(wǎng)+”服務(wù)平臺(tái)
      智能制造網(wǎng)APP

      功能豐富 實(shí)時(shí)交流

      智能制造網(wǎng)小程序

      訂閱獲取更多服務(wù)

      微信公眾號(hào)

      關(guān)注我們

      抖音

      智能制造網(wǎng)

      抖音號(hào):gkzhan

      打開(kāi)抖音 搜索頁(yè)掃一掃

      視頻號(hào)

      智能制造網(wǎng)

      公眾號(hào):智能制造網(wǎng)

      打開(kāi)微信掃碼關(guān)注視頻號(hào)

      快手

      智能制造網(wǎng)

      快手ID:gkzhan2006

      打開(kāi)快手 掃一掃關(guān)注
      意見(jiàn)反饋
      關(guān)閉
      企業(yè)未開(kāi)通此功能
      詳詢客服 : 0571-87858618