999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

可配置IP地址的微型嵌入式WEB服務器設計

2014-07-03 03:33:30李小勇婁顏超
單片機與嵌入式系統應用 2014年11期
關鍵詞:嵌入式單片機

李小勇,婁顏超

(喀什師范學院,喀什844006)

引 言

隨著信息技術、網絡技術和嵌入式系統的飛速發展,微型化嵌入式設備接入互聯網是大勢所趨。相對于中小型WEB服務器,微型嵌入式 WEB服務器的優點顯而易見。其體積小、價格低,最重要的是功耗非常低,攜帶和部署方便、快捷。在遠距離分布式測控系統中,希望控制節點具有接入網絡的功能,這樣可以方便地實現基于網絡的分布式測控;同時,出于成本考慮,也希望控制節點經濟、高效。本文針對分布式測控系統中對于監控節點的需求而設計,考慮以一種實用的方式實現定制化的微型嵌入式WEB服務器。網絡通信功能采用開源微型TCP/IP協議棧uIP實現,嵌入式WEB服務器以uIP協議棧作為基礎,采用SSI(服務器端包含)技術實現。當嵌入式WEB服務器上電運行后,可實現以動態的方式將包含有傳感器、執行器信息的HTTP數據發送給客戶端,客戶端也能夠以HTTP請求的方式向服務器端發出控制命令。此外,設計了可配置網絡參數的功能,以方便部署服務器。

1 硬件設計

1.1 系統硬件總體設計

硬件部分由8位模數混合型單片機C8051F340、10/100 Mbps自適應以太網控制器CP2200、網絡轉接器、傳感器與接口電路、執行器與驅動電路、電源組成。系統硬件組成框圖如圖1所示。

1.2 網絡通信硬件電路設計

網絡通信電路設計分成兩個部分:一部分為C8051F340[1]與 CP2200[2]的硬件接口電路設計,另一部分為CP2200與RJ45網絡轉接器的硬件接口電路設計。網絡通信硬件接口電路如圖2所示。

1.2.1 C8051F340與CP2200硬件接口電路設計

將CP2200的MOTEN和MUXEN引腳接地,使CP2200工作在非復用Intel總線模式。單片機P3口作為地址線,P4口作為數據線分別與CP2200地址線和數據線相連。CP2200的讀寫控制信號線分別與單片機的P1.6、P1.7兩引腳相連。C8051F340的P0.2引腳被分配給,與CP2200芯片的中斷信號相連。當CP2200的14個中斷事件中的任何一個產生中斷時,CP2200將中斷狀態寄存器中相應的標志位置1,并將引腳驅動到低電平來通知主機。在被允許的中斷的所有中斷標志位都被主機清0之前引腳將一直保持低電平。

圖1 系統硬件總體框圖

圖2 網絡通信硬件電路接口設計

1.2.2 CP2200與RJ45網絡轉接器硬件

CP2200與RJ45連接時使用的引腳有RX+、RX-、TX+、TX-,利用 RJ45實現與網絡的連接。CP2200的LINK和ACT引腳與LINK LED和ACT LED引腳相連,用來指示網絡狀態,其中LINK是當檢測到有效連接脈沖時有效,ACT則是發送或接收一個數據包時有效。

2 軟件系統設計

2.1 軟件總體設計

軟件設計總體上采用層次式設計結構,是組合式嵌入式軟件設計方法[3]的一種實現方式。從TCP/IP模型的角度看,Ethernet初始化模塊和ARP協議模塊位于網絡接入層,完成以太網控制器的物理層初始化(PHY)、媒體訪問控制層初始化(MAC)和網絡地址解析(ARP),該層負責為上層提供通信接口和收發通信鏈路上的比特流信號。TCP/IP協議棧模塊分為兩個部分,以IP協議為核心的部分位于TCP/IP的網際互連層,以TCP協議為核心的部分位于TCP/IP模型的傳輸層。基于SSI技術的WEB服務器位于TCP/IP模型的應用層。軟件總體設計示意圖如圖3所示。

圖3 軟件總體設計示意圖

2.2 TCP/IP協議棧的移植

對于8位單片機,硬件資源是十分有限的,采用RTOS結合TCP/IP的設計方法用來接入網絡,目前沒有實際應用意義,而僅移植TCP/IP協議棧來實現網絡接入可以獲得良好的實時通信效果。在本設計中,移植目前常用的開源微型網絡協議棧uIP[4-6],版本采用uIP 0.6。圖4為網絡數據包接收處理總體流程。

2.3 TCP消息處理

圖4 網絡數據包接收處理過程

當從uIP接收到原始TCP消息后,需要調用TCP協議解析函數對消息體解析。由于HTTP協議是基于TCP的協議,因而只需檢查TCP消息體中是否包含HTTP協議。如果包含HTTP協議,則進入該協議處理流程中;如果不包含,則放棄目前的消息,繼續接收和解析下一個TCP消息體。

TCP消息處理流程如圖5所示,該流程對應于圖4中處理TCP消息部分。WEB服務器設計基于TCP協議,并采用 HTTP[7-8]協議實現。

圖5 TCP消息處理流程

2.4 基于SSI的動態網頁生成技術

SSI[9-10](服務器端包含)技術是動態生成網頁的一種技術實現方式。當需要在響應的WEB頁面中增加小段動態信息時,采用SSI技術是一種合適的選擇。在8位單片機上構建基于SSI機制的嵌入式WEB服務器,需要編寫專門的WEB模板解析函數,用以在HTML模板中生成動態信息。SSI解析功能與參與HTTP響應的流程關系如圖6所示。

要實現WEB服務器內容動態響應客戶端請求的效果,需要做到實時改變HTTP消息頭和HTTP消息正文中WEB頁面特定內容的數據。在采用SSI技術達到這個目標時,本設計并未實現SSI全部功能,原因是解析SSI所有類型腳本需要編寫標準的SSI解析引擎,要占據大量的代碼空間,同時對于8位單片機的運行效率也是一個挑戰,故在腳本類型的實現上作了很大的簡化。SSI解析函數僅處理一種嵌入式SSI腳本類型,即顯示變量值。SSI腳本的一般通用格式為:<!--#element attribute=value attribute=value...-->。其中,element為腳本命令類型,attribute為腳本變量,value為變量名。命令類型和變量不同,解析方式也不同。

圖6 SSI解析參與HTTP響應流程

2.5 WEB模板設計

WEB模板文件通常在單片機code區定義,該區僅具有只讀屬性,適合存放靜態的數據。WEB模板文件是一種符合HTML標準[11]的數據格式定義。如要增加數據動態顯示功能,需將動態顯示數值的地方插入SSI腳本。例如,在 WEB模板文件Test.html中需要動態顯示當前溫度的位置,插入一個名為<!--#echo var="TEMPERATURE"-->的標簽。模板定義示例如下:

(1)HTTP1.1協議響應頭模板定義

(2)Test.html的 WEB模板文件體定義

2.6 HTTP請求與響應

處理來自客戶端的HTTP1.1請求。HTTP請求由3部分組成,分別是:請求行、消息報頭、請求正文。在本文中,被處理的HTTP請求包括GET方式和POST方式。GET方式請求用來獲取服務器中特定WEB頁面,如果GET請求URL中附加用戶信息,服務器不作出處理。POST請求正文一般帶有用戶附加信息,服務器接收請求后要對這些信息進行處理。

2.6.1 處理GET方式HTTP請求

當有客戶端向服務器地址為192.168.131.112發送GET方式HTTP請求,獲取一個WEB文件名為Test.html的頁面時,通常發送一個包含但不限于如下內容的HTTP1.1請求:

TCP協議解析程序、HTTP協議解析程序分別識別這個網絡數據為TCP消息,同時是HTTP1.1 GET方式請求。當判斷存在Test.html網頁時,WEB服務器啟動SSI解析函數,置換這個網頁的模板文件和HTTP1.1協議響應頭模板中所有嵌入的SSI腳本,然后以HTTP響應的形式發送給客戶端。

2.6.2 處理POST方式HTTP請求

當有客戶端向服務器地址為192.168.131.112發送POST方式HTTP請求,表示要通過表單向服務器提交數據。如向服務器提交新的網絡參數表單,通常發送一個包含但不限于如下內容的HTTP1.1請求:

服務器端通過協議解析程序判斷這是一個HTTP1.1 POST方式請求。當判斷存在IpConfig.html頁面時,服務器從請求正文中獲取新的網絡參數信息,并更新當前的網絡參數。當客戶端再次向服務器發起HTTP請求時,需要使用新的主機地址,這個示例新地址為192.168.131.113。同樣的,通過POST請求方式也可以用來向服務器發出控制指令,服務器根據指令完成動作。

2.7 連通性穩定性測試

設定局域網路由器網絡參數:IP地址為192.168.131.1,子網掩碼為255.255.255.0。設定局域網內PC機IP地址:192.168.131.100。設定嵌入式 WEB服務器IP地址:192.168.131.112。子網掩碼均相同。將嵌入式 WEB服務器接入局域網中,通過PC機ping WEB服務器檢查服務器的響應速度和丟包率,實驗結果如圖7和圖8所示。

圖7 網絡連通性測試

圖8 網絡通信穩定性測試

結 語

通過實際運行與調試,基本達到了預期目的。客戶端發送HTTP GET方式請求獲取動態WEB頁面,發送POST方式請求時,在請求正文附加表單數據,服務器通過處理表單數據完成對應的動作。

[1]Silicon Semiconductor Inc.C8051f34X datasheet[EB/OL].(2006-08)[2014-06].http://www.silabs.com/products/mcu/Pages/8-Bit-Microcontrollers.aspx.

[2]Silicon Laboratories Inc.Single chip ethernet controller CP2200/1[EB/OL].(2001-05)[2014-06].http://www.silabs.com.

[3]王博.可組合嵌入式軟件建模與驗證技術研究綜述[J].軟件學報,2014,25(2):234-253.

[4]Adam Dunkels.Full TCP/IP for 8 Bit Architectures[C]//In Proceedings of the First ACM/Usenix International Conference on Mobile Systems,Applications and Services.San Francisco:May 2003.

[5]A Dunkels.uIP-a TCP/IP stack for 8-and 16-bit microcontrollers[EB/OL].(2003-03)[2014-06].http://www.sics.se/~adam/publications.html.

[6]趙國鋒,邱作雨,張毅.基于單片機的嵌入式TCP/IP協議棧的設計與實現[J].計算機技術與發展,2009(3):137-140.

[7]The World Wide Web Consortium (W3C),Network Working Group.RFC 2616.Hypertext Transfer Protocol-HTTP/1.1[EB/OL].(1999-06)[2014-06].http://www.w3.org/Protocols/rfc2616/rfc2616.html.

[8]高嵩.基于HTTP協議的嵌入式遠程監控系統的研究[D].北京:北京工業大學,2013.

[9]The Apache Software Foundation.Apache Tutorial:Introduction to Server Side Includes[EB/OL].[2014-06].http://httpd.apache.org/docs/2.2/howto/ssi.html.

[10]潘琢金,王秋實.嵌入式Web服務器中動態 Web技術的研究[J].計算機工程與設計,2010,31(18):3975-3978.

[11]W3C org.W3C Recommendation for HTML[EB/OL].(2011-11)[2014-06].http://www.w3.org/community/webed/wiki/HTML.

猜你喜歡
嵌入式單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
搭建基于Qt的嵌入式開發平臺
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Microchip推出兩個全新PIC單片機系列
主站蜘蛛池模板: 亚洲永久色| 无码在线激情片| 99久视频| 免费一极毛片| 欧美日韩国产在线观看一区二区三区 | 超清无码一区二区三区| 亚洲va精品中文字幕| 亚洲乱码视频| 亚洲高清在线天堂精品| 免费久久一级欧美特大黄| 精品无码视频在线观看| 欧美国产日韩在线播放| 波多野吉衣一区二区三区av| 精品视频一区在线观看| 国产女人在线观看| h视频在线观看网站| 国产精品综合色区在线观看| 国产福利拍拍拍| 亚洲无码精品在线播放| 婷婷色中文网| 久青草免费在线视频| 综合亚洲网| 亚洲精品无码在线播放网站| 欧洲极品无码一区二区三区| 国产美女免费| 黄片在线永久| 麻豆精品在线| 女人18毛片水真多国产| 免费看a级毛片| 欧美国产综合视频| 一级毛片在线免费看| 国产精品美乳| 亚洲av无码人妻| www精品久久| 久久九九热视频| 无码内射在线| 国产玖玖视频| 露脸一二三区国语对白| 永久在线精品免费视频观看| 亚洲精品你懂的| 无码内射在线| 呦女亚洲一区精品| 97国产一区二区精品久久呦| 一级毛片免费不卡在线视频| 亚洲高清资源| 国产精品亚洲一区二区三区在线观看| 有专无码视频| 久久超级碰| 欧美亚洲第一页| 亚洲第一成年免费网站| 亚洲色图另类| 在线无码私拍| 好久久免费视频高清| 亚洲国产日韩欧美在线| 多人乱p欧美在线观看| 欧美高清三区| 韩国v欧美v亚洲v日本v| 国产欧美日韩va另类在线播放 | 亚洲欧美另类中文字幕| 伊人精品视频免费在线| 国产麻豆精品手机在线观看| 91精品国产一区自在线拍| 狠狠操夜夜爽| 亚洲婷婷在线视频| 无码 在线 在线| 朝桐光一区二区| 精品欧美一区二区三区在线| 国产成人精品免费av| 青青网在线国产| 色视频国产| 成人无码区免费视频网站蜜臀| 手机在线免费不卡一区二| 亚洲狠狠婷婷综合久久久久| 国产区免费| 88av在线播放| 国产精品尹人在线观看| 欧美精品xx| 国产亚洲日韩av在线| 欧美精品在线视频观看| 国产精品刺激对白在线| 欧美性精品不卡在线观看| 露脸一二三区国语对白|