

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 嵌入式WEB服務(wù)器</b></p><p><b> 摘 要</b></p><p> 隨著計(jì)算機(jī)、網(wǎng)絡(luò)通信和Internet 技術(shù)的飛速發(fā)展和不斷進(jìn)步,嵌入式系統(tǒng)在家庭和工業(yè)應(yīng)用越來越廣泛。如何將嵌入式系統(tǒng)和工業(yè)控制系統(tǒng)接入Internet,綜合利用嵌入式系統(tǒng)資源,實(shí)現(xiàn)嵌入式系統(tǒng)的遠(yuǎn)程管理和控制,已成為倍受
2、關(guān)注的研究課題,而實(shí)現(xiàn)嵌入式系統(tǒng)的網(wǎng)絡(luò)化則成為嵌入式系統(tǒng)的發(fā)展趨勢(shì)。</p><p> 嵌入式Web在網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)、電力系統(tǒng)的遠(yuǎn)程監(jiān)測與故障診斷、工業(yè)自動(dòng)化系統(tǒng)中設(shè)備的保護(hù)和控制、智能小區(qū)及智能家電燈諸多領(lǐng)域都有良好的應(yīng)用,為人們管理、控制和監(jiān)測各種各樣的設(shè)備提供了一個(gè)很好的途徑。因此,對(duì)嵌入式Web服務(wù)器的研究具有重大的意義。 </p><p> 本文首先介紹了嵌入式Web系統(tǒng)的
3、基本概念、歷史和發(fā)展?fàn)顩r,同時(shí)闡述了設(shè)計(jì)及實(shí)現(xiàn)嵌入式Web服務(wù)器的關(guān)鍵技術(shù)和相關(guān)的理論基礎(chǔ)。對(duì)嵌入式Web服務(wù)器的相關(guān)理論做了重點(diǎn)分析,最后做出實(shí)驗(yàn),完成了基于ARM平臺(tái)的簡單嵌入式Web服務(wù)器的實(shí)現(xiàn),為嵌入式Web服務(wù)器開發(fā)人員提供了必要了理論和實(shí)踐基礎(chǔ)。</p><p> 關(guān)鍵詞:嵌入式;ARM;Web服務(wù)器;Socket;Internet</p><p> The embedde
4、d WEB server</p><p><b> ABSTRACT</b></p><p> With the rapid development and advances of computers, network communications and Internet technology, the applications of the embedded
5、systems in the home and industrial are more and more extensive. How to make the embedded systems and industrial control system access to Internet, comprehensive make use of resources of embedded systems, realization the
6、embedded systems of remote management and control, has become times be subjected to concern of research topic, and the realization of networked e</p><p> Embedded Web in the network video monitoring system,
7、 remote power system monitoring and fault diagnosis, industrial automation system protection and control devices, smart appliances and smart residential area of lights have a good number of applications, which for people
8、 to manage, control and monitoring of a variety of equipment types provided a good way. Therefore, the study of embedded Web server has the meaning of great significance.</p><p> This article first introduc
9、ed the embedded Web system’s basic concept, the history and the development condition, simultaneously elaborated design and realizes the embedded Web server's key technologies and the correlation theories foundation.
10、 Here it makes a selective analysis to the embedded Web server's correlation theories, finally make the experiment done, and complete the realization based on ARM platform simple embedded Web server, which has provid
11、ed essential theory and practice foundati</p><p> Key words: Embedded ;ARM ;Web server ;Socket; Internet</p><p><b> 目錄</b></p><p> 嵌入式WEB服務(wù)器I</p><p> T
12、he embedded WEB serverII</p><p><b> 第1章 緒論1</b></p><p> 1.1 課題的研究意義1</p><p> 1.2 國內(nèi)外研究現(xiàn)狀1</p><p> 1.3 論文研究內(nèi)容3</p><p> 第2章 相關(guān)理論與知識(shí)4&l
13、t;/p><p> 2.1 嵌入式Web服務(wù)器的硬件構(gòu)成4</p><p> 2.1.1金牛開發(fā)板4</p><p> 2.1.2CPU芯片6</p><p> 2.1.3以太網(wǎng)控制芯片6</p><p> 2.2嵌入式Web服務(wù)器的軟件構(gòu)成7</p><p> 2.3CGI技
14、術(shù)8</p><p> 2.3.1CGI概述8</p><p> 2.3..2CGI工作原理8</p><p> 2.4開發(fā)工具介紹9</p><p> 2.4.1Keil介紹9</p><p> 2.4.2Keil綜述10</p><p> 2.5本章小結(jié)10<
15、/p><p> 第3章 嵌入式WEB服務(wù)器的分析11</p><p> 3.1 嵌入式Web技術(shù)11</p><p> 3.2嵌入式Web服務(wù)器的應(yīng)用12</p><p> 3.2.1 在網(wǎng)絡(luò)配置和監(jiān)控方面的應(yīng)用12</p><p> 3.2.2 在Internet方面的應(yīng)用12</p>
16、<p> 3.3 嵌入式Internet技術(shù)的應(yīng)用前景13</p><p> 3.4嵌入式Web服務(wù)器中TCP/IP棧的實(shí)現(xiàn)14</p><p> 3.4.1嵌入式TCP/IP協(xié)議棧概述14</p><p> 3.4.2 ARP協(xié)議實(shí)現(xiàn)14</p><p> 3.4.3 IP協(xié)議實(shí)現(xiàn)15</p>
17、<p> 3.4..4ICMP協(xié)議實(shí)現(xiàn)15</p><p> 3.4.5TCP協(xié)議實(shí)現(xiàn)15</p><p> 3.5 協(xié)議標(biāo)準(zhǔn)16</p><p> 3.6 超文本傳輸協(xié)議(HTTP)16</p><p> 3.6.1 HTTP協(xié)議簡介16</p><p> 3.6.2 HTTP協(xié)議工作
18、過程18</p><p> 3.6.3 HTTP協(xié)議信息交換的實(shí)現(xiàn)19</p><p> 3.6.4 HTTP訪問的常見響應(yīng)狀態(tài)20</p><p> 3.7 嵌入式Web服務(wù)器實(shí)現(xiàn)方法20</p><p> 3.8本章小結(jié)21</p><p> 第4章 簡單的嵌入式Web服務(wù)器的實(shí)現(xiàn)22<
19、/p><p> 4.1 需求分析與設(shè)計(jì)22</p><p> 4.1.1 設(shè)計(jì)總體需求說明22</p><p> 4.1.2硬件的系統(tǒng)框架圖22</p><p> 4.1.3 軟件的數(shù)據(jù)處理流程23</p><p> 4.2 程序設(shè)計(jì)與實(shí)現(xiàn)24</p><p> 4.2.1 主
20、程序設(shè)計(jì)24</p><p> 4.2.2 網(wǎng)絡(luò)連接設(shè)計(jì)25</p><p> 4.2.3 CGI網(wǎng)頁的設(shè)計(jì)29</p><p> 4.2.4 協(xié)議的設(shè)計(jì)31</p><p> 4.3 程序編譯、運(yùn)行及測試33</p><p> 4.3.1 編譯應(yīng)用程序33</p><p>
21、; 4.3.2 下載調(diào)試34</p><p> 4.3.3 本機(jī)測試35</p><p> 4.4 本章小結(jié)36</p><p><b> 結(jié) 論37</b></p><p><b> 參考文獻(xiàn)38</b></p><p><b> 致 謝
22、39</b></p><p><b> 第1章 緒論 </b></p><p> 1.1 課題的研究意義</p><p> Internet的迅猛發(fā)展,傳統(tǒng)的Client/server體系結(jié)構(gòu)(客戶機(jī)/服務(wù)器),漸漸的在某些方面顯示出它的局限性,Browser/server結(jié)構(gòu)(瀏覽器/服務(wù)器)的出現(xiàn)恰恰彌補(bǔ)了這種缺陷。B
23、/S方式已成為一種時(shí)尚,大部分網(wǎng)絡(luò)應(yīng)用系統(tǒng)都是以這種B/S方式與網(wǎng)絡(luò)用戶交換信息。B/S的基礎(chǔ)是客戶端要有一個(gè)瀏覽器程序,服務(wù)器端要有一個(gè)與之對(duì)應(yīng)的Web服務(wù)器。顯然,Web服務(wù)器在B/S方式下起著決定性的作用,因此,一般互聯(lián)網(wǎng)站都采用功能強(qiáng)大的通用Web服務(wù)器。</p><p> 隨著網(wǎng)絡(luò)各個(gè)核心部分業(yè)務(wù)量的提高,其訪問量和數(shù)據(jù)流量快速增長,處理能力和計(jì)算強(qiáng)度也相應(yīng)增大,使得單一設(shè)備根本無法承擔(dān),而且許多企業(yè)
24、級(jí)應(yīng)用系統(tǒng)的應(yīng)用請(qǐng)求具有突發(fā)性和緊急性的特點(diǎn),當(dāng)應(yīng)用訪問急劇上升時(shí),容易造成網(wǎng)絡(luò)瓶頸。解決這一問題的辦法是采用多臺(tái)嵌入式Web服務(wù)器為一個(gè)應(yīng)用服務(wù),集群負(fù)載均衡機(jī)制就是為解決多個(gè)網(wǎng)絡(luò)設(shè)備之間實(shí)現(xiàn)合理的業(yè)務(wù)量分配而提出的。</p><p> 1.2 國內(nèi)外研究現(xiàn)狀</p><p> 中國的嵌入式系統(tǒng)開發(fā)走過了二十多年的歷程,有超過數(shù)十萬名從事開發(fā)應(yīng)用的工程師,但大多數(shù)以上是幾個(gè)人的小組以
25、孤軍奮戰(zhàn)的封閉方式開發(fā)幾乎不可重用的軟件。今天面對(duì)的是嵌入式系統(tǒng)工業(yè)化的潮流,如果不能認(rèn)識(shí)到嵌入式軟件必須以工業(yè)化的方式生產(chǎn)開發(fā),不理解在短時(shí)間內(nèi)裝配集成“數(shù)百人/年”的嵌入式產(chǎn)品,那么將失去更多的上游產(chǎn)品的市場機(jī)遇。</p><p> 嵌入式軟件方面逐漸形成了系統(tǒng)軟件、應(yīng)用軟件的架構(gòu)。國際上用于信息電器的嵌入式操作系統(tǒng)有40種左右。其中,國外涌現(xiàn)了一些著名的嵌入式操作系統(tǒng),如:Vxworks、pSOS、Win
26、CE、RTEK、palmOS、EpOC、QNX、LynxOS、DSPhnux等。其中Vx/Orks是目前嵌入式系統(tǒng)領(lǐng)域中使用最廣泛、市場占有率最高的系統(tǒng):WinCE是一種32位的多任務(wù)操作系統(tǒng),可以移植,能夠開發(fā)多種企業(yè)和客戶類設(shè)備,是微軟公司的“維納斯計(jì)劃”的核心:3COM公司的Palm0S在PDA市場上占有很大的市場份額,它有開放的操作系統(tǒng)應(yīng)用程序接口(API),開發(fā)商可以根據(jù)需要自行開發(fā)所需要的應(yīng)用程序。</p>&
27、lt;p> 這些商業(yè)性嵌入式系統(tǒng),價(jià)格昂貴,而且每個(gè)系統(tǒng)上的應(yīng)用軟件與其它系統(tǒng)很難兼容。并且,由于這種封閉性還導(dǎo)致了商業(yè)性嵌入式系統(tǒng)在對(duì)各種設(shè)備的支</p><p> 持方面存在很大的問題,使得對(duì)它們的軟件移植變得很困難。這時(shí)Linux操作系統(tǒng)適時(shí)地出現(xiàn)了,它的源代碼公平,并有非常豐富的文檔。Linux的出現(xiàn),打破了微軟在PC操作系統(tǒng)上的長期壟斷地位,使得用戶在選用操作系統(tǒng)時(shí)有了更多的選擇。目前我國開發(fā)
28、的主要產(chǎn)品有中科院系統(tǒng)的女媧Hopen、桑夏2000、Delta0.5、中科院紅旗Linux,深圳藍(lán)點(diǎn)Linux,北京科銀京成(原電子科大的)CRTOS等。“中國Linux產(chǎn)業(yè)就像90多度的水”,它的應(yīng)用市場不斷擴(kuò)大,應(yīng)用領(lǐng)域已擴(kuò)大到政府、金融、電信、教育、交通等行業(yè)及各種數(shù)字設(shè)備領(lǐng)域。</p><p> 國內(nèi)外有大量嵌入式應(yīng)用軟件已廣泛用于各類嵌入式系統(tǒng)中。大有國內(nèi)緊跟國外趨勢(shì)的形勢(shì)。但是對(duì)于嵌入式Web服務(wù)
29、器方面的研究國內(nèi)現(xiàn)狀不容樂觀,目前國外的相關(guān)研究相對(duì)多些。如林C/IP研究項(xiàng)目,它是一個(gè)為微控制器和嵌入式系統(tǒng)而設(shè)計(jì)的小型TCP/IP協(xié)議棧:又如CMX公司的MieroNetTCP/IP,它是為8位或16位微處理器而設(shè)計(jì)的,支持大部分的標(biāo)準(zhǔn)協(xié)議,連接方式有以太網(wǎng)連接、撥號(hào)連接和直接連接方式。而國內(nèi)也相應(yīng)提出了Webito協(xié)議標(biāo)準(zhǔn),但是相對(duì)滯后,缺少具體的工程實(shí)現(xiàn)方面的研究和具體產(chǎn)品的開發(fā)。</p><p> 應(yīng)
30、用方面國內(nèi)外基本相近。目前都是主要應(yīng)用于各種計(jì)算機(jī)網(wǎng)絡(luò)設(shè)備的配置與監(jiān)控方面。有些公司己經(jīng)推出了多種以不同方式連接Internet的網(wǎng)絡(luò)化儀器和設(shè)備,例如Agileni公司研制出了具有Web瀏覽器遠(yuǎn)程接入功能的邏輯分析儀:Cisco公司己開始銷售具備Web管理界面的交換機(jī)等。但是隨著這一技術(shù)的成熟與發(fā)展,加之這一技術(shù)的優(yōu)點(diǎn),目前的文獻(xiàn)大都預(yù)見:這一技術(shù)必將廣泛的應(yīng)用于其它領(lǐng)域。</p><p> 面對(duì)國內(nèi)外嵌入式
31、Web服務(wù)器技術(shù)發(fā)展的差距,考慮到其廣泛的應(yīng)用前景,這一技術(shù)的研究和開發(fā)具有一定的迫切性和必要性。網(wǎng)絡(luò)流量的爆炸似的增加,使得嵌入式Web服務(wù)器必須得面對(duì)不斷增加的負(fù)載壓力,將過去單一的服務(wù)器模式擴(kuò)充為多服務(wù)器模式,用多臺(tái)計(jì)算機(jī)來協(xié)作完成本來由一臺(tái)服務(wù)器完成的功能,這種技術(shù)可以顯著提高服務(wù)器的總體性能,并且具有良好的可擴(kuò)展性與高可靠性。由于集群系統(tǒng)的優(yōu)越性能,國內(nèi)外各大研究機(jī)構(gòu)及企業(yè)都對(duì)集群的研究與應(yīng)用方面進(jìn)行了探索。</p>
32、;<p> 美國DEC公司開發(fā)的VMSeluster系統(tǒng)開發(fā)最早,技術(shù)也較成熟,應(yīng)用也很廣泛,但由于VMS操作系統(tǒng)只能在DEC公司的VAX系列和AIPha系列服務(wù)器上運(yùn)行,VMScluster的應(yīng)用受到很大限制。</p><p> Platform公司開發(fā)的高可用性集群系統(tǒng)LSF提供了分布式集群系統(tǒng)的解決方案,通過將物理上分離的多個(gè)集群連接在一起使多個(gè)同構(gòu)或異構(gòu)的計(jì)算機(jī)能夠通過局域網(wǎng)或廣域網(wǎng)共享
33、計(jì)算資源,并能夠?yàn)橛脩籼峁?duì)資源的透明訪問。</p><p> 國內(nèi)也有不少公司進(jìn)行了集群系統(tǒng)的研究和開發(fā)工作。</p><p> 聯(lián)想公司在1999年9月推出了用于分布式高性能計(jì)算的NS10000高性能集群服務(wù),該系統(tǒng)是一個(gè)四節(jié)點(diǎn)的系統(tǒng),主要基于聯(lián)想萬全45008服務(wù)器,以總體成本相對(duì)較低的設(shè)備組合,足以替代傳統(tǒng)班SC小型機(jī)和中型機(jī)的工作,而價(jià)格僅為市場上同等性能小型機(jī)的1/2--1
34、/40。</p><p> 朗訊公司也推出了類似于Urboduster的高可用性集群系統(tǒng)LongshineClusterServer。</p><p> 從國內(nèi)外的研究現(xiàn)狀看,目前集群系統(tǒng)的應(yīng)用大都致力于高可用性問題的解決,真正基于負(fù)載均衡的集群系統(tǒng)還比較少,而且在大部分負(fù)載均衡集群中采用的都是輪轉(zhuǎn)調(diào)度、加權(quán)輪轉(zhuǎn)調(diào)度等靜態(tài)調(diào)度算法。</p><p> 1.3
35、論文研究內(nèi)容</p><p> 嵌入式Web服務(wù)器是指將Web服務(wù)器引入到現(xiàn)場測試和控制設(shè)備中,在相應(yīng)的硬件平臺(tái)和軟件系統(tǒng)的支持下,使傳統(tǒng)的測試和控制設(shè)備轉(zhuǎn)變?yōu)榫邆淞艘訲CP/IP為底層通信協(xié)議,Web技術(shù)為核心的基于互聯(lián)網(wǎng)的網(wǎng)絡(luò)測試和控制設(shè)備。EWS系統(tǒng)與傳統(tǒng)的Web應(yīng)用相比,簡化了系統(tǒng)結(jié)構(gòu),將信息采集和信息發(fā)布都集成到現(xiàn)場的測控設(shè)備中。而有了標(biāo)準(zhǔn)的接口形式和通信協(xié)議,內(nèi)嵌于設(shè)備的從Web服務(wù)器同樣可以向任何
36、接入它所在網(wǎng)絡(luò)的合法用戶提供統(tǒng)一的基于瀏覽器方式的操作和控制界面,瀏覽器成了設(shè)備的前端控制板。由于Web技術(shù)的開放性和獨(dú)立平臺(tái)特性,大大降低了軟件系統(tǒng)和通信系統(tǒng)的設(shè)計(jì)、維護(hù)工作量,節(jié)省了人員培訓(xùn)費(fèi)用等,提高了現(xiàn)場測試和控制設(shè)備的管理水平。</p><p> 本文采用stm32f107的硬件構(gòu)架,基于超文本傳輸協(xié)議(HTTP1.0)傳輸控制數(shù)據(jù)和用戶信息,設(shè)計(jì)了簡單的嵌入式Web服務(wù)器,通過以太網(wǎng)和HTTP數(shù)據(jù)傳
37、輸共享小型嵌入式設(shè)備的信息,實(shí)現(xiàn)了嵌入式系統(tǒng)的Internet接入,遠(yuǎn)程用戶可通過瀏覽器訪問嵌入式Web服務(wù)器,實(shí)現(xiàn)了嵌入式系統(tǒng)的遠(yuǎn)程控</p><p> 第2章 相關(guān)理論與知識(shí)</p><p> 2.1 嵌入式Web服務(wù)器的硬件構(gòu)成 </p><p> 2.1.1金牛開發(fā)板</p><p> 金牛嵌入式開發(fā)板采用 STM32F10
38、7VC,是意法半導(dǎo)體推出全新 STM32 互連 型(Connectivity)系列微控制器中的一款性能較強(qiáng)產(chǎn)品,此芯片集成了各種高 性能工業(yè)標(biāo)準(zhǔn)接口,且 STM32 不同型號(hào)產(chǎn)品在引腳和軟件上具有完美的兼容性, 可以輕松適應(yīng)更多的應(yīng)用。新 STM32 的標(biāo)準(zhǔn)外設(shè)包括10 個(gè)定時(shí)器、兩個(gè) 12 位 1-Msample/s AD(模數(shù)轉(zhuǎn)換器) (快速交替模式下2M sample/s)、兩個(gè) 12 位DA(數(shù) 模轉(zhuǎn)換器)、兩個(gè)I2C 接口、五
39、個(gè)USART 接口和三個(gè) SPI 端口和高質(zhì)量數(shù)字音頻 接口IIS, 另外STM32F107 擁有全速USB (OTG)接口,兩路CAN2.0B 接口,以 及以太網(wǎng) 10/100 MAC 模塊.此芯片可以滿足工業(yè)、醫(yī)療、樓宇自動(dòng)化、家庭音響 和家電市場多種產(chǎn)品需求. </p><p><b> 開發(fā)板硬件配置: </b></p><p>
40、● STM32F107VC </p><p> ◆ 32 位 RISC 性能處理器 </p><p> ◆ 32 位ARM Cortex-M3 結(jié)構(gòu)優(yōu)化 </p><p> ◆ 72 MHz 運(yùn)行頻率,1.25 DMIPS/MHz </p><p> ◆ 硬件除法和單周期乘法 </p><p> ◆
41、快速可嵌套中斷,6~12 個(gè)時(shí)鐘周期 </p><p> ◆ 具有 MPU 保護(hù)設(shè)定訪問規(guī)則 </p><p> ● 高達(dá)256KBFlash, 高達(dá)64KB 的SRAM </p><p><b> ● 網(wǎng)絡(luò)通信功能 </b></p><p> ◆ 一個(gè) RJ45 網(wǎng)絡(luò)接口,支持10M/100M 自適應(yīng)網(wǎng)絡(luò) &l
42、t;/p><p> ◆ 一個(gè) RS485 網(wǎng)絡(luò)通訊接口 </p><p> ◆ 兩個(gè) CAN BUS 網(wǎng)絡(luò)通訊接口 </p><p><b> ● 人機(jī)交互接口 </b></p><p> ◆ 一個(gè)3.2寸或 2.8 寸大屏幕320*240,26 萬色TFT-LCD,支持 8/16 位總線接口,鏡面屏,超高高度<
43、;/p><p> ● 電阻式觸摸屏,含專業(yè)高精度觸摸屏控制芯片 (RSM1843) </p><p> ● 四個(gè)LED 發(fā)光管指示,一個(gè)電源發(fā)光管指示 </p><p> ● 兩個(gè)GPIO 按鍵 </p><p> ● 一個(gè)RESET 按鍵 </p><p> ● 兩個(gè)RS232 串行通信接口(DB9)
44、</p><p> ◆ 串口1 用于通信,需設(shè)置跳線選擇連接串口 1 </p><p> ◆ 串口2 用于通信支持 ISP,需設(shè)置跳線選擇連接串口2 </p><p> ● 一個(gè)mini AB 型 USB 插座,支持最新 USB OTG 技術(shù),配備 USB 主 </p><p> 機(jī)轉(zhuǎn)接線 ,從機(jī)轉(zhuǎn)接線 </p>&l
45、t;p> ◆ USB OTG 功能,支持外接優(yōu)盤 </p><p><b> ● SPI 接口 </b></p><p> ◆ 一路連接 DATAFLASH (AT45DB161D) </p><p> ◆ 一路連接到TFT 模塊的觸摸驅(qū)動(dòng)芯片(RSM1843) </p><p><b>
46、● IIC 接口 </b></p><p> ◆ IIC 接口外接 EEPROM (24LC02) </p><p> ● 一個(gè)SD 卡座SPI 操作方式(不含SD 卡),提供文件系統(tǒng)(FATFS) </p><p> ● 外接兩路獨(dú)立的ADC 輸入通道 </p><p> ● 外接兩路獨(dú)立的DAC 輸出通道 <
47、;/p><p> ● 一路電位器輸入模擬信號(hào) </p><p> ● 一個(gè)標(biāo)準(zhǔn)JTAG/SWD 調(diào)試接口(20pin) </p><p> ● 供電方式: 5V 電源適配器或USB 供電,通過跳線選擇 </p><p> ● 引出芯片所有 IO,方便二次開發(fā) </p><p> 圖2.1 開發(fā)板正面圖<
48、/p><p> 2.1.2CPU芯片</p><p> STM32F107VCT6: 存儲(chǔ)器容量, RAM:64KB,計(jì)時(shí)器數(shù):10,PWM通道數(shù):16,工作溫度范圍:-40°C to +85°C,針腳數(shù):100,封裝類型:LQFP,接口類型:CAN, I2C, SPI, UART, USART, USB,時(shí)鐘頻率:72MHz,模數(shù)轉(zhuǎn)換器輸入數(shù):16,電源電壓 最大:3
49、.6V,電源電壓 最小:2V,芯片標(biāo)號(hào):32F107VCT,表面安裝器件:表面安裝,輸入/輸出線數(shù):80,閃存容量:256KB</p><p> 圖2.2 STM32F107VCT6參考圖</p><p> 2.1.3以太網(wǎng)控制芯片</p><p> DP83848C是美國國家半導(dǎo)體公司生產(chǎn)的一款魯棒性好、功能全、功耗低的10/100 Mbps單路物理層(PH
50、Y)器件。它支持MII(介質(zhì)無關(guān)接口)和RMII(精簡的介質(zhì)無關(guān)接口),使設(shè)計(jì)更簡單靈活;同時(shí),支持10BASE~T和 100BASE-TX以太網(wǎng)外設(shè),對(duì)其他標(biāo)準(zhǔn)以太網(wǎng)解決方案有良好的兼容性和通用性。</p><p> MII(Medium Independent InteRFace)是IEEE802.3u規(guī)定的一種介質(zhì)無關(guān)接口,主要作用是連接介質(zhì)訪問控制層(MAC)子層與物理層(PH-Y)之間的標(biāo)準(zhǔn)以太網(wǎng)接口
51、,負(fù)責(zé)MAC和PHY之間的通信。由于MII需要多達(dá)16根信號(hào)線,由此產(chǎn)生的I/O口需求及功耗較大,有必要對(duì)MII引腳數(shù)進(jìn)行簡化,因此提出了RMII(Reduced Medium Independent Interface,精簡的介質(zhì)無關(guān)接口),即簡化了的MII。</p><p> 圖2.3 以太網(wǎng)控制芯片參考圖</p><p> 2.2嵌入式Web服務(wù)器的軟件構(gòu)成</p>
52、<p> 嵌入式 Web 服務(wù)器主要解決的問題是通過 Internet 來進(jìn)行遠(yuǎn)程訪問和控制現(xiàn)場的設(shè)備,所以必須在嵌入式設(shè)備中配置 TCP/IP 協(xié)議和 Web 服務(wù)器 , 以解決網(wǎng)絡(luò)互聯(lián)問題。但是嵌入式服務(wù)器系統(tǒng)只需要使用其中的某些基本 的功能,也要減去一些使用不到有功能 ,以節(jié)省有限的嵌入式資源。TCP/IP 此外還要用到的軟件資源有嵌入式實(shí)時(shí)操作系統(tǒng) 、HTTP 協(xié)議 ,同時(shí)帶有 SMTP 和 SNMP 協(xié)議 ,使
53、其具有網(wǎng)絡(luò)管理的簡單功能 ,通過網(wǎng)絡(luò)可以對(duì)接 入到 Internet 上的設(shè)備進(jìn)行管理和控制。</p><p> 軟件用到的主要開發(fā)工具以及語言技術(shù)有:</p><p> C語言:大部分程序都是用C語言編寫的;</p><p> CGI:在Web上主要用到的是CGI腳本語言</p><p> Keil:開發(fā)工具用到的是Keil uvi
54、sion4.</p><p> 注:以上工具和技術(shù)在接下來的章節(jié)會(huì)有介紹。</p><p><b> 2.3CGI技術(shù)</b></p><p> 2.3.1CGI概述</p><p> CGI(通用網(wǎng)關(guān)接口)是用于Web服務(wù)器和外部應(yīng)用程序之間信息交互的標(biāo)準(zhǔn)接口。Web服務(wù)器原本是為靜態(tài)HTML文檔以及其它相關(guān)靜
55、態(tài)文件而設(shè)計(jì)的。如果一個(gè)Web服務(wù)器的功能只限于提供靜態(tài)頁面的話,那么與之通信的Web瀏覽器就只能顯示在頁面請(qǐng)求和顯示過程之間文檔內(nèi)容不變化的頁面。CGI規(guī)范在Web服務(wù)器和瀏覽器(又稱客戶機(jī))之間建立了標(biāo)準(zhǔn)的信息交換方式。使用它使得信息在瀏覽器或服務(wù)器與外部程序之間流動(dòng),外部程序在處理之后將處理結(jié)果送回用戶端瀏覽器。外部程序通常稱為CGI程序、CGI腳本、CGI應(yīng)用程序或簡稱網(wǎng)關(guān),因?yàn)樗\(yùn)用了CGI規(guī)范并為實(shí)現(xiàn)Web平臺(tái)的功能而專門設(shè)
56、計(jì)。</p><p> 在HTML中,當(dāng)客戶填寫了表單,并按下發(fā)送(submit)按鈕后,表單的內(nèi)容被發(fā)送到了服務(wù)器端,一般的,這時(shí)就需要有一個(gè)服務(wù)器腳本來對(duì)表單的內(nèi)容進(jìn)行一些處理。沒有了CGI,Web的世界就完全失去了它的交互性,所有的信息都變成單向的了,而不能夠有任何的反饋。</p><p> 2.3..2CGI工作原理</p><p> 系統(tǒng)嵌入式Web
57、服務(wù)器通過CGI程序來獲取用戶的請(qǐng)求、查詢條件,使用HTML方式描述結(jié)果并直接回送到客戶端的瀏覽器上,此過程中瀏覽器將用戶輸入的數(shù)據(jù)發(fā)送到Web服務(wù)器,Web服務(wù)器將數(shù)據(jù)使用STDIN(標(biāo)準(zhǔn)輸入)送到CGI程序。在執(zhí)行CGI程序后,會(huì)訪問數(shù)據(jù)庫的記錄,最后使用STDOUT輸出HTML形式的結(jié)果文件,經(jīng)Web服務(wù)器送回瀏覽器顯示給用戶。使用CGI實(shí)現(xiàn)客戶與服務(wù)器的交互分一下九個(gè)標(biāo)準(zhǔn)步驟:</p><p> Web
58、客戶(瀏覽器)通過URL與Web服務(wù)器相連;</p><p> 服務(wù)發(fā)送HTML(和別的組成請(qǐng)求頁面的文件)給用戶,一旦頁面內(nèi)容傳完,這個(gè)連接自動(dòng)斷開;</p><p> 在客戶方,HTML腳本提示用戶做動(dòng)作或輸入,當(dāng)用戶響應(yīng)后客戶請(qǐng)求Web服務(wù)器建立一個(gè)新的連接;</p><p> 一旦建立連接,客戶把用戶輸入的數(shù)據(jù)傳送給Web服務(wù)器;</p>
59、<p> Web服務(wù)器把這些信息和別的進(jìn)程變量傳給由HTML以URL形式提交的CGI程序;</p><p> CGI程序根據(jù)輸入作出相應(yīng)的操作,產(chǎn)生對(duì)客戶的響應(yīng)(一般以一個(gè)HTML文檔的形式),并將其傳送給Web服務(wù)器;</p><p> Web服務(wù)器把應(yīng)答數(shù)據(jù)傳送給客戶,并關(guān)閉連接;</p><p> 圖2.4 CGI工作原理</p&g
60、t;<p> 其中CGI與表單之間的信息交互方法有兩種模式:“GET”和“POST”。選擇哪一種模式取決于表單(FORM)的“METHOD”字段的設(shè)置,如果METHOD設(shè)定為GET,CGI程序從環(huán)境變量QUER_STRING中獲取數(shù)據(jù)。為了解釋數(shù)據(jù)和執(zhí)行需要的動(dòng)作,CGI程序必須要分析(處理)此字符串;如果METHOD設(shè)定為POST,數(shù)據(jù)會(huì)以STDIN,必須使用CONTENT_LENGTH值。在本設(shè)計(jì)中CGI程序采用的是
61、POST方法。如果想從服務(wù)器獲得數(shù)據(jù)并且不改變服務(wù)器上的數(shù)據(jù)時(shí),應(yīng)該選用GET方法;也有例外,當(dāng)傳輸?shù)臄?shù)據(jù)很長時(shí),選用POST方法較好;使用GET方式編寫CGI程序會(huì)更加簡單,但是POST方式則更加先進(jìn);當(dāng)發(fā)送的數(shù)據(jù)將改變Web服務(wù)器端的數(shù)據(jù)時(shí),或者想給CGI程序傳輸大量數(shù)據(jù)(一般地,超過1024字節(jié),這是URL的極限長度)時(shí),應(yīng)該選用POST方法。</p><p><b> 2.4開發(fā)工具介紹<
62、;/b></p><p> 2.4.1Keil介紹</p><p> Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision
63、)將這些部分組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍</p><p> 2.4.2Keil綜述</p><p> C51工具包的整體結(jié)構(gòu),uVision與Ishell分別是C51 for
64、Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及C51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由
65、仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。 </p><p> 使用獨(dú)立的Keil仿真器時(shí),注意事項(xiàng):</p><p> * 仿真器標(biāo)配11.0592MHz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。 </p><p> * 仿真器上的復(fù)位按鈕只復(fù)位仿真芯片,不復(fù)位目標(biāo)系統(tǒng)。 </p><p&g
66、t; * 仿真芯片的31腳(/EA)已接至高電平,所以仿真時(shí)只能使用片內(nèi)ROM,不能使用片外ROM;但仿真器外引插針中的31腳并不與仿真芯片的31腳相連,故該仿真器仍可插入到擴(kuò)展有外部ROM(其CPU的/EA引腳接至低電平)的目標(biāo)系統(tǒng)中使用</p><p><b> Keil的優(yōu)點(diǎn):</b></p><p> 1.Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)
67、語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢(shì)。 </p><p> 2.與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會(huì)更加深刻。 Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。</p><p><b> 2.5本章小結(jié)</b>
68、;</p><p> 本章主要介紹了本次設(shè)計(jì)所攬括的軟硬件設(shè)備,詳細(xì)的說明了本設(shè)計(jì)使用的開發(fā)板的資料,以及硬件的一部分主要芯片。在軟件設(shè)計(jì)上所使用的技術(shù)主要是CGI和C,而C語言不用多說,對(duì)于CGI做出了詳細(xì)的介紹。</p><p> 第3章 嵌入式WEB服務(wù)器的分析</p><p> 3.1 嵌入式Web技術(shù)</p><p> 嵌入
69、式Web服務(wù)器,本身就是在嵌入式設(shè)備中運(yùn)行的基于HTTP協(xié)議的Web服務(wù)器,以網(wǎng)頁的形式為計(jì)算機(jī)提供嵌入式設(shè)備的狀態(tài)、參數(shù)表示等信息川。將Web服務(wù)器植入嵌入式系統(tǒng)后接入Internet,嵌入式Web服務(wù)器不僅可以利用瀏覽器提供的豐富的圖形用戶界面實(shí)現(xiàn)遠(yuǎn)程管理、監(jiān)控嵌入式系統(tǒng)的功能,并且可以在服務(wù)器端結(jié)合嵌入式Web服務(wù)器提供的接口進(jìn)行進(jìn)一步開發(fā),以此豐富各種嵌入式功能。嵌入式Web服務(wù)器更易于和Internet實(shí)現(xiàn)無縫連接,它使得嵌入
70、式設(shè)備的遠(yuǎn)程控制和管理方式都有了改變,不再需要專用的通信線路,傳輸?shù)男畔⒁膊辉倬窒抻跀?shù)據(jù)信息[5]。</p><p> 如圖3.1所示是典型的嵌入式Web服務(wù)器的系統(tǒng)模型:</p><p> 圖3.1 典型的嵌入式Web服務(wù)器系統(tǒng)模型</p><p> Internet可以提供多種網(wǎng)絡(luò)服務(wù),比如通過SMTP(簡單郵件傳輸協(xié)議)收發(fā)郵件,通過FTP(文件傳輸協(xié)議
71、)傳輸文件。Internet能得到如此大規(guī)模的流行,WWW(World Wide Web)技術(shù)居功至偉。可以說如果沒有WWW和HTTP技術(shù)就不會(huì)有這么多人使用Internet,正是WWW技術(shù)把Internet的結(jié)構(gòu)、服務(wù)和應(yīng)用引上了一個(gè)新臺(tái)階。</p><p> 嵌入式系統(tǒng)幾乎包括了生活中的所有電器設(shè)備,如掌上PDA、移動(dòng)計(jì)算設(shè)備、手機(jī)上網(wǎng)、數(shù)字電視、多媒體、汽車、微波爐、數(shù)字相機(jī)、家庭自動(dòng)化系統(tǒng)、電梯、空調(diào)、
72、安全系統(tǒng)、自動(dòng)售貨機(jī)、蜂窩式電話、消費(fèi)電子設(shè)備、工業(yè)自動(dòng)化儀表與醫(yī)療儀器等。</p><p> 嵌入式系統(tǒng)和Internet技術(shù)的結(jié)合,前景非常樂觀。嵌入式Web技術(shù)除了可以用于構(gòu)建智能家庭外還可以用于很多工業(yè)領(lǐng)域。在工業(yè)控制系統(tǒng)中,采用嵌入式Web技術(shù)的遠(yuǎn)程監(jiān)控系統(tǒng)和傳統(tǒng)的基于現(xiàn)場總線的監(jiān)控系統(tǒng)相比,前者更容易和Internet實(shí)現(xiàn)無縫連接,它使得嵌入式設(shè)備的遠(yuǎn)程控制和管理方式都有了改變,不再需要專用的通信線
73、路,傳輸?shù)男畔⒁膊辉倬窒抻跀?shù)據(jù)信息。在電力系統(tǒng)中嵌入式Web技術(shù)也有用武之地。電力系統(tǒng)是一個(gè)包含電能生產(chǎn)、傳輸和使用的復(fù)雜系統(tǒng),各種生產(chǎn)設(shè)備地域分布廣泛,設(shè)備類型眾多、數(shù)量巨大,對(duì)于這些設(shè)備的監(jiān)控。診斷和維護(hù)稱為提高系統(tǒng)管理水平的重要內(nèi)容。因此可以將嵌入式Web技術(shù)用于電力系統(tǒng)的遠(yuǎn)程檢測與故障診斷。</p><p> 3.2嵌入式Web服務(wù)器的應(yīng)用</p><p> 3.2.1 在網(wǎng)絡(luò)
74、配置和監(jiān)控方面的應(yīng)用</p><p> 嵌入式Web服務(wù)器目前都是主要應(yīng)用于各種計(jì)算機(jī)網(wǎng)絡(luò)設(shè)備的配置與監(jiān)控方面。有些公司己經(jīng)推出了多種以不同方式連接Interment的網(wǎng)絡(luò)化儀器和設(shè)備,例如Abilene公司研制出了具有Web瀏覽器遠(yuǎn)程接入功能的邏輯分析儀:Cisco公司己開始銷售具備Web管理界面的交換機(jī)等。但是隨著這一技術(shù)的成熟與發(fā)展,加之這一技術(shù)的優(yōu)點(diǎn),目前的文獻(xiàn)大都預(yù)見:這一技術(shù)必將廣泛的應(yīng)用于其它領(lǐng)域
75、。例如:水文資料實(shí)時(shí)監(jiān)測,防洪體系及水土質(zhì)量監(jiān)測、堤壩安全,地震監(jiān)測網(wǎng),實(shí)時(shí)氣象,水源和空氣污染監(jiān)測,家政系統(tǒng):水、電、煤氣表的自動(dòng)抄表,安全防火、防盜系統(tǒng)等。</p><p> 隨著微處理器技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的進(jìn)步,基于嵌入式Web的網(wǎng)絡(luò)數(shù)字視頻監(jiān)控系統(tǒng)逐漸得到了人們的廣泛關(guān)注。把圖像采集、視頻壓縮和WEB功能集中到一個(gè)體積很小的設(shè)備內(nèi),可以直接連入局域網(wǎng)和Internet,達(dá)到即插即用,省掉多種復(fù)雜的電纜
76、,安裝方便,用戶也無須安裝任何硬件設(shè)備即可觀看,這使得由嵌入式網(wǎng)絡(luò)視頻監(jiān)控服務(wù)器組成的監(jiān)控網(wǎng)絡(luò)組網(wǎng)和擴(kuò)展都極為靈活方便。 </p><p> 3.2.2 在Internet方面的應(yīng)用</p><p> 傳統(tǒng)的通用的Web服務(wù)器被設(shè)計(jì)用來處理成千上萬個(gè)用戶對(duì)普通網(wǎng)站的同時(shí)并發(fā)訪問。它可以有強(qiáng)有力的數(shù)據(jù)庫作為后盾來開展內(nèi)容繁多的商業(yè)服務(wù),但是由于嵌入式設(shè)備
77、的處理器能力和有限的存儲(chǔ)容量,這樣的服務(wù)器并不能用來在嵌入式設(shè)備上面運(yùn)行。對(duì)于一般的管理信息系統(tǒng)或中小型應(yīng)用系統(tǒng),所需的Web服務(wù)功能比較簡單,如果仍然采用大型的通用Web服務(wù)器,無疑是一種資源的浪費(fèi)。解決方法是使用功能相對(duì)簡單、體積更小、消耗資源更少的簡單Web服務(wù)器,于是嵌入式Web服務(wù)器就應(yīng)運(yùn)而生了。</p><p> WWW(World Wide Web)的飛速發(fā)展和廣泛應(yīng)用得益于其提供的大量服務(wù),這些
78、服務(wù)為人們的信息交流帶來了極大的便利。環(huán)球信息網(wǎng)是一個(gè)基于超文本方式的信息查詢方式。它提供了一個(gè)友好的界面,大大方便了人們對(duì)信息的瀏覽。而嵌入式系統(tǒng)鏈接入互聯(lián)網(wǎng)也是大勢(shì)所趨。</p><p> 3.3 嵌入式Internet技術(shù)的應(yīng)用前景</p><p> 嵌入式Internet技術(shù)具有廣闊的應(yīng)用前景,其應(yīng)用領(lǐng)域可以包括: </p><p><b
79、> 智能公路</b></p><p> 交通管理、車輛導(dǎo)航、流量控制、信息監(jiān)測與汽車服務(wù); </p><p><b> 植物工廠 </b></p><p> 特種植物工場,如實(shí)現(xiàn)野生名貴藥材的遠(yuǎn)程監(jiān)控培養(yǎng)和種植,無土栽培技術(shù)應(yīng)用,智能種子工程等; </p><p>
80、 虛擬現(xiàn)實(shí)(VR)機(jī)器人 </p><p> 交通警察、門衛(wèi)、家用機(jī)器人等; </p><p><b> 信息家電 </b></p><p> 冰箱、空調(diào)等的網(wǎng)絡(luò)化; </p><p><b> 工業(yè)制冷 </b></p>&
81、lt;p> 冷庫、中央空調(diào)、超級(jí)市場冰柜; </p><p><b> VR庫房 </b></p><p> 糧庫、油庫、食品庫等; </p><p><b> VR家政系統(tǒng) </b></p><p> 水、電、煤氣表的自動(dòng)抄表,安全防火、防盜
82、系統(tǒng); </p><p><b> VR精品店 </b></p><p> 客戶可以在Internet上實(shí)時(shí)地看到存貨狀況; </p><p><b> 工業(yè)自動(dòng)化 </b></p><p> 目前已經(jīng)有大量的8、16、32 位嵌入式微控制器
83、在應(yīng)用中,網(wǎng)絡(luò)化是提高生產(chǎn)效率 和產(chǎn)品質(zhì)量、減少人力資源的主要途徑,如制藥工業(yè)過程控制、電力系統(tǒng)、電網(wǎng)安全、 電網(wǎng)設(shè)備監(jiān)測、石油化工系統(tǒng); </p><p> POS網(wǎng)絡(luò)及電子商務(wù) </p><p> 公共交通無接觸智能卡(Contactless Smartcard, CSC)發(fā)行系統(tǒng),公共電話卡發(fā)行 系統(tǒng),自動(dòng)售貨
84、機(jī); </p><p><b> 環(huán)境工程與自然 </b></p><p> 水文資料實(shí)時(shí)監(jiān)測,防洪體系及水土質(zhì)量監(jiān)測、堤壩安全,地震監(jiān)測網(wǎng),實(shí)時(shí)氣象 信息網(wǎng),水源和空氣污染監(jiān)測[8]。</p><p> 3.4嵌入式Web服務(wù)器中TCP/IP棧的實(shí)現(xiàn)</p><p> 3.4.1嵌
85、入式TCP/IP協(xié)議棧概述</p><p> 嵌入式系統(tǒng)中實(shí)現(xiàn)的協(xié)議要根據(jù)系統(tǒng)自身的特點(diǎn)及功能來設(shè)計(jì)自己的協(xié)議族,因此,在嵌入式Web服務(wù)器中并非TCP/IP協(xié)議族中所有的協(xié)議都要實(shí)現(xiàn),必須針對(duì)不同的網(wǎng)絡(luò)應(yīng)用對(duì)協(xié)議棧進(jìn)行刪減,保留其基本功能,以滿足網(wǎng)絡(luò)應(yīng)用的需要。</p><p> 考慮到嵌入式Web服務(wù)器的硬件處理速度慢并且存儲(chǔ)容量相對(duì)較小的條件限制,在TCP/IP協(xié)議棧中主要能夠?qū)?/p>
86、現(xiàn)ARP,IP,ICMP,TCP協(xié)議即可。具體分析如下:以太網(wǎng)數(shù)據(jù)的傳輸是采用MAC地址來識(shí)別的,而ARP協(xié)議提供IP地址和數(shù)據(jù)鏈路層使用的MAC地址之間的轉(zhuǎn)換功能,為了保證系統(tǒng)在以太網(wǎng)的通信,首先要實(shí)現(xiàn)ARP協(xié)議;由于嵌入式Web服務(wù)器要能在Internet上通信,在網(wǎng)絡(luò)層一定要實(shí)現(xiàn)IP協(xié)議,還要實(shí)現(xiàn)能報(bào)告數(shù)據(jù)傳送差錯(cuò)等情況的ICMP協(xié)議;同時(shí),Web服務(wù)器同Web瀏覽器之間的通信是通過HTTP協(xié)議進(jìn)行的,在傳輸層采用TCP協(xié)議,能保
87、證可靠的數(shù)據(jù)傳輸,進(jìn)而實(shí)現(xiàn)其基礎(chǔ)之上的HTTP協(xié)議。</p><p> 3.4.2 ARP協(xié)議實(shí)現(xiàn)</p><p> 嵌入式Web服務(wù)器中ARP協(xié)議主要功能是進(jìn)行IP地址與以太網(wǎng)地址之間的轉(zhuǎn)換,當(dāng)系統(tǒng)收到發(fā)送數(shù)據(jù)請(qǐng)求時(shí),協(xié)議棧就需要返回IP數(shù)據(jù)報(bào),所有的 IP數(shù)據(jù)報(bào)都要進(jìn)一步封裝成以太網(wǎng)幀才能發(fā)送給網(wǎng)絡(luò)控制器,而所加的以太網(wǎng)首部中就包含了由ARP協(xié)議解析目的IP地址所得來的對(duì)應(yīng)的物理
88、地址。</p><p> 首先ARP程序檢測以太網(wǎng)幀的類型字段以判斷其協(xié)議類型。以太網(wǎng)標(biāo)準(zhǔn)規(guī)定,當(dāng)一個(gè)以太網(wǎng)幀攜帶一個(gè)ARP消息時(shí),類型字段必須包含十六進(jìn)制值0806。接著,檢測消息中的操作字段以確認(rèn)是一個(gè)請(qǐng)求消息還是一個(gè)應(yīng)答消息。若是一個(gè)請(qǐng)求消息,ARP程序比較目標(biāo)IP地址與自己的IP地址,如果一樣,則要回發(fā)一個(gè)應(yīng)答消息。對(duì)接收到的來自遠(yuǎn)程主機(jī)的任何試圖解析Web服務(wù)器地址的ARP請(qǐng)求,Web服務(wù)器都會(huì)做出回
89、應(yīng)。</p><p> 當(dāng)Web服務(wù)器向客戶機(jī)發(fā)送一個(gè)ARP消息時(shí),此消息是嵌入一個(gè)以太網(wǎng)幀中廣播給網(wǎng)上的所有計(jì)算機(jī),每臺(tái)計(jì)算機(jī)收到這個(gè)請(qǐng)求后都會(huì)檢測其中的IP地址。與該IP地址匹配的計(jì)算機(jī)發(fā)送一個(gè)應(yīng)答,這個(gè)應(yīng)答消息被放進(jìn)一個(gè)幀中直接發(fā)回給Web服務(wù)器,而其他的計(jì)算機(jī)則會(huì)丟棄收到的請(qǐng)求,不發(fā)任何應(yīng)答。這種方式雖然對(duì)網(wǎng)絡(luò)造成一定的壓力,但節(jié)省嵌入式設(shè)備的寶貴資源。在等待應(yīng)答的時(shí)間里,ARP將到達(dá)的TCP包丟棄,一
90、旦收到應(yīng)答,ARP高速緩存就用目的以太網(wǎng)地址更新,然后等待分組就用高速緩存中的目的以太網(wǎng)地址更新,分組就被發(fā)送了。 </p><p> 3.4.3 IP協(xié)議實(shí)現(xiàn)</p><p> IP協(xié)議主要功能是用于主機(jī)之間發(fā)送數(shù)據(jù)報(bào)的傳輸,實(shí)現(xiàn)比較復(fù)雜,但對(duì)于Web服務(wù)器來說,只需完成IP協(xié)議兩項(xiàng)最基本的功能:第一,處理接收到的IP數(shù)據(jù)報(bào),向上層網(wǎng)絡(luò)提交。第二,負(fù)責(zé)對(duì)TCP報(bào)文、ICMP報(bào)文進(jìn)行封
91、裝,交給數(shù)據(jù)鏈路層進(jìn)行裝幀。</p><p> 當(dāng)Web服務(wù)器收到發(fā)給自己的數(shù)據(jù)幀后,需要對(duì)以太網(wǎng)首部中的幀類型字段進(jìn)行判斷,如果該字段為0x0800,說明后面的數(shù)據(jù)是IP數(shù)據(jù)報(bào),將此數(shù)據(jù)提交IP層處理。IP協(xié)議判斷此數(shù)據(jù)報(bào)的IP頭部中目的IP地址字段與本地IP地址是否一致,若不一致,則丟棄該數(shù)據(jù)報(bào);若一致,進(jìn)行IP頭部校驗(yàn)和檢查,當(dāng)證明數(shù)據(jù)在傳輸中沒有出現(xiàn)錯(cuò)誤時(shí),去掉IP頭部,將IP數(shù)據(jù)提交上層處理,即根據(jù)I
92、P首部中的協(xié)議字段決定交給ICMP 協(xié)議還是TCP協(xié)議處理。在程序運(yùn)行時(shí),當(dāng)所接收的數(shù)據(jù)被判定為IP數(shù)據(jù)報(bào)后,IP處理程序?qū)?yán)格按照以上的過程接收處理數(shù)據(jù)并進(jìn)行處理。</p><p> IP協(xié)議還要查詢是否有上層數(shù)據(jù)要發(fā)送,如果有數(shù)據(jù)發(fā)送,則將上層數(shù)據(jù)進(jìn)行IP封裝,交給數(shù)據(jù)鏈路層裝幀發(fā)送。</p><p> 3.4..4ICMP協(xié)議實(shí)現(xiàn)</p><p> IC
93、MP提供了一種讓互聯(lián)網(wǎng)中的路由報(bào)告錯(cuò)誤或提供有關(guān)意外情況信息的報(bào)文機(jī)制。它不是獨(dú)立的,是IP的一部分,在每個(gè)IP實(shí)現(xiàn)中必須有它。雖然它提供的信息十分豐富,但在嵌入式Web服務(wù)器應(yīng)用中,只要實(shí)現(xiàn)回送請(qǐng)求(echo request)和回送應(yīng)答(echo reply)就足夠了。</p><p> 3.4.5TCP協(xié)議實(shí)現(xiàn)</p><p> TCP是嵌入式Web服務(wù)器的核心。在設(shè)計(jì)嵌入式Web
94、服務(wù)器時(shí),系統(tǒng)應(yīng)用層只需支持HTTP協(xié)議。嵌入式系統(tǒng)把要傳送的數(shù)據(jù),參數(shù)等存入網(wǎng)頁的相關(guān)位置。對(duì)于任何TCP連接,每次只需支持HTTP協(xié)議發(fā)送網(wǎng)頁服務(wù)。在單片機(jī)這樣的系統(tǒng)中,資源十分有限,因此要精簡TCP 協(xié)議,簡化的原則有兩個(gè):第一,不能改變其面向連接的特性;第二,簡化必須能配合其所采用的應(yīng)用層協(xié)議。</p><p> 作為嵌入式Web服務(wù)器,TCP連接時(shí)只需處于被動(dòng)服務(wù)的狀態(tài),所以將標(biāo)準(zhǔn)的TCP有限狀態(tài)機(jī)的
95、主動(dòng)創(chuàng)建連接的SYN-SENT狀態(tài),主動(dòng)關(guān)閉連接的FIN-WAIT1,FIN-WAIT2,</p><p> CLOSING,TIME-WAIT狀態(tài)都省去,在設(shè)計(jì)中,還可以舍棄CLOSED狀態(tài),讓它開始就處于LISTEN狀態(tài)來監(jiān)聽客戶端的連接請(qǐng)求。這樣,TCP的三次握手機(jī)制中,建立連接的過程時(shí),嵌入式系統(tǒng)作為監(jiān)聽狀態(tài)的服務(wù)器,始終為被動(dòng)方,相當(dāng)于被動(dòng)打開后的LISTEN狀態(tài),等待對(duì)方發(fā)起連接。當(dāng)它接收到SYN數(shù)
96、據(jù)片,它發(fā)出SYN+ACK數(shù)據(jù)片并確認(rèn)它己經(jīng)收到對(duì)方的SYN,此時(shí)變?yōu)镾YN_RECEIVED狀態(tài)。再接收到對(duì)方返回的一個(gè)僅含ACK的空數(shù)據(jù)片,則三次握手完成,進(jìn)入ESTABLISHED狀態(tài),之后可以進(jìn)行TCP數(shù)據(jù)通訊。這樣,既節(jié)省了系統(tǒng)開銷,同時(shí)也保證了所有的數(shù)據(jù)段都能安全正確地到達(dá)目的端。</p><p><b> 3.5 協(xié)議標(biāo)準(zhǔn)</b></p><p>
97、現(xiàn)在直接采用的標(biāo)準(zhǔn)為TCP/IP協(xié)議棧,包括TCP、IP、ICMP、RARP等,這些標(biāo)準(zhǔn)的協(xié)議對(duì)嵌入式Internet系統(tǒng)的大量使用有著很重要的意義。但是,這些協(xié)議的實(shí)現(xiàn)在嵌入式系統(tǒng)中有著特別的要求,如圖形和數(shù)據(jù)的顯示、實(shí)時(shí)分布式對(duì)象計(jì)算等。所以研究嵌入式TCP/IP協(xié)議棧以滿足嵌入式系統(tǒng)的性能要求是很重要的,我們應(yīng)該盡量減小TCP/IP協(xié)議棧而又不失一般的標(biāo)準(zhǔn)性?,F(xiàn)在國外對(duì)此已經(jīng)有很多的相關(guān)研究,如國外的μC/IP項(xiàng)目的研究,它是一個(gè)
98、為微控制器和嵌入式系統(tǒng)而設(shè)計(jì)的小型TCP/IP協(xié)議棧:又例如CMX公司的MicroNet TCP/IP,它是為8位或16位微處理器而設(shè)計(jì)的,支持大部分的標(biāo)準(zhǔn)協(xié)議,連接方式有以太網(wǎng)連接、拔號(hào)連接和直接連接方式。</p><p> 嵌入式Web服務(wù)器技術(shù)的核心是HTTP引擎。HTTP協(xié)議是WEB應(yīng)用的標(biāo)準(zhǔn)協(xié)議,其已經(jīng)從HTTP1.0發(fā)展到HTTP1.1,性能有很大改變,增加了緩存功能,同志就是TCP連接形式的改變。
99、HTTP10在每次HTTP請(qǐng)求中都需要TCP連接。一個(gè)典型的頁面可能含有許多單獨(dú)的HTT請(qǐng)求,如基本頁面請(qǐng)求、每個(gè)HTML框架請(qǐng)求、每個(gè)圖形請(qǐng)求等。建立每個(gè)請(qǐng)求并且產(chǎn)生每TCP連接需要占用大量的CPU和內(nèi)存資源:而HTTP1.1標(biāo)準(zhǔn)可以為多個(gè)HTTP事務(wù)在瀏覽器和服務(wù)器之間只保持一個(gè)TCP連接,這樣就大大提高網(wǎng)絡(luò)和系統(tǒng)的性能。所以,在嵌入式Web服務(wù)器中為了得到一個(gè)穩(wěn)定的用戶界面而又不影響嵌入式系統(tǒng)的CPU和內(nèi)存資源,我們應(yīng)該使用HTT
100、P1.0標(biāo)準(zhǔn)。</p><p> 3.6 超文本傳輸協(xié)議(HTTP)</p><p> 3.6.1 HTTP協(xié)議簡介</p><p> HTTP協(xié)議即超文本傳送協(xié)議(HypertextTransferProtoeol)是用來構(gòu)建分布式信息系統(tǒng)的,建立在TCP/IP協(xié)議之上的應(yīng)用層協(xié)議。HTTP協(xié)議是一種用于網(wǎng)絡(luò)通信的標(biāo)準(zhǔn)應(yīng)用層協(xié)議。它是使用在Web服務(wù)器和客戶
101、端直接傳送數(shù)據(jù)的一種協(xié)議。HTTP協(xié)議是基于請(qǐng)求/回應(yīng)機(jī)制的。HTTP協(xié)議具有支持客戶/服務(wù)器模式,簡單快速的特點(diǎn),而且具有無連接、無狀態(tài)、元信息的特點(diǎn)。HTTP協(xié)議它指定了客戶和服務(wù)器如何建立連接、客戶如何從服務(wù)器上請(qǐng)求數(shù)據(jù)、服務(wù)器如何響應(yīng)以及如何關(guān)閉連接??蛻舳伺c服務(wù)器端建立連接后,以請(qǐng)求方法、URL、協(xié)議版本等方式向服務(wù)器端發(fā)出請(qǐng)求,該請(qǐng)求可跟隨包含請(qǐng)求修飾符、客戶信息、及可能的請(qǐng)求體(body)內(nèi)容的MIME類型消息。服務(wù)器端通
102、過狀態(tài)行(Status1ine)來回應(yīng),內(nèi)容包括消息的協(xié)議版本、成功或錯(cuò)誤代碼,也跟隨著包含服務(wù)器信息、實(shí)體元信息及實(shí)體內(nèi)容的MIME類型消息。</p><p> HTTP協(xié)議最初的原型是在1990年的Internet上出現(xiàn)的。最初只是在實(shí)驗(yàn)室應(yīng)用,用于提供一種新型的信息組織方法,便于將信息組織成為Web文檔,這種就是所謂的超文本鏈接。當(dāng)這種方法被公開應(yīng)用到Internet上之后,得到了廣泛的應(yīng)用,事實(shí)證明HT
103、TP協(xié)議比以前的任何一種協(xié)議都能將信息很好地組織起來,可方便、直接地從Internet檢索和獲取所需的信息。與其他流行的Internet協(xié)議一樣,HTTP協(xié)議的發(fā)展也經(jīng)歷了一個(gè)不斷完善的,功能不斷增加的過程。從HTTP協(xié)議出現(xiàn)到制定相應(yīng)的面,HTTP協(xié)議的版本經(jīng)歷了HTTP0.9.HTTP1.0以及HTTP1.1協(xié)議主要內(nèi)容包括:請(qǐng)求周期、消息、請(qǐng)求、響應(yīng)、訪問認(rèn)證、URL編碼等6部分內(nèi)容。當(dāng)用戶要瀏覽服務(wù)器上的一個(gè)網(wǎng)頁時(shí),一個(gè)HTTP
104、請(qǐng)求就會(huì)從用戶的瀏覽器發(fā)到HTTP服務(wù)器。服務(wù)器響應(yīng)這個(gè)請(qǐng)求,指定的網(wǎng)頁傳送回來,用戶才看到了網(wǎng)頁。HTTP協(xié)議被設(shè)計(jì)成適應(yīng)快速、小流量,比其他協(xié)議花費(fèi)服務(wù)器的CPU或內(nèi)存資源小的協(xié)議。</p><p> HTTP(Hyper Text Transfer Protocol)協(xié)議是一套計(jì)算機(jī)通過網(wǎng)絡(luò)進(jìn)行通信的規(guī)則。計(jì)算機(jī)專家設(shè)計(jì)出HTTP,使HTTP客戶(如Web瀏覽器)能夠從HTTP服務(wù)器(Web服務(wù)器)請(qǐng)求信
105、息和服務(wù),HTTP目前協(xié)議的版本是1.1。HTTP是一種無狀態(tài)的協(xié)議,無狀態(tài)是指Web瀏覽器和Web服務(wù)器之間不需要建立持久的連接,這意味著當(dāng)一個(gè)客戶端向服務(wù)器端發(fā)出請(qǐng)求,然后Web服務(wù)器返回響應(yīng)(Responses),連接就被關(guān)閉了,在服務(wù)器端不保留連接的有關(guān)信息。HTTP遵循請(qǐng)求(Request)/應(yīng)答(Response)模型。Web瀏覽器向Web服務(wù)器發(fā)送請(qǐng)求,Web服務(wù)器處理請(qǐng)求并返回適當(dāng)?shù)膽?yīng)答。所有HTTP連接都被構(gòu)造成一套請(qǐng)
106、求和應(yīng)答[9]。</p><p> HTTP使用內(nèi)容類型,是指Web服務(wù)器向Web瀏覽器返回的文件都有與之相關(guān)的類型。所有這些類型在MIME Internet郵件協(xié)議上模型化,即Web服務(wù)器告訴Web瀏覽器該文件所具有的種類,是HTML文檔、GIF格式圖像、聲音文件還是獨(dú)立的應(yīng)用程序。大多數(shù)Web瀏覽器都擁有一系列的可配置的輔助應(yīng)用程序,它們告訴瀏覽器應(yīng)該如何處理Web服務(wù)器發(fā)送過來的各種內(nèi)容類型。我們?cè)跒g覽器
107、的地址欄里輸入的網(wǎng)站地址叫做URL(Uniform Resource Locator,統(tǒng)一資源定位符)。就像每家每戶都有一個(gè)門牌地址一樣,每個(gè)網(wǎng)頁也都有一個(gè)Internet地址。當(dāng)你在瀏覽器的地址框中輸入一個(gè)URL或是單擊一個(gè)超級(jí)鏈接時(shí),URL就確定了要瀏覽的地址。瀏覽器通過超文本傳輸協(xié)議(HTTP),將Web服務(wù)器上站點(diǎn)的網(wǎng)頁代碼提取出來,并翻譯成漂亮的網(wǎng)頁。因此,在我們認(rèn)識(shí)HTTP</p><p> 之前,
108、有必要先弄清楚URL的組成,例如: </p><p> http://www.microsoft.com/china/index.htm。它的含義如下:</p><p> 1、http://:代表超文本傳輸協(xié)議,通知microsoft.com服務(wù)器顯示W(wǎng)eb頁,通常不用輸入;</p><p> 2、www:代表一個(gè)Web(萬維網(wǎng))服務(wù)器;</p>
109、<p> 3、Microsoft.com/:這是裝有網(wǎng)頁的服務(wù)器的域名,或站點(diǎn)服務(wù)器的名稱;</p><p> 4、China/:為該服務(wù)器上的子目錄,就好像我們的文件夾;</p><p> 5、Index.htm:index.htm是文件夾中的一個(gè)HTML文件(網(wǎng)頁)。</p><p> 我們知道,Internet的基本協(xié)議是TCP/IP協(xié)議,
110、然而在TCP/IP模型最上層的是應(yīng)用層(Application layer),它包含所有高層的協(xié)議。高層協(xié)議有:文件傳輸協(xié)議FTP電子郵件傳輸協(xié)議SMTP、域名系統(tǒng)服務(wù)DNS、網(wǎng)絡(luò)新聞傳輸協(xié)議NNTP和HTTP協(xié)議等。HTTP協(xié)議(Hypertext Transfer Protocol,超文本傳輸協(xié)議)是用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。它可以使瀏覽器更加高效,使網(wǎng)絡(luò)傳輸減少。它不僅保證計(jì)算機(jī)正確快速地傳輸超文本文檔,
111、還確定傳輸文檔中的哪一部分,以及哪部分內(nèi)容首先顯示(如文本先于圖形)等。這就是你為什么在瀏覽器中看到的網(wǎng)頁地址都是以“http://”開頭的原因。自WWW誕生以來,一個(gè)多姿多彩的資訊和虛擬的世界便出現(xiàn)在我們眼前,可是我們?cè)趺茨軌蚋尤菀椎卣业轿覀冃枰馁Y訊呢?當(dāng)決定使用超文本作為WWW文檔的標(biāo)準(zhǔn)格式后,于是在1990年,科學(xué)家們立即制定了能夠快速查找這些超文本文檔的協(xié)議,即HTTP協(xié)議。經(jīng)過幾年的使用與發(fā)展,得到不斷的完善和擴(kuò)展,目前在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 構(gòu)建嵌入式linux web動(dòng)態(tài)服務(wù)器畢業(yè)論文
- 嵌入式web服務(wù)器
- 嵌入式WEB服務(wù)器.doc
- arm平臺(tái)嵌入式web服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文
- 嵌入式Web服務(wù)器研究.pdf
- arm平臺(tái)嵌入式web服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)-本科畢業(yè)論文
- 嵌入式web服務(wù)器設(shè)計(jì)與實(shí)現(xiàn)
- 嵌入式Web服務(wù)器的開發(fā).pdf
- 嵌入式瘦Web服務(wù)器研究.pdf
- 嵌入式web服務(wù)器畢業(yè)設(shè)計(jì) —伍柏林_0515
- 嵌入式監(jiān)控系統(tǒng)Web服務(wù)器設(shè)計(jì).pdf
- 基于arm的嵌入式web服務(wù)器設(shè)計(jì)
- 嵌入式Web服務(wù)器研究與實(shí)現(xiàn).pdf
- Web服務(wù)器基于嵌入式的開發(fā).pdf
- web服務(wù)器設(shè)計(jì)畢業(yè)論文
- 探析嵌入式web服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)
- 遠(yuǎn)程監(jiān)控嵌入式Web服務(wù)器的設(shè)計(jì).pdf
- 嵌入式Linux系統(tǒng)及Web服務(wù)器實(shí)現(xiàn).pdf
- 嵌入式Web服務(wù)器在嵌入式實(shí)驗(yàn)平臺(tái)上的實(shí)現(xiàn).pdf
- web服務(wù)器設(shè)計(jì)畢業(yè)論文
評(píng)論
0/150
提交評(píng)論