面向物聯(lián)網(wǎng)的嵌入式以太網(wǎng)終端平臺設計與實現(xiàn)
3 WEB服務器的實現(xiàn)
HTTP定義了瀏覽器與服務器交互的不同方法,最基本的方法有4種。本系統(tǒng)的實現(xiàn)只涉及到GET和POST這兩種最基本的方法。GET一般用于向服務器獲取和查詢資源信息,而POST一般用于向服務器上傳和更新沒有長度限制的、大容量的資源信息。一個基本的WEB服務器要實現(xiàn)動態(tài)網(wǎng)頁服務的關鍵是要能夠?qū)g覽器發(fā)送的GET或POST請求做出響應。一般情況下制作動態(tài)網(wǎng)頁需要使用語言:HTML+ASP或HTML+PHP或HTML+ JSP等。要在資源有限的嵌入式系統(tǒng)上實現(xiàn)這樣的功能是不現(xiàn)實的,一種明智的辦法是通過使用回調(diào)函數(shù)的方式,為瀏覽器的每一種請求都設計一個服務函數(shù)與之對應。當有新增加的GET或POST請求時,則只需要增加相應的服務函數(shù)即可。具體實現(xiàn)時可設計一個存放服務函數(shù)地址的結(jié)構(gòu)體,其成員包括所請求服務參數(shù)的長度、名稱和對應服務函數(shù)的地址。然后將所有的結(jié)構(gòu)體都初始化在一個數(shù)組中,代碼如下:
在編寫應用程序的時候,只需抓取瀏覽器所發(fā)送的請求類型和參數(shù),即可根據(jù)不同的請求來調(diào)用相應的服務函數(shù)。當有新的GET或者POST請求增加時,只需要增加與之對應的服務函數(shù)即可,這樣就實現(xiàn)了擴展性很強的動態(tài)網(wǎng)頁服務。WEB服務器響應瀏覽器訪問的流程如圖3所示。本文引用地址:http://cafeforensic.com/article/148553.htm
POST請求分為帶參數(shù)和不帶參數(shù)兩類,帶參數(shù)的POST請求,如:設置IP地址,子網(wǎng)掩碼等操作,需要提取相關參數(shù)后再調(diào)用服務函數(shù)進行處理。不帶參數(shù)的POST請求只需直接調(diào)用相應服務函數(shù)即可,如:重啟系統(tǒng)、恢復默認參數(shù)等操作。遠端PC可以通過該動態(tài)WEB服務器來對平臺進行訪問,完成上述幾項操作。在第一次啟動本系統(tǒng)時,系統(tǒng)通過運行DHCP客戶端程序,向DHCP服務器(路由器等設備)主動申請IP地址,獲得IP后,遠端PC即可通過該IP地址對本系統(tǒng)進行訪問和設置。網(wǎng)頁界面如圖4所示。
4 結(jié)束語
平臺采用AT91SAM7X512處理器和DM9161以太網(wǎng)物理層芯片。兩者通過MII接口連接,高集成度的處理器提高了系統(tǒng)穩(wěn)定性,降低了數(shù)據(jù)傳輸出錯機率。通過向終端平臺移植LwIP協(xié)議,使終端具備連入以太網(wǎng)的能力,并通過調(diào)用函數(shù)的方式在該低成本平臺上實現(xiàn)了動態(tài)網(wǎng)頁服務器。在局域網(wǎng)條件下運行該終端和上位機PC進行連接,能很好的通過網(wǎng)絡傳遞RFID讀卡器采集的信息,并且上位機PC能夠通過網(wǎng)頁對本終端進行訪問和參數(shù)設置。針對更復雜的遠程網(wǎng)絡連接和訪問,網(wǎng)絡延遲和丟包等問題還有待進一步的研究。
p2p機相關文章:p2p原理
評論