www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]摘要:主要介紹嵌入式Web服務(wù)器技術(shù)的設(shè)計(jì)思想和軟件設(shè)計(jì)流程,以及應(yīng)用程序文件系統(tǒng)的構(gòu)造,將網(wǎng)頁文件轉(zhuǎn)化為可編譯的數(shù)據(jù)結(jié)構(gòu);并以32位ARM7微處理器LPC2210為硬件平臺(tái),在源碼公開的ZLG/IP軟件包的支持下,給出了

摘要:主要介紹嵌入式Web服務(wù)器技術(shù)的設(shè)計(jì)思想和軟件設(shè)計(jì)流程,以及應(yīng)用程序文件系統(tǒng)的構(gòu)造,將網(wǎng)頁文件轉(zhuǎn)化為可編譯的數(shù)據(jù)結(jié)構(gòu);并以32位ARM7微處理器LPC2210為硬件平臺(tái),在源碼公開的ZLG/IP軟件包的支持下,給出了一個(gè)嵌入式Web服務(wù)器的應(yīng)用實(shí)例。
關(guān)鍵詞:Web服務(wù)器;應(yīng)用程序文件系統(tǒng);LPC2210;ZLG/IP軟件包

1 概述
    隨著嵌入式技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,嵌入式設(shè)備通過網(wǎng)絡(luò)接入局域網(wǎng)或者Internet逐步成為一種發(fā)展趨勢。嵌入式Web服務(wù)器技術(shù)以其良好的通用性和交互性為嵌入式設(shè)備提供網(wǎng)絡(luò)接口,對嵌入式設(shè)備實(shí)現(xiàn)遠(yuǎn)程管理和控制,是實(shí)現(xiàn)嵌入式設(shè)備網(wǎng)絡(luò)化的重要技術(shù)。
    本設(shè)計(jì)提出的基于ARM7的嵌入式Web服務(wù)器設(shè)計(jì)有三大技術(shù)亮點(diǎn):
    ①采用瀏覽器/服務(wù)器(B/S)通信架構(gòu)。與客戶機(jī)/服務(wù)器通信架構(gòu)相比,B/S架構(gòu)無需在客戶端上開發(fā)專門的應(yīng)用軟件,只需從瀏覽器上輸入IP地址,直接對設(shè)備進(jìn)行遠(yuǎn)程監(jiān)控。
    ②傳統(tǒng)的Web服務(wù)器需要一個(gè)數(shù)據(jù)庫系統(tǒng)的支持用來保存內(nèi)容,因而對用于存儲(chǔ)的硬件設(shè)備要求更高,增加了成本。本設(shè)計(jì)只需構(gòu)建一個(gè)簡單的文件系統(tǒng)對網(wǎng)頁文件進(jìn)行管理,通過網(wǎng)頁轉(zhuǎn)換程序?qū)⒕W(wǎng)頁文件轉(zhuǎn)換為十六進(jìn)制的可編譯的數(shù)據(jù)結(jié)構(gòu),是一種直接綁定在一個(gè)應(yīng)用程序
上面的文件系統(tǒng)。
    ③本設(shè)計(jì)構(gòu)造的Web服務(wù)器提供動(dòng)態(tài)內(nèi)容和動(dòng)態(tài)表單的支持,能滿足一般嵌入式設(shè)備的應(yīng)用要求。

2 HTTP協(xié)議討論
    HTTP(超文本傳輸協(xié)議)是一種應(yīng)用層協(xié)議。Web服務(wù)器是基于HTTP協(xié)議運(yùn)行的,Web服務(wù)器和Web客戶機(jī)之間通過HTTP協(xié)議來進(jìn)行通信。在進(jìn)行通信前,先要建立客戶機(jī)與服務(wù)器之間的連接:啟動(dòng)Web服務(wù)器,啟動(dòng)后服務(wù)器將監(jiān)聽80端口號,Web客戶機(jī)發(fā)送一個(gè)動(dòng)態(tài)隨機(jī)產(chǎn)生的連接端口號連上服務(wù)器,從而建立一個(gè)通信通道。
    HTTP協(xié)議基于請求/響應(yīng)模式。一個(gè)客戶機(jī)與服務(wù)器建立好連接后,向服務(wù)器發(fā)送一個(gè)請求報(bào)文,服務(wù)器接到請求后給予相應(yīng)的響應(yīng)信息。響應(yīng)信息的格式為一個(gè)狀態(tài)行(包括信息的HTTP協(xié)議版本號、一個(gè)成功或錯(cuò)誤的代碼),再跟上MIME信息(包括某些通用且詳細(xì)的有關(guān)應(yīng)答的信息,如可選報(bào)頭、報(bào)文報(bào)體等)。HTTP協(xié)議結(jié)構(gòu)如圖1所示。

3 嵌入式Web服務(wù)器的設(shè)計(jì)
3.1 嵌入式Web服務(wù)器設(shè)計(jì)思想
    嵌入式Web服務(wù)器主要有以下2個(gè)用途:根據(jù)Web客戶機(jī)的請求為其提供設(shè)備運(yùn)行狀態(tài)、參數(shù);從客戶機(jī)提取控制信息,更改設(shè)備運(yùn)行參數(shù)等。由于嵌入式系統(tǒng)資源的有限性,本文設(shè)計(jì)的Web服務(wù)器具有很強(qiáng)的針對性,具體包含以下性能:
    ①對動(dòng)態(tài)內(nèi)容和動(dòng)態(tài)表單的支持,Web服務(wù)器只需處理GET和POST請求方法,無需提供對其他請求方法的支持。
    ②用于內(nèi)容保存的“應(yīng)用程序”文件系統(tǒng),即將內(nèi)容文件轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu),直接綁定在一個(gè)應(yīng)用程序上面。
    ③嵌入式Web服務(wù)器只實(shí)現(xiàn)與系統(tǒng)控制相關(guān)的頁面。
    嵌入式Web服務(wù)器模型層次如圖2所示。

[!--empirenews.page--]
3.2 對動(dòng)態(tài)內(nèi)容和動(dòng)態(tài)表單的實(shí)現(xiàn)
    先編寫一個(gè)包含<DATA x>動(dòng)態(tài)標(biāo)志和表單的HTML文件,再分別編寫動(dòng)態(tài)內(nèi)容處理功能函數(shù)和表單分析處理函數(shù)。在建立HTTP服務(wù)器套接字之前,需要先安裝好自己句柄,將網(wǎng)頁中的動(dòng)態(tài)標(biāo)識(shí)與其對應(yīng)的動(dòng)態(tài)內(nèi)容處理功能函數(shù),以及表單標(biāo)識(shí)與表單分析處理函數(shù)相關(guān)聯(lián)。圖2中的動(dòng)態(tài)內(nèi)容/句柄API就是用來提供變量名/表單名與用戶定義功能之間的聯(lián)系。
    動(dòng)態(tài)內(nèi)容安裝句柄:
    addDynamicContent(“temperature”,&getTemper);
    表單安裝句柄:
    addDynamicHandler("/control",&myHandler);
    其中,temperature和/control分別為網(wǎng)頁中的動(dòng)態(tài)內(nèi)容標(biāo)識(shí)和表單標(biāo)識(shí),getTemper和myHandler分別為動(dòng)態(tài)內(nèi)容處理功能函數(shù)和表單分析處理函數(shù)。
    這樣,每當(dāng)有GET請求時(shí),動(dòng)態(tài)內(nèi)容處理功能函數(shù)的返回值將替代動(dòng)態(tài)標(biāo)志的值嵌入到內(nèi)容流中。每當(dāng)有POST請求時(shí),表單分析處理函數(shù)調(diào)用parseVarialbe功能,簡單地在內(nèi)容中查找變量名。一旦發(fā)現(xiàn),這個(gè)值便被復(fù)制到用戶緩沖器中,直到發(fā)現(xiàn)分界符“&”。POST構(gòu)造一個(gè)包括報(bào)體的HTTP請求報(bào)文,發(fā)送給Web服務(wù)器。該報(bào)文按照鍵值對其進(jìn)行組裝,使用符號“&”分隔。
3.3 嵌入式Web服務(wù)器主程序
    嵌入式Web服務(wù)器主程序流程如圖3所示。本設(shè)計(jì)中使用的Web服務(wù)器套接字是典型的TCP流套接字。通過socket()創(chuàng)建一個(gè)套接字,使用bind()將該套接字綁定在80端口上,通過listen()設(shè)定監(jiān)聽的連接數(shù),最后調(diào)用accept()等待Web客戶機(jī)的連接請求。一個(gè)套接字支持一個(gè)請求,不能支持永久型連接。當(dāng)服務(wù)器接收到一個(gè)連接時(shí),功能函數(shù)handleConnection()對用戶請求進(jìn)行解析,根據(jù)返回的內(nèi)容關(guān)閉客戶機(jī)套接字,然后等待另一個(gè)套接字請求。


    對handleConneetion()功能函數(shù)(請求報(bào)文分析程序)分析如下:
    ①在HTTP請求報(bào)文中進(jìn)行讀操作,從該套接字循環(huán)讀取,直到滿足以下兩個(gè)條件之一:查找到Content_Length報(bào)頭,確定報(bào)文報(bào)體大小;請求若為post方法,簡單地查找+QUERY文本。
    ②處理HTTP請求類型。對請求報(bào)文的第一個(gè)令牌進(jìn)行識(shí)別。如果為GET請求,則從中分析請求的文件名,使用lookupFilename()功能函數(shù)查找該文件名,若沒有則發(fā)送適當(dāng)?shù)臓顟B(tài)碼給請求者,若有則調(diào)用returnFile原語通過套接字來發(fā)送請求文件。如果為HTTP POST請求,則再次分析文件名,然后通過call Dynamic Handle功能函數(shù)調(diào)用一個(gè)用戶定義的功能處理請求。若既非GET請求,也非POST請求,則返回狀態(tài)碼“not implemented”。

4 應(yīng)用程序文件系統(tǒng)的構(gòu)造
    本設(shè)計(jì)使用一個(gè)特殊的buildfs應(yīng)用程序?qū)⒕W(wǎng)頁文件編譯為順序的數(shù)據(jù)結(jié)構(gòu),它將網(wǎng)頁文件所在的目錄路徑作為變量,將這個(gè)變量作為內(nèi)容樹的根。遍歷內(nèi)容樹,將遇到的每個(gè)文件累計(jì)到應(yīng)用程序文件系統(tǒng)結(jié)構(gòu)中,并寫入文件filedata.c。文件filedata.c作為工程文件的一部分,一同被編譯、下載到硬件上。buildfs生成的應(yīng)用程序文件系統(tǒng)結(jié)構(gòu)如表1所列。當(dāng)定位一個(gè)文件時(shí),只需找到文件報(bào)頭,將文件項(xiàng)目的文件名和源文件名進(jìn)行比較。若文件匹配,則可將后來檢索的元素調(diào)出。

[!--empirenews.page--]


    本設(shè)計(jì)采用HTML語言設(shè)計(jì)的嵌入式網(wǎng)頁文件如圖4所示。使用buildfs應(yīng)用程序生成該網(wǎng)頁文件的數(shù)據(jù)結(jié)構(gòu),如圖5所示。

5 測試HTTP服務(wù)器的應(yīng)用實(shí)例
    本設(shè)計(jì)的軟件平臺(tái)構(gòu)成如圖6所示。硬件平臺(tái)由NXP公司的32位ARM7微處理器LPC2210和RTL8019AS網(wǎng)卡芯片構(gòu)成,如圖7所示。LPC2210是基于一個(gè)支持實(shí)時(shí)仿真和嵌入跟蹤的32/16位ARM7TDMI-SCPU。


    圖6中TCP/IP協(xié)議棧使用周立功公司提供的ZLG/IP軟件包。修改軟件包中的cfg_net.h文件,子網(wǎng)掩碼設(shè)置為與PC機(jī)相同,IP地址設(shè)置為192.168.0.174(與PC機(jī)同一網(wǎng)段),網(wǎng)關(guān)設(shè)為PC機(jī)的IP地址。用雙絞線將PC機(jī)與RJ45以太網(wǎng)接口相連,啟動(dòng)微處理器LPC2210。在PC機(jī)上打開Web瀏覽器,在地址欄輸入http://192.168.O.174/server.html,將出現(xiàn)如圖4所示的網(wǎng)頁文件。此時(shí),測得的室內(nèi)溫度為26 ℃。
    在Parameters Setring欄中輸入預(yù)設(shè)溫度和開關(guān)的開或關(guān),單擊Upload按鈕,在Web服務(wù)器的表單分析程序中會(huì)將預(yù)設(shè)值和開關(guān)值復(fù)制到用戶緩沖器中,從而進(jìn)行相應(yīng)的處理。

結(jié)語
    本文介紹了基于ARM7微處理器LPC2210的嵌入式Web服務(wù)器的設(shè)計(jì)方法,并用一個(gè)應(yīng)用實(shí)例對其進(jìn)行了驗(yàn)證。結(jié)果表明,該方法是可行的,可用于對嵌入式設(shè)備進(jìn)行遠(yuǎn)程監(jiān)控的應(yīng)用中。
 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉