微波設(shè)備網(wǎng)管系統(tǒng)中Web設(shè)計與實現(xiàn)
摘要:為了對遠程微波設(shè)備進行實時的監(jiān)控和管理,本文采用B/S結(jié)構(gòu)模式,以ARM7為核心的微控制器,研究基于嵌入式操作系統(tǒng) μC/0S-Ⅱ的一種嵌入式Web設(shè)計與實現(xiàn),解決了對遠程微波設(shè)備的監(jiān)測和控制的問題,并將Web技術(shù)應(yīng)用到微波設(shè)備網(wǎng)管系統(tǒng)中,通過瀏覽器給服務(wù)器發(fā) 送請求,然后服務(wù)器響應(yīng)瀏覽器的請求,來進行遠程微波設(shè)備的參數(shù)設(shè)置,工作狀態(tài)的監(jiān)控。測試結(jié)果表明,將Web技術(shù)應(yīng)用到微波設(shè)備網(wǎng)管系統(tǒng)中,實現(xiàn)了對微 波設(shè)備的遠程控制,具有方便管理,界面友好,易于操作等優(yōu)點。
關(guān)鍵詞:Web服務(wù)器;μC/0S-Ⅱ;嵌入式系統(tǒng);微波網(wǎng)管
隨著互聯(lián)網(wǎng)的快速發(fā)展和普及,采用Web技術(shù)實現(xiàn)的遠程網(wǎng)絡(luò)管理系統(tǒng)已經(jīng)成為網(wǎng)管系統(tǒng)不可缺少的一部分。嵌入式系統(tǒng)設(shè)計也逐漸發(fā)展成為計算機和網(wǎng)絡(luò)控制應(yīng) 用的一個新領(lǐng)域,具有功能強大、實時性強、可靠性高和結(jié)構(gòu)靈巧等優(yōu)點。基于嵌入式Web的遠程網(wǎng)管系統(tǒng),通過Web方式實現(xiàn)服務(wù)器端與客戶端的跨平臺信息 交互。目前微波傳輸系統(tǒng)的網(wǎng)絡(luò)管理采用基于Web的遠程網(wǎng)管系統(tǒng)代理的研究和應(yīng)用很少。本文是以ARM7處理器系統(tǒng)為硬件開發(fā)平臺,在μC/OS-Ⅱ嵌入 式操作系統(tǒng)基礎(chǔ)上,采用嵌入式Web技術(shù)實現(xiàn)微波傳輸系統(tǒng)的監(jiān)控和管理,使系統(tǒng)具有靈活性、可擴展性和通用性。
1 開發(fā)背景
微波通信是一種利用微波傳輸信息的通信手段,數(shù)字微波采用數(shù)字信號處理技術(shù),利用微波信道傳輸數(shù)字信號。而微波設(shè)備網(wǎng)管系統(tǒng)就是采用微波通信的方式傳輸數(shù)據(jù),圖l給出了該系統(tǒng)的結(jié)構(gòu)圖。
該系統(tǒng)分為管理站和被管對象,其中被管對象為微波鏈路的設(shè)備,每一個微波鏈路包括2個端站,每個端站含室內(nèi)單元IDU和室外單元OD-U,這兩個單元通過 同軸電纜連接,站內(nèi)設(shè)備通過網(wǎng)線(雙絞線)連接,站間設(shè)備通過微波鏈路連接。室內(nèi)單元安裝在機柜里或門架上,室外單元和天線被安裝在室外的鐵塔或高建筑物 上。在室內(nèi)單元IDU的面板上,留有RJ-45接口,方便計算機接入對微波設(shè)備進行管理和控制。該系統(tǒng)另外一部分為管理站,即圖l中的PC,管理站內(nèi)嵌瀏 覽軟件,能夠?qū)崿F(xiàn)Web方式(即采用網(wǎng)頁瀏覽的方式通過IP地址遠程訪問這條鏈路上所接入的設(shè)備)對設(shè)備進行管理和維護,即查看設(shè)備參數(shù)、設(shè)置設(shè)備參數(shù)和 接收告警信息等。PC機與IDU通過SNMP協(xié)議通信,不同站點之間的IDU通過ODU之間連接的微波鏈路傳輸信息。IDU內(nèi)部由兩個子系統(tǒng)構(gòu)成,使用的 CPU分別為LPC2214、SmartARM2200,前者主要運行監(jiān)控程序,后者運行代理程序,即嵌入式Web服務(wù)器,負責網(wǎng)絡(luò)管理。二者通過自定義 的串口通信協(xié)議完成信息的交換。
在微波網(wǎng)絡(luò)中,通過在管理站和被管對象之間采用TCP/IP協(xié)議傳輸網(wǎng)管信息,實現(xiàn)不同設(shè)備之間的路由選擇,采用簡單網(wǎng)絡(luò)管理協(xié)議(SNMP),實現(xiàn)微波設(shè)備各參數(shù)的監(jiān)測與控制,實現(xiàn)管理站對被管對象的遠程訪問和控制。[!--empirenews.page--]
1.1 硬件平臺
對Web進行管理的硬件設(shè)計主要采用周立功ARM7的SmartARM2200,開發(fā)板帶有多種的存儲資源(PSRAM、NANDFlash、NOR Flash和EPROM),具有一個10 MB的RTL8019AS作為以太網(wǎng)接口,2個串口,并支持μC/OS-Ⅱ和μCLinux操作系統(tǒng)。CPU采用32位ARM7芯片LPC2210FBD,其接口豐富。
1.2 軟件環(huán)境
移植μC/OS-Ⅱ?qū)崟r嵌入式操作系統(tǒng),移植lwip輕量級TCP/IP協(xié)議棧,使其在SmartARM2200開發(fā)板上運行,采用C語 言編寫Web服務(wù)器軟件。軟件調(diào)試使用ADSl.2集成仿真環(huán)境,使用相應(yīng)的工程模板。在調(diào)試過程中選用DebugInExRam模式進行調(diào)試,軟硬件調(diào) 試完成,可選用R-elInChip模式燒寫,后一種燒寫方式會加密芯片,使之無法二次燒寫。如果加密之后需要重新燒寫芯片,就必須使用ISP進行解密之 后方可燒寫。軟件總體分為應(yīng)用程序、μC/OS-Ⅱ和網(wǎng)絡(luò)協(xié)議驅(qū)動3部分。
1.3 μC/OS-Ⅱ特點
μC/OS-Ⅱ是一個實時多任務(wù)操作系統(tǒng),它的絕大部分源碼是用ANSI C編寫,只有一小部分與處理器密切相關(guān)的代碼使用匯編語言編寫,μC/OS-Ⅱ包括3部分,即核心代碼、配置代碼和移植代碼,具有可移植性。μC/OS- Ⅱ是基于優(yōu)先級的可剝奪型內(nèi)核,系統(tǒng)中的所有任務(wù)都有一個唯一的優(yōu)先級別和自己單獨的任務(wù)棧。絕大多數(shù)μC/OS-Ⅱ的函數(shù)調(diào)用和服務(wù)的執(zhí)行時間具有可確 定性,并且μC/OS-Ⅱ還具有可裁剪、穩(wěn)定性和可靠性等特點。
2 嵌入式Web組成
2.1 HTTP協(xié)議簡介
HTTP協(xié)議(Hypertext TransferProtocol,超文本傳輸協(xié)議)是用于傳送WWW方式的數(shù)據(jù),也是用于從Web服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。HTTP協(xié) 議采用了請求/響應(yīng)模式??蛻舳讼蚍?wù)器發(fā)送一個請求,請求頭包含請求的方法、URI、協(xié)議版本、以及包含請求修飾符、客戶信息和內(nèi)容的類似于MIME的 消息結(jié)構(gòu)。服務(wù)器用一個狀態(tài)行作為響應(yīng),相應(yīng)的內(nèi)容包括消息協(xié)議的版本,成功或者錯誤編碼加上包含服務(wù)器信息、實體元信息以及可能的實體內(nèi)容。通常 HTTP消息包括客戶端向服務(wù)器的請求消息和服務(wù)器向客戶端的響應(yīng)消息。這兩種類型的消息由1個起始行、1個或者多個頭域、1個指示頭域結(jié)束的空行和可選 的消息體組成。它可以使瀏覽器更加高效,使網(wǎng)絡(luò)傳輸量減少,不僅保證了計算機正確快速地傳輸超文本文檔,還確定傳輸文檔的內(nèi)容首先顯示(如文本先于圖形) 等。這就是為什么在瀏覽器中看到的網(wǎng)頁地址都是以“http://”開頭的原因。
2.2 HTTP協(xié)議的請求/響應(yīng)模式
HTTP協(xié)議的請求/響應(yīng)模式是:客戶端發(fā)送一個請求給服務(wù)器,服務(wù)器接到請求后,給予相應(yīng)的響應(yīng)信息。HTTP服務(wù)器運行時,一直在TCP80端口(系 統(tǒng)默認)監(jiān)聽,等待連接的出現(xiàn)。一般一個信息的交換要經(jīng)過以下幾個步驟:首先通過申請?zhí)捉幼謥斫⑦B接,其次客戶端向服務(wù)器端發(fā)送請求,然后服務(wù)器端處理 完客戶端的請求后,給客戶端發(fā)送響應(yīng)信息,最后通過關(guān)閉套接字來結(jié)束對話。HTTP協(xié)議具體的請求響應(yīng)過程:
1)用戶在瀏覽器的地址欄中輸入要訪問的頁面地址并回車觸發(fā)這個申請。Web瀏覽器將用戶輸入的URL分解,從中提取有用的信息。例如:當用戶輸入 http://202.117.132.174/時,將其分解后,Web瀏覽器得到如下信息:使用超文本傳輸協(xié)議(HTTP)從一臺IP地址為 202.117.132.174的Intemet主機(或服務(wù)器)上的某個目錄下獲取一個名為login.html的文件。
2)當用戶輸入域名時,例如:WWW.baidu.com Web瀏覽器根據(jù)網(wǎng)絡(luò)配置查詢Intemet上的域名服務(wù)器(Domain Name Server)來獲取相應(yīng)的IP地址。域名服務(wù)器上有一個數(shù)據(jù)庫,存儲了許多Intemet服務(wù)器的域名及其相應(yīng)的IP地址。在這里WWW.baidu.com對應(yīng)的IP地址是202. 108.22.5。
3)Web瀏覽器取得IP地址后,使用所獲取的IP地址與相應(yīng)的諸如lighthttpd的網(wǎng)絡(luò)服務(wù)器進行通信來確認Web服務(wù)器是否處于可用狀態(tài)。所用的通信協(xié)議為超文本傳輸協(xié)議。
4)當服務(wù)器處理完瀏覽器請求后,即向瀏覽器發(fā)出相應(yīng)的文件請求(某個目錄下的login.html文件)。服務(wù)器收到請求后即檢查該目錄下的指定文件, 根據(jù).html或.htm的后綴意識到這是HTML文件。若該HTML文件存在則發(fā)送該文件,否則發(fā)送文件未找到的回應(yīng)信息。
5)當所要求的文件(login.html)到達瀏覽器后,瀏覽器開始解碼。若瀏覽器發(fā)現(xiàn)其中有嵌入對象信息時,如嵌入的圖像,則向服務(wù)器發(fā)送圖像文件請 求信息(imase.gif),服務(wù)器收到圖像文件請求信息后,開始查找相應(yīng)的文件,找到后即發(fā)送該文件。對于超文本文件中的每一個嵌入對象,這個過程將 被重復(fù)一次。當所有的對象都傳送完畢后,此時瀏覽器中就會有一個完整的超文本頁面展現(xiàn)在用戶面前。
從以上過程可以看出,一個超文本頁面的獲取并非通過瀏覽器與服務(wù)器之間的一次突發(fā)的通信完成的,而是通過瀏覽器與服務(wù)器之間的多次交互來完成的。盡管上述過程看起來比較復(fù)雜,但它并不占用大量的計算機資源,不會影響使用計算機同時處理其他。
3 嵌入式Web在系統(tǒng)中的實現(xiàn)
3.1 微波設(shè)備網(wǎng)管系統(tǒng)的Web體系結(jié)構(gòu)
微波設(shè)備網(wǎng)管系統(tǒng)的Web是基于B/S模式的,系統(tǒng)的管理目標包括鏈路的傳輸容量、IDU的序列號、ODU的序列號、ODU的工作頻段、ODU的發(fā)射功率 等。微波設(shè)備服務(wù)器采用嵌入式技術(shù),通過Web方式設(shè)計實現(xiàn)遠程服務(wù)器端與客戶端的信息交互??蛻舳耸褂脼g覽器對微波設(shè)備進行管理,通信采用的是 TCP/IP協(xié)議。系統(tǒng)的體系結(jié)構(gòu),如圖2所示。
為了便于管理遠程的微波設(shè)備,通過Intemet建立Web服務(wù)器,然后對一級一級的微波設(shè)備站建立相應(yīng)的代理服務(wù),再在這些微波設(shè)備上建立相應(yīng)的Web服務(wù)。具體的通信過程為:接入Intemet的Web服務(wù)器響應(yīng)客戶端發(fā)送的信息,通過64 KB的通信信道傳送,微波設(shè)備站通過代理查看是不是總站向自己發(fā)送的信息,如果不是就向下一級傳送,是則開始查看是給哪個部件發(fā)送的信息。[!--empirenews.page--]
3.2 嵌入式Web的Socket通信
基于B/S模式的遠程監(jiān)控系統(tǒng)中,用戶需要通過瀏覽器管理遠程設(shè)備。對于微波設(shè)備遠程監(jiān)控中的Socket通信有2種信息:一種是查看微波設(shè)備的實時運行 狀態(tài)信息,要求快速和高效,因此采用無連接的UDP Socket通信;另一種是微波設(shè)備參數(shù)信息,要求高可靠性和安全性,因此采用面向連接的TCP Socket通信??蛻舳丝筛鶕?jù)微波設(shè)備的IP地址建立TCP連接,由控制設(shè)備監(jiān)聽這個連接請求,若連接成功,則接收客戶端發(fā)送的設(shè)備參數(shù)設(shè)定值。編寫 TCP通信任務(wù)時分為服務(wù)器和客戶機2種方式。前者需要監(jiān)聽連接,只有在與客戶機建立連接后才能進行數(shù)據(jù)處理。后者是主動連接服務(wù)器,也是在連接成功后才 能進行數(shù)據(jù)處理。圖3為TCP通信時服務(wù)器端和客戶機端通信的函數(shù)應(yīng)用過程。
服務(wù)器端主函數(shù)的工作過程:初始化μC/OS-Ⅱ,創(chuàng)建TCP/IP初始化任務(wù),硬件資源的初始化(設(shè)置網(wǎng)絡(luò)端口號,RTL8019AS網(wǎng)絡(luò)芯片的初始化,初始化ARP、TCP、UDP),啟動μC/OS-Ⅱ系統(tǒng),創(chuàng)建服務(wù)器任務(wù),進入服務(wù)器。
3.3 處理HTTP協(xié)議頭
HTTP協(xié)議頭包括一個起始行、零個或多個消息頭域、一個標示頭域結(jié)束的實體行和一個可能存在的消息體。本程序主要解析協(xié)議頭的起始行,這種處理思路也符 合嵌入式系統(tǒng)硬件對軟件實現(xiàn)的復(fù)雜度要求。請求方式?jīng)Q定了對請求URL所指定的資源進行操作的方式,GET方法讀取URL指定的資源,一般用來向服務(wù)器傳 輸少量且透明的數(shù)據(jù),數(shù)據(jù)總量被限制在255個字符以內(nèi),而POST方法可傳輸大量數(shù)據(jù),與HTML的表單特性相配合以實現(xiàn)遠程動態(tài)交互控制。當建立連接 開始時,客戶端發(fā)送GET請求方法給服務(wù)器端,以訪問服務(wù)器端的網(wǎng)頁。POST作為請求方法時,首先和Web服務(wù)器建立連接,成功后瀏覽器將HTML表單 中的值發(fā)送給Web服務(wù)器,服務(wù)器端的程序通過判斷用戶的信息來確定是否讓其進入系統(tǒng)主頁面。在每次連接成功后,服務(wù)器端程序會返回以狀態(tài)碼200開頭的 響應(yīng)消息,消息的起始行為:HTTP/1.1 200 OK。當用戶請求一個服務(wù)器端不存在的文件時,服務(wù)器返回以狀態(tài)碼404開頭的響應(yīng)消息。
HTTP的請求報文(實測):
1)一般的POST請求報文
[!--empirenews.page--]
3.4 BTTP協(xié)議的解析
為了增強系統(tǒng)的安全性,增加數(shù)據(jù)安全性,在網(wǎng)頁中加入基本認證機制。當客戶端請求受基本認證機制保護的網(wǎng)頁時,服務(wù)器端即要求用戶認證,只有認證成功,瀏 覽器才能獲得正確的網(wǎng)頁數(shù)據(jù)。HTTP1.1支持基本認證機制,允許服務(wù)器在返回Web之前要求用戶輸入正確的用戶名和密碼。因此,為了在不增加嵌入式 Web服務(wù)器硬件配置、消耗過多資源的前提下提高系統(tǒng)的安全性,在微波網(wǎng)管Web服務(wù)器程序中加入了基本認證機制。
當客戶端請求受基本認證機制保護的Web頁時,服務(wù)器要求用戶認證,或證明自己獲得了接收資源的授權(quán)。服務(wù)器完成這項工作的方法是,返回一個帶40狀態(tài)碼 的HTTP頭和一個指定所需認證類型的Web認證字段。收到請求基本認證的消息頭后,客戶端的瀏覽器會顯示一個窗口,要求輸入正確的用戶名和密碼。用戶輸 完所要求的信息并單擊OK按鈕后,瀏覽器發(fā)送包含用戶名和密碼的認證請求,該請求采用POST的請求方法。如果用戶名和密碼正確,則進入系統(tǒng)主頁面;否 則,服務(wù)器返回以狀態(tài)碼404為起始行的響應(yīng)消息。
3.5 嵌入式Web服務(wù)器測試
首先完成將嵌入式實時操作系統(tǒng)μC/OS-Ⅱ移植到SmartARM2200開發(fā)板上,其次將精簡了的TCP/IP協(xié)議棧移植到該操作系 統(tǒng)中,并在其上加上嵌入式Web服務(wù)器,這部分主要工作是對TCP/IP協(xié)議棧進行精簡設(shè)計,對SmartARM2200開發(fā)板上的RTL8019AS網(wǎng) 卡芯片的驅(qū)動代碼進行了重新設(shè)計,使之適用于上層軟件。最后在ADS集成開發(fā)環(huán)境下進行編譯和調(diào)試,使用網(wǎng)線和并口線將SmartARM2200開發(fā)板與 PC相連接,使用H-JTAG進行燒寫。運行程序,由于Web服務(wù)器不能主動發(fā)送告警信息,所以只能通過客戶端請求查看,因此在IE瀏覽器的地址欄中輸入 http://202.117.132.174/,進行Web服務(wù)器的測試,進入登錄界面,輸入用戶名和密碼經(jīng)過用戶認證后,彈出設(shè)備狀態(tài)指示的頁面,直 觀顯示告警信息,如圖4所示。通過網(wǎng)頁直接對設(shè)備進行基本信息的查詢、設(shè)置,以及實時反應(yīng)設(shè)備的狀態(tài)信息。
4 結(jié)論
以微波設(shè)備網(wǎng)管系統(tǒng)為背景,設(shè)計實現(xiàn)了一個嵌入式Web服務(wù)器管理模型,該模型基于TCP/IP通信協(xié)議以及HTTP協(xié)議,實用性強,便于移植推廣。利用 嵌入式的Web技術(shù)使該網(wǎng)管系統(tǒng)控制管理遠程設(shè)備更加方便,提高了系統(tǒng)的通用性和可維護性,并為設(shè)備的遠程配置管理和系統(tǒng)維護帶來便利。采用通用瀏覽器界 面對遠程設(shè)備進行管理,瀏覽器運行的平臺和服務(wù)器運行的平臺相互獨立,從而實現(xiàn)了跨平臺的遠程管理。