<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于嵌入式Web服務(wù)器的遠(yuǎn)程控制系統(tǒng)的實(shí)現(xiàn)

          基于嵌入式Web服務(wù)器的遠(yuǎn)程控制系統(tǒng)的實(shí)現(xiàn)

          作者: 時間:2010-08-05 來源:網(wǎng)絡(luò) 收藏

          2 的軟件結(jié)構(gòu)
          系統(tǒng)軟件主要包括操作系統(tǒng)的選取、網(wǎng)頁的配置、網(wǎng)頁的編輯、驅(qū)動程序和應(yīng)用程序的配置移植,軟件層次如圖3所示。
          由于該處理器不具有MMU(存儲器管理單元)且需要完備以太網(wǎng)協(xié)議構(gòu)建網(wǎng)頁,故選擇開源的μClinux操作系統(tǒng)。該操作系統(tǒng)從Linux2.o.發(fā)展而來,專門應(yīng)用于不具備MMU的微。該操作系統(tǒng)提供了3個服務(wù)器:httpd,Thttpd和BOA。其中功能最簡單的是httpd.不支持認(rèn)證、CGI。Thttpd和BOA服務(wù)器都支持認(rèn)證、CGI(Common Gateway Interface,公共網(wǎng)關(guān)接口)等,但由于Thttpd服務(wù)器需要的資源比BOA大得多,故該系統(tǒng)最終采用BOA服務(wù)器作為控制的網(wǎng)頁服務(wù)器。
          2.1 BOA服務(wù)器的配置
          BOA是一個單任務(wù)的http服務(wù)器,安全性高、源代碼開放、性能高。在μClinux的發(fā)行版中,在主目錄下的user目錄里,有BOA服務(wù)器的目錄,在example子目錄中,有2個文件boa.conf和mime.types,這里需要修改配置boa.conf文件,它是BOA服務(wù)器的參數(shù)配置文件,配置如下:


          另外該系統(tǒng)將src目錄下的defines.h頭文件SERVER_ROOT宏定義設(shè)置為home目錄,即服務(wù)器目錄,配置操作系統(tǒng)時,boa.conf和mime-.typs都必須復(fù)制到此服務(wù)器目錄下,從而完成服務(wù)器的配置。
          2.2 服務(wù)器與客戶端動態(tài)交互的
          在動態(tài)網(wǎng)頁交互設(shè)計中,主要有CGI(Common Gateway Interface),PHP(Personal Home Page),ASP(Active Server Page)和JSP(Java Server Page)4種技術(shù)。在Linux下動態(tài)網(wǎng)頁通常選擇CGI技術(shù)。CGI稱為公共網(wǎng)關(guān)接口,是一段運(yùn)行于服務(wù)器上的程序,可以將客戶端瀏覽器遞交的信息傳遞給服務(wù)器,服務(wù)器則會啟動對應(yīng)CGI程序去執(zhí)行,最終可將結(jié)果再反饋給客戶端。CGI程序的編寫可以采用任何編程語言,只要這種語言具有標(biāo)準(zhǔn)輸入、輸出和環(huán)境變量。由于C語言具有較強(qiáng)的平臺無關(guān)性,因此該系統(tǒng)采用C語言來編寫CGI程序。
          動態(tài)網(wǎng)頁是通過網(wǎng)頁內(nèi)嵌表單的方式進(jìn)行信息傳遞的。該系統(tǒng)首先采用網(wǎng)頁編輯軟件Dreamweaver編輯登陸界面index.html及控制界面remote.html。在編輯表單選項(xiàng)時由action屬性指向相應(yīng)CGI程序路徑,由method屬性決定提交數(shù)據(jù)的方式是GET方式還是POST方式??蛻舳藗魉偷椒?wù)器的數(shù)據(jù)采用URL編碼的方式傳送,例如參數(shù)采用name=value的形式,每對之間用”&”連接。特殊字符用”%”加一個十六進(jìn)制數(shù)字編碼,輸入的空格用”+”來表示等,所以服務(wù)器端的CGI在接收數(shù)據(jù)時需經(jīng)過解碼操作。
          環(huán)境變量在CGI程序設(shè)計中很重要,客戶端和服務(wù)器端都將信息存儲在某些變量中,環(huán)境變量有3類:與服務(wù)器相關(guān)的環(huán)境變量、與客戶端相關(guān)的環(huán)境變量以及與請求相關(guān)的環(huán)境變量。其中最常用的環(huán)境變量有REQUEST_METHOD記錄請求方式,QUERY_STRING存儲傳遞的數(shù)據(jù),CO-NTENT_LENGTH傳遞數(shù)據(jù)的長度。
          編程時先創(chuàng)建數(shù)據(jù)結(jié)構(gòu)entry,用來記錄要使用的變量和變量名。

          當(dāng)采用GET方式傳遞信息時,可使用如下代碼獲得傳輸?shù)臄?shù)據(jù):

          當(dāng)采用POST方法傳遞信息時,可使用如下代碼獲得傳輸?shù)臄?shù)據(jù):

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();