a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于嵌入式Web服務器的遠程控制系統的實現

基于嵌入式Web服務器的遠程控制系統的實現

作者: 時間:2010-08-05 來源:網絡 收藏

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


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

當采用GET方式傳遞信息時,可使用如下代碼獲得傳輸的數據:

當采用POST方法傳遞信息時,可使用如下代碼獲得傳輸的數據:

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


評論


相關推薦

技術專區

關閉