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