亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        可配置IP地址的微型嵌入式WEB服務(wù)器設(shè)計

        2014-07-03 03:33:30李小勇婁顏超
        關(guān)鍵詞:嵌入式客戶端解析

        李小勇,婁顏超

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

        引 言

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

        1 硬件設(shè)計

        1.1 系統(tǒng)硬件總體設(shè)計

        硬件部分由8位模數(shù)混合型單片機C8051F340、10/100 Mbps自適應(yīng)以太網(wǎng)控制器CP2200、網(wǎng)絡(luò)轉(zhuǎn)接器、傳感器與接口電路、執(zhí)行器與驅(qū)動電路、電源組成。系統(tǒng)硬件組成框圖如圖1所示。

        1.2 網(wǎng)絡(luò)通信硬件電路設(shè)計

        網(wǎng)絡(luò)通信電路設(shè)計分成兩個部分:一部分為C8051F340[1]與 CP2200[2]的硬件接口電路設(shè)計,另一部分為CP2200與RJ45網(wǎng)絡(luò)轉(zhuǎn)接器的硬件接口電路設(shè)計。網(wǎng)絡(luò)通信硬件接口電路如圖2所示。

        1.2.1 C8051F340與CP2200硬件接口電路設(shè)計

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

        圖1 系統(tǒng)硬件總體框圖

        圖2 網(wǎng)絡(luò)通信硬件電路接口設(shè)計

        1.2.2 CP2200與RJ45網(wǎng)絡(luò)轉(zhuǎn)接器硬件

        CP2200與RJ45連接時使用的引腳有RX+、RX-、TX+、TX-,利用 RJ45實現(xiàn)與網(wǎng)絡(luò)的連接。CP2200的LINK和ACT引腳與LINK LED和ACT LED引腳相連,用來指示網(wǎng)絡(luò)狀態(tài),其中LINK是當(dāng)檢測到有效連接脈沖時有效,ACT則是發(fā)送或接收一個數(shù)據(jù)包時有效。

        2 軟件系統(tǒng)設(shè)計

        2.1 軟件總體設(shè)計

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

        圖3 軟件總體設(shè)計示意圖

        2.2 TCP/IP協(xié)議棧的移植

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

        2.3 TCP消息處理

        圖4 網(wǎng)絡(luò)數(shù)據(jù)包接收處理過程

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

        TCP消息處理流程如圖5所示,該流程對應(yīng)于圖4中處理TCP消息部分。WEB服務(wù)器設(shè)計基于TCP協(xié)議,并采用 HTTP[7-8]協(xié)議實現(xiàn)。

        圖5 TCP消息處理流程

        2.4 基于SSI的動態(tài)網(wǎng)頁生成技術(shù)

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

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

        圖6 SSI解析參與HTTP響應(yīng)流程

        2.5 WEB模板設(shè)計

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

        (1)HTTP1.1協(xié)議響應(yīng)頭模板定義

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

        2.6 HTTP請求與響應(yīng)

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

        2.6.1 處理GET方式HTTP請求

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

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

        2.6.2 處理POST方式HTTP請求

        當(dāng)有客戶端向服務(wù)器地址為192.168.131.112發(fā)送POST方式HTTP請求,表示要通過表單向服務(wù)器提交數(shù)據(jù)。如向服務(wù)器提交新的網(wǎng)絡(luò)參數(shù)表單,通常發(fā)送一個包含但不限于如下內(nèi)容的HTTP1.1請求:

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

        2.7 連通性穩(wěn)定性測試

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

        圖7 網(wǎng)絡(luò)連通性測試

        圖8 網(wǎng)絡(luò)通信穩(wěn)定性測試

        結(jié) 語

        通過實際運行與調(diào)試,基本達到了預(yù)期目的??蛻舳税l(fā)送HTTP GET方式請求獲取動態(tài)WEB頁面,發(fā)送POST方式請求時,在請求正文附加表單數(shù)據(jù),服務(wù)器通過處理表單數(shù)據(jù)完成對應(yīng)的動作。

        [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]王博.可組合嵌入式軟件建模與驗證技術(shù)研究綜述[J].軟件學(xué)報,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協(xié)議棧的設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,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協(xié)議的嵌入式遠程監(jiān)控系統(tǒng)的研究[D].北京:北京工業(yè)大學(xué),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服務(wù)器中動態(tài) Web技術(shù)的研究[J].計算機工程與設(shè)計,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.

        猜你喜歡
        嵌入式客戶端解析
        三角函數(shù)解析式中ω的幾種求法
        縣級臺在突發(fā)事件報道中如何應(yīng)用手機客戶端
        傳媒評論(2018年4期)2018-06-27 08:20:24
        孵化垂直頻道:新聞客戶端新策略
        傳媒評論(2018年4期)2018-06-27 08:20:16
        基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
        電子測試(2018年10期)2018-06-26 05:53:34
        搭建基于Qt的嵌入式開發(fā)平臺
        睡夢解析儀
        電競初解析
        商周刊(2017年12期)2017-06-22 12:02:01
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        相機解析
        Altera加入嵌入式視覺聯(lián)盟
        日韩女优一区二区在线观看| 日日噜噜噜夜夜爽爽狠狠视频| 亚洲国产精品久久久久秋霞影院 | 日本不卡视频一区二区| 国产午夜免费高清久久影院| 亚洲精品成人网线在线播放va| 熟女俱乐部五十路二区av| av无码电影一区二区三区| 亚洲桃色蜜桃av影院| 国产精品黄色片在线看| 久久9精品区-无套内射无码| 亚洲成在人线av| av熟女一区二区久久| 精品熟女视频一区二区三区国产| 日韩经典午夜福利发布| 国产青草视频在线观看| 国产成+人+综合+亚洲专| 青青草手机成人自拍视频| 偷拍一区二区三区高清视频| 熟妇人妻无码中文字幕老熟妇| 九月婷婷人人澡人人添人人爽| 四虎国产精品免费久久麻豆| 日本特殊按摩在线观看| 99久久精品费精品国产一区二| 中国女人做爰视频| 亚州精品无码人妻久久| 国产女主播在线免费观看| 精品一区二区三区蜜桃麻豆| 欧美色欧美亚洲另类二区| 国产亚洲精品第一综合麻豆| 午夜天堂精品一区二区| 一区二区在线观看日本视频| 欧美人与动性xxxxx杂性| 制服丝袜人妻中文字幕在线| 中文字幕人妻系列一区尤物视频| 亚洲av少妇一区二区在线观看| 射精区-区区三区| av无码免费永久在线观看| 亚洲AV无码一区二区三区精神| 97成人精品在线视频| 在线播放五十路熟妇|