基于ARM簡單嵌入式WEB服務器系統(tǒng)的設計_第1頁
基于ARM簡單嵌入式WEB服務器系統(tǒng)的設計_第2頁
基于ARM簡單嵌入式WEB服務器系統(tǒng)的設計_第3頁
基于ARM簡單嵌入式WEB服務器系統(tǒng)的設計_第4頁
基于ARM簡單嵌入式WEB服務器系統(tǒng)的設計_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

---.---總結(jié)資料.z摘要工程實踐教學環(huán)節(jié)是為了學生能夠更好地穩(wěn)固和實踐所學專業(yè)知識而設置的,在本次工程實踐中,我們以ARM體系構(gòu)造與編程課程中所學知識為根底,對基于ARM的簡單嵌入式WEB效勞器系統(tǒng)進展了簡單設計。本設計利用ARM自帶的WEB效勞器技術(shù),來實現(xiàn)對嵌入式WEB效勞器系統(tǒng)的控制設計。該技術(shù)基于WEB效勞器之上,且用嵌入式WEB效勞器來實現(xiàn)對于網(wǎng)絡的。本設計說明重點介紹了如下幾方面的內(nèi)容:1〕基于嵌入式WEB效勞器的協(xié)議;12〕Linu*下的signal()函數(shù)的使用;3〕嵌入式WEB效勞器的工作原理;4〕ARM開發(fā)板上的SOCKET網(wǎng)絡編程。關(guān)鍵詞:ARM體系;嵌入式WEB效勞器;協(xié)議;SOCKET網(wǎng)絡編程。-.z目錄TOC\o"1-2"\h\z\u12982第一章緒論 3305161.1課題簡介 3199951.2設計目的 3316671.3設計內(nèi)容 3157971.4設計用途 312864第二章嵌入式WEB效勞器設計原理簡介 451462.1需求說明 488452.2功能需求詳細說明 4173722.3數(shù)據(jù)流圖〔DFD〕 6327412.4數(shù)據(jù)需求 66682第三章嵌入式WEB效勞器設計流程 756323.1系統(tǒng)構(gòu)造圖 7252003.2整體構(gòu)造圖說明 775893.3連接處理模塊 8101513.4功能分配 816178第四章嵌入式WEB效勞器設計程序分析及實踐 10242054.1程序設計 10313574.2程序分析 11299134.3實驗步驟 159904參考文獻 17-.z第一章緒論1.1課題簡介隨著后PC時代的到來,嵌入式系統(tǒng)技術(shù)已經(jīng)成為了一個萬眾矚目的焦點。目前已廣泛應用于信息家電、數(shù)據(jù)網(wǎng)絡、工業(yè)控制、醫(yī)療衛(wèi)生、航空航天等眾多領(lǐng)域。巨大的市場潛力,無窮的商機,吸引了各路英豪紛踵沓來。ARM單片機技術(shù)由于其微小的體積和極低的本錢,廣泛的應用于家用電器、工業(yè)控制等領(lǐng)域中。在工業(yè)生產(chǎn)中,電流、電壓、溫度、壓力和流量也都是常用的被控參數(shù)。ARM單片機控制嵌入式WEB效勞器系統(tǒng),是利用ARM作為系統(tǒng)的主控制器,由linu*下的vi編程,來實現(xiàn)對于嵌入式WEB效勞器的。本設計采用ARM技術(shù),其具有集成度高,運算快速快,體積小、運行可靠,價值低廉的特點,適宜于絕大多數(shù)的控制過程。鑒于這樣的重要性,我們打算設計一種基于ARM的嵌入式效勞器系統(tǒng)。1.2設計目的通過本次工程實踐,運用ARM體系構(gòu)造與編程所學知識及查閱相關(guān)資料,完成嵌入式WEB效勞器的設計,到達理論知識與實踐更好結(jié)合、提高綜合運用所學知識和設計能力的目的。通過本次設計訓練,可以使我們在根本思路和根本方法上對基于ARM的設計有一個比較感性的認識,并具備一定程度的設計能力。1.3設計內(nèi)容熟知嵌入式WEB效勞器的工作原理、SOCKET網(wǎng)絡編程。使用RedhatLinu*9.0操作系統(tǒng)環(huán)境及ARM編譯器,編譯WEB效勞器的驅(qū)動模塊和應用程序,實現(xiàn)嵌入式WEB效勞器的設計。1.4設計用途學習使用SOCKET進展通訊編程的過程,了解一個實際的網(wǎng)絡通訊應用程序整體設計,讀懂D.C源代碼。在此根底上增加一些其他功能。在PC計算機上使用瀏覽器測試嵌入式WEB效勞器的功能。第二章嵌入式WEB效勞器設計原理簡介2.1需求說明圖2.1嵌入式WEB效勞器需求說明2.2功能需求詳細說明1〕獲取效勞器當前目錄文件列表將效勞器當前目錄下所有文件的信息發(fā)送給客戶端,信息包括:文件名、大小、日期。2〕獲取指定文件將客戶請求的文件發(fā)送給客戶。3〕獲取HTML類型文件將客戶請求的HTML類型文件發(fā)送給客戶。4〕獲取純文本文件將客戶請求的純文本發(fā)送給客戶。5〕獲取JPG圖像文件將客戶請求的JPG圖像文件發(fā)送給客戶。6〕獲取GIF圖像文件將客戶請求的GIF圖像文件發(fā)送給客戶。7〕解析用戶請求分析客戶的請求,將請求信息解析為幾個變量,包括:請求的命令、請求的文件名、請求的文件類型。2.3數(shù)據(jù)流圖〔DFD〕圖2.2數(shù)據(jù)流圖〔DFD〕2.4數(shù)據(jù)需求回應協(xié)議數(shù)據(jù)頭格式要求,如表2.1所示:表2.1協(xié)議數(shù)據(jù)頭格式行號字段內(nèi)容舉例1狀態(tài)行/1.0200OK2文件類型Content-type:te*t/html3效勞器信息Server:ARMLinu*-d4是否過期E*pires:0第三章嵌入式WEB效勞器設計流程3.1系統(tǒng)構(gòu)造圖圖3.1系統(tǒng)構(gòu)造圖3.2整體構(gòu)造圖說明主程序:建立TCP類型SOCKET在80端口進展監(jiān)聽連接請求。接收到連接請求,將請求傳送給連接處理模塊處理。并繼續(xù)進展監(jiān)聽。3.3連接處理模塊圖3.2連接處理模塊3.4功能分配1〕發(fā)送當前目錄文件列表信息將效勞器當前目錄下所有文件的信息發(fā)送給客戶端,信息包括:文件名、大小、日期。2〕發(fā)送HTML類型文件將客戶請求的HTML類型文件發(fā)送給客戶。3〕發(fā)送純文本文件將客戶請求的純文本發(fā)送給客戶。4〕發(fā)送JPG圖像文件將客戶請求的JPG圖像文件發(fā)送給客戶。5〕發(fā)送GIF圖像文件將客戶請求的GIF圖像文件發(fā)送給客戶。6〕解析客戶請求協(xié)議頭分析客戶的請求,包括:1.空格處理2.解析客戶請求命令3.解析客戶請求的資源名4.解析客戶請求的資源類型。7〕客戶連接處理解析Referrer和content_length字段值并調(diào)用客戶請求解析函數(shù)。8〕發(fā)送協(xié)議數(shù)據(jù)頭根據(jù)發(fā)送文件類型發(fā)送相應的協(xié)議頭信息。-.z第四章嵌入式WEB效勞器設計程序分析及實踐4.1程序設計、接口設計客戶連接處理函數(shù)名:intHandleConnect(intfd)參數(shù):客戶連接文件描述字、解析客戶請求函數(shù)名:intParseReq(FILE*f,char*r)參數(shù):參數(shù)1:文件流FILE構(gòu)造指針,用于表示客戶連接的文件流指針。參數(shù)2:字符串指針,待解析的字符串。、發(fā)送協(xié)議數(shù)據(jù)頭函數(shù)名:intPrintHeader(FILE*f,intcontent_type)參數(shù):參數(shù)1:文件流FILE構(gòu)造指針,用于表示客戶連接的文件流指針。用于寫入?yún)f(xié)議數(shù)據(jù)頭信息。參數(shù)2:信息類型,用于確定發(fā)送的協(xié)議數(shù)據(jù)頭信息。、發(fā)送當前目錄文件列表信息函數(shù)名:intDoDir(FILE*f,char*name)參數(shù):參數(shù)1:文件流FILE構(gòu)造指針,用于表示客戶連接的文件流指針。用于寫入目錄文件信息數(shù)據(jù)。參數(shù)2:目錄名,表示客戶請求的目錄信息。、發(fā)送HTML文件內(nèi)容函數(shù)名:intDoHTML(FILE*f,char*name)參數(shù):參數(shù)1:文件流FILE構(gòu)造指針,用于表示客戶連接的文件流指針。用于寫入文件信息數(shù)據(jù)。參數(shù)2:客戶請求的文件名。、發(fā)送純文本〔T*T〕文件內(nèi)容函數(shù)名:intDoTe*t(FILE*f,char*name)參數(shù):參數(shù)1:文件流FILE構(gòu)造指針,用于表示客戶連接的文件流指針。用于寫入文件信息數(shù)據(jù)。參數(shù)2:客戶請求的文件名。、發(fā)送JPEG圖像文件內(nèi)容函數(shù)名:intDoJpeg(FILE*f,char*name)參數(shù):參數(shù)1:文件流FILE構(gòu)造指針,用于表示客戶連接的文件流指針。用于寫入文件信息數(shù)據(jù)。參數(shù)2:客戶請求的文件名。、發(fā)送GIF圖像文件內(nèi)容函數(shù)名:intDoGif(FILE*f,char*name)參數(shù):參數(shù)1:文件流FILE構(gòu)造指針,用于表示客戶連接的文件流指針。用于寫入文件信息數(shù)據(jù)。參數(shù)2:客戶請求的文件名。4.2程序分析 、主程序設計1〕功能說明系統(tǒng)的總?cè)肟冢彩窍到y(tǒng)的主要控制函數(shù)。分別完成如下功能:建立環(huán)境設置。設置信號處理方式。建立偵聽TCP流方式SOCKET并綁定80端口。建立連接偵聽及客戶連接處理調(diào)用主循環(huán)。2〕算法流程圖算法流程圖如圖4.1所示:圖4.1主程序數(shù)據(jù)流程圖3〕命令行輸入處理用戶在命令行輸入?yún)?shù)-i,則將客戶輸入文件描述字設為0,即標準輸入。用于在本機進展測試。其他輸入全部忽略。4.2.21〕功能說明用于初步處理客戶的連接請求,并將請求信息傳遞給客戶請求解析函數(shù)處理。算法算法流程圖如圖2.2所示:圖4.2客戶連接處理模塊數(shù)據(jù)流程圖4.2.31〕功能說明用于解析客戶的請求,并根據(jù)請求信息調(diào)用相應的函數(shù)進展請求處理。2〕算法算法流程圖如圖2.3所示:圖4.3客戶請求解析處理模塊數(shù)據(jù)流程圖4.2.41〕功能說明根據(jù)參數(shù)的不同,發(fā)送不同的協(xié)議頭信息。2〕算法函數(shù)定義為:intPrintHeader(FILE*f,intcontent_type)發(fā)送請求成功信息:/1.0200OK。根據(jù)文檔類型發(fā)送相應的信息:fprintf(),函數(shù)中的第一個參數(shù)f為客戶連接文件流句柄。switch(content_type){case't':fprintf(f,"Content-type:te*t/plain\n");break;case'g':fprintf(f,"Content-type:image/gif\n");break;case'j':fprintf(f,"Content-type:image/jpeg\n");break;case'h':fprintf(f,"Content-type:te*t/html\n");break;}發(fā)送效勞器信息:fprintf(f,"Server:AMRLinu*-d\n");發(fā)送文件過期為永不過期:fprintf(f,"E*pires:0\n");4.3實驗步驟4.3.1進入/arm2410s/e*p/basic/09_d目錄,使用vi編輯器或其他編輯器閱讀理解源代碼4.3.2運行make產(chǎn)生可執(zhí)行文件d[rootz*t/]*cd/arm2410s/e*p/basic/09_d/[rootz*t09_d]*makearmv4l-unknown-linu*-gcc-DD_DOCUMENT_ROOT=\"/mnt/yaffs\"-c-od.od.carmv4l-unknown-linu*-gcc-DD_DOCUMENT_ROOT=\"/mnt/yaffs\"-c-ocopy.carmv4l-unknown-linu*-gcc-o../bin/dd.ocopy.o-lpthreadarmv4l-unknown-linu*-gcc-odd.ocopy.o-lpthread[rootz*t09_d]*lscopy.cdocdd.oMa

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論