資源描述:
《基于linux系統(tǒng)嵌入式web服務(wù)器設(shè)計(jì)2》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、<5^<5^<5^<5^<5^<5^<5^<5^*4>*4>*4>*4>*4>*4>*4>*4>*4>*4>*4>實(shí)踐教學(xué)可?*?蘭州理工大學(xué)計(jì)算機(jī)與通信學(xué)院2015年春季學(xué)期嵌入式系統(tǒng)開發(fā)課程設(shè)計(jì)題目:基于LINUX系統(tǒng)的嵌入式WEB服務(wù)器的設(shè)計(jì)專業(yè)班級:通信工程12級1班姓名:王愛強(qiáng)學(xué)號:12250110指導(dǎo)教師:張璽君成績:目錄摘要1前言2一、基本原理31.1嵌入式WEB服務(wù)器概述31.2SOCKET編程概述4二、系統(tǒng)分析62.1整體結(jié)構(gòu)圖62.2連接處理模塊6三、詳細(xì)設(shè)計(jì)73.1主程序設(shè)計(jì)73.2客戶連接處理模塊設(shè)計(jì)
2、83.3客戶請求解析處理模塊設(shè)計(jì)83.4發(fā)送HTTP協(xié)議數(shù)據(jù)頭模塊設(shè)計(jì)9四、運(yùn)行結(jié)果11參考文獻(xiàn)14總結(jié)15致謝17附錄18摘要嵌入式Web服務(wù)器主要用于遠(yuǎn)程監(jiān)測和控制,它不同于傳統(tǒng)的Web服務(wù)器,硬件處理器能力和儲存能力有限,因此操作系統(tǒng)等相關(guān)軟件需要進(jìn)行裁剪以適應(yīng)嵌入式環(huán)境,開源代碼的操作系統(tǒng)Linu型具有強(qiáng)大的網(wǎng)絡(luò)服務(wù)功能,支持多種網(wǎng)絡(luò)接口和網(wǎng)絡(luò)協(xié)議棧,同時具有成本低性能穩(wěn)定,擴(kuò)充能力強(qiáng)等特點(diǎn),成為嵌入式操作系統(tǒng)的首選。關(guān)鍵詞:Linux;Web服務(wù)器;瀏覽器;交叉編譯前言嵌入式系統(tǒng)已經(jīng)成熟并且得到了廣泛地使用。在傳統(tǒng)的測控系統(tǒng)中,為了實(shí)現(xiàn)多個測控點(diǎn)之間的信息交流,
3、一般采用RS-485、CAN.SPT等總線將多個測控節(jié)點(diǎn)組織成一個網(wǎng)絡(luò),但是這樣的網(wǎng)絡(luò)專用性太強(qiáng),有效地通信范圍太窄,而基于TCP/IP協(xié)議的Web技術(shù)得到了普及,更重要的是這些協(xié)議是可開發(fā)的、標(biāo)準(zhǔn)的、獨(dú)立于平臺的。把嵌入式系統(tǒng)和與Web技術(shù)結(jié)合在一起,將Web技術(shù)引入到測量和控制系統(tǒng)中,實(shí)現(xiàn)基于嵌入式Web服務(wù)器的遠(yuǎn)程控制系統(tǒng),必將有良好地應(yīng)用前景。嵌入式系統(tǒng)離不開嵌入式操作系統(tǒng)。目前商用的操作系統(tǒng)往往價格昂貴,不適應(yīng)廣泛應(yīng)用。嵌入式Linux操作系統(tǒng)源碼可開發(fā)。移植性好,支持多種硬件平臺并且支持幾乎所有的常見網(wǎng)絡(luò)通信協(xié)議支持的文件系統(tǒng)也很豐富,是一個功能完整的嵌入式操
4、作系統(tǒng)并且有大量的優(yōu)秀開發(fā)碼源的應(yīng)用軟件和開發(fā)工具可以使用。因此,采用Linux作為平臺,使用Web技術(shù)進(jìn)行遠(yuǎn)程在線測控系統(tǒng)的設(shè)計(jì)。1?1嵌入式WEB服務(wù)器概述1)WEB服務(wù)器通常是在遠(yuǎn)程機(jī)器上,負(fù)責(zé)對瀏覽器頁面請求作出響應(yīng),返冋HTML編碼或類似的數(shù)據(jù)流。通俗的講,血b服務(wù)器傳送(serves)頁面使瀏覽器可以瀏覽,然而應(yīng)用程序服務(wù)器提供的是客戶端應(yīng)用程序可以調(diào)用(call)的方法(methods)。確切一點(diǎn),你可以說:Web服務(wù)器專門處理HTTP請求(request),但是應(yīng)用程序服務(wù)器是通過很多協(xié)議來為應(yīng)用程序提供(serves)商業(yè)邏輯(businesslogic
5、)。隨著Internet技術(shù)的興起,在嵌入式設(shè)備的管理與交互中,基于Web方式的應(yīng)用成為目前的主流,這種程序結(jié)構(gòu)也就是大家非常熟悉的B/S結(jié)構(gòu),即在嵌入式設(shè)備上運(yùn)行一個支持腳本或CG1功能的Web服務(wù)器,能夠生成動態(tài)頁面,在用戶端只需要通過Web瀏覽器就可以對嵌入式設(shè)備進(jìn)行管理和監(jiān)控,非常方便實(shí)用。2)WEB瀏覽器WEB瀏覽器是個顯示網(wǎng)頁伺服器或檔案系統(tǒng)內(nèi)的HTML文件,并讓用戶與此些文件互動的一種軟件。個人電腦上常見的網(wǎng)頁瀏覽器包括微軟的InternetExplorer>Moz訂la的Firefox、Opera和Safari0瀏覽器是最經(jīng)常使用到的客戶端程序。3)嵌入式
6、WEB服務(wù)器架構(gòu)圖1嵌入式WEB服務(wù)器架構(gòu)常見的嵌入式WEB服務(wù)器有l(wèi)ighttpd、shttpdsthttpd、boa、mathopd、minihttpd>appweb>goahead等上百不中。1.2SOCKET編程概述現(xiàn)在大多數(shù)的操作系統(tǒng)都提供了已編譯好了的網(wǎng)絡(luò)通訊程序。TCP/IP范圍內(nèi)最普通的例子就是web客戶端(瀏覽器)和web服務(wù)器,還有就是FTP和Telnet的客戶端和服務(wù)器等。Socket接口是TCP/IP網(wǎng)絡(luò)的API,Socket接口定義了許多函數(shù)或例程,程序員可以用它們來開發(fā)TCP/IP網(wǎng)絡(luò)上的應(yīng)用程序。SOCKET編程接口#include7、socket?h>intsocket(intdomain,inttype,intprotocol);說明:socket()函數(shù)創(chuàng)建一個套接字參數(shù):domain:應(yīng)用程序所在主機(jī)使用的通信協(xié)議族type:建立的套接字的類型Protocol:使用的特定協(xié)議#ineludeintbind(intsockfd,structsockaddr*myaddr,socklentaddrlen);說明:將套接字地址與所創(chuàng)建的套接字號聯(lián)系起來參數(shù):sockfd:調(diào)用socket返回的文件描述符my_addr:指向數(shù)據(jù)結(jié)