李振 張勤 王磊
摘要 隨著科學技術的飛速發展,嵌入式系統在計算機領域中顯得尤為重要。嵌入式系統具有軟硬件性能的裁剪性。除此之外,嵌入式系統還具有精簡的系統,時效性非常高和功耗非常低的特點。因為HTML具有語言標準統一性的特點,所以只要將網絡服務器嵌入到嵌入式設備中,就可以實現客戶端瀏覽器收發信息和控制外圍設備等功能。本論文根據ARM的嵌入式系統的網絡互連技術和網絡通信基礎知識,對嵌入式設備用到的TCP/IP協議進行了合理的分析和簡化,最后選擇了TCP/IP協議中簡化的UIP協議棧,實現了嵌入式Web服務器。
【關鍵詞】STM32 Web服務器 遠程控制
目前,通過網絡來實現對局域網甚至是互聯網的外圍設備的監測與控制,在工業控制系統中變得尤為重要。現在的嵌入式Intemet技術在不受網絡異構問題的基礎上,完美的實現了遠程控制技術。相對于傳統的網絡智能化水平取得了很大的進步,從而使得傳統的產業結構得到了很大的改善。嵌入式Web服務器作為其代表,能夠讓使用Internet的用戶更加快捷方便處理信息。而且能夠通過以太網和調制解調器的連接,實現在連接的任何網絡上運行,最終達到對遠程設備的監測和控制。
1 嵌入式Web服務器的現狀
嵌入式Web技術,其含義就是嵌入式系統連接到網絡的實現。嵌入式Web技術必須具備較好的計算能力和存儲能力,這樣處理IP數據包的網絡帶寬以及吞吐量的速度會較快。在軟件上能夠實現網絡的相關通信協議,從而處理數據的封裝編碼和發送接收等一系列相關問題。
由于嵌入式系統所連接的互聯網非常大,設計的協議很多,所以用傳統的方法將PC端連接到網絡還是有很大的困難。嵌入式系統中除了少些處理器,大部分是存儲容量比較小,運行速度比較慢的是8為和16位的嵌入式控制單元,而因特網上面的各種協議需要計算機能夠存儲大容量、運行速度要快等一些方面,它們不相吻合,所以造成了比較多的困難。除此之外,傳統的TCP/IP協議由于實時性方面相對比較差,所以重點都花在了數據傳輸的穩定性能方面和數據流量操控方面,導致了傳統的TCP/IP協議不適合用在實時性相對比較高的嵌入式領域當中。綜上所述,使用傳統的TCP/IP協議連接到互聯網是不可取的。只要對其協議進行適當的裁剪并加以優化,不僅具備簡潔性,又能夠使微處理器擁有更多的存儲空間去實現更多的外圍設備,符合嵌入式應用的需求。
2 嵌入式Web服務器的設計
2.1 HTTP協議的實現
HTTP超文本傳輸協議的作用是搭建分布式的信息系統,然后在www萬維網上實現存儲數據,它分布在TCP/IP協議之上的應用層。
在嵌入式系統中,用戶得到網頁頁面文件需要網絡服務器的一系列處理。網絡服務器被動的接收到來自于用戶的請求后,會立刻判斷這些請求是不是合理的。然后分析這些報文信息所包含的內容,收到相關信息數據,最后提供給用戶網頁頁面。
2.1.1 GET請求
當用戶需要網絡上的資源時,用戶會輸入其網址來訪問,這也屬于GET的請求。GET請求的定義,即用戶請求需要的頁面信息然后立即返回實體主體中去。用戶所需的文檔的地定義都在URL中。正常情況下,服務器在響應的時候一般把文檔的內容置放在響應報文的主體中去。
2.1.2 POST請求
響應報文以多種形式出現,有可能是狀態行,也有可能是其中的一個首部,也有可能是包含的一個主體。定義報文的狀態和反應響應的狀態分別由狀態行和狀態碼字段實現。不同系列的代碼表示不同的功能和作用。100系列到500系列中5個代碼的含義,分別表示非正式、請求成功、在URL里客戶重新定向、客戶端中的某個差錯,以及在服務端中的某個差錯。
將URL中的字段ASCII碼相加是URL的計算方法。URL具備識別功能,是根據URL兩段的空格來的。在POST方法過程中,在處于請求信息的實體部分是客戶端瀏覽器所上傳的控制數據。請求消息的識別字符是兩個連續的字符,分別是CRLF(\r\n)。如果控制數據需要識別,那么可以采用變量名等于值得格式來進行識別。
2.2 嵌入式Web服務器的設計和實現
在本設計中實現的嵌入式Web服務器有3個基本功能。
2.2.1 數據的實時顯示
具體體現在服務器能夠將各個設備的實時狀態,及時的以動態顯示的方式提供到網頁上,而且客戶端能夠通過因特網隨時監測和控制其外圍設備的狀態。
2.2.2 設備運行參數和狀態參數的參數控制
當接收到用戶發送的參數設備請求才實行該參數的寫入操作。
2.2.3 遠程控制
用戶即使不在設備的旁邊,也能夠隨時通過因特網給驅動系統下達指令,控制這些遠程外設運行,從而達到用戶遠程控制設備的目標。
因此,以系統應用設計和實現為基礎的嵌入式We服務器,很好的解決了硬件和操作系統的不同,促使嵌入式Web服務器能夠在各種各樣的平臺上得以應用。
2.3 協議棧和Webserver功能測試
UIP是一個分層的協議棧。分層協議的意義是它既能夠為上層提供服務和接口,也能夠對下層的實現環節進行屏蔽。換句話說,應用層中的HTTP協議是網絡服務器給客戶端瀏覽器提供相應服務的重要傳輸環節。傳輸層上的TCP協議為應用層上的HTTP協議能夠實現穩定傳輸提供了一些差錯重傳等機制。網絡層中IP協議隨后接收來自于傳輸層的TCP協議,然后將傳輸的信息數據發送給最接近主機的下一層。最后在網卡驅動和相關網絡協議的基礎上實現相應的數據包實現物理層上的連接。
3 總結
在本章中完成了應用層HTTP協議的實現,在此基礎上完成了嵌入式Web服務器的設計,并且成功的進行了測試運行。通過Web瀏覽器確實能夠遠程登陸Web服務器,及控制服務器端的外圍設備,真正的實現了網絡的動態交互。該服務器具有傳輸率高,可靠性強,容易訪問等特點,具有廣泛的應用前景。
參考文獻
[1]李芳.計算機軟件設計中的嵌入式軟件設計分析[J].電腦知識與技術,2016 (03):64-65.
[2]鄭玉靜,嵌入式數控系統的網絡應用研究[J].通信電源技術,2012 (04):83-84.
[3]楊易,嵌入式Web服務器中動態Web技術研究[D].湖北工業大學,2016.