一種高速嵌入式遠程監(jiān)控系統(tǒng)的研究與實現(xiàn)
本文詳細論述了一種通過嵌入式互聯(lián)網(wǎng)技術控制在線嵌入式設備的遠程監(jiān)控系統(tǒng)。本系統(tǒng)采用了客戶端/服務器(C/S)模式。通過簡化TCP/IP協(xié)議棧實現(xiàn)了嵌入式Web服務器(EWS)功能。將EWS安裝到設備中,從而使得嵌入式設備可以通過Internet互聯(lián),同時可提供網(wǎng)絡管理頁面,使用戶可用標準的網(wǎng)絡瀏覽器對眾多設備進行在線遠程訪問、控制和管理,將時間與距離的限制降到最低。
1 控制系統(tǒng)架構
微處理器(MPU)和微控制器(MCU)用于嵌入式設備的監(jiān)視和控制,成為嵌入式系統(tǒng)的核心。為了在不同的MPU/MCU間相互通信,許多工業(yè)項目采用RS-232、RS-485及CAN等通信標準,但這些途徑的通信速度和距離都有較大局限性,若要將其與Internet互聯(lián)需要特殊的嵌入式網(wǎng)關的支持,給實際使用造成很大的不便。EI是一種用于嵌入式設備接入Internet的互聯(lián)技術,它可使嵌入式設備方便可靠地接入Internet中[2]。
為了使嵌入式設備可以連接到Internet并讓用戶通過標準的Web瀏覽器對其進行操作,EI的關鍵技術在于使嵌入式設備可以支持HTTP服務并具有Web服務器的功能[2]。對于網(wǎng)絡用戶而言,EWS提供了一個基于Web的圖形界面,以便于其對接入Internet的多種嵌入式設備進行統(tǒng)一的標準化管理,而不再需要特殊的專用協(xié)議和管理軟件。監(jiān)控系統(tǒng)的架構如圖1所示。
在本系統(tǒng)中,EWS內嵌于設備中并通過串口連接設備,每個設備都具有自身的IP地址,經(jīng)內部EWS由RJ-45接口接入本地局域網(wǎng)(LAN)中(本實驗中,LAN為以太網(wǎng))。一方面EWS讀取設備狀態(tài)信息并將其發(fā)送給本地或遠程用戶;另一方面則接收控制指令并發(fā)送給設備。而更大范圍的廣局網(wǎng)通信則可通過Internet或移動通信網(wǎng)絡實現(xiàn)。
2 EWS的設計與實現(xiàn)
2.1 軟件架構
本系統(tǒng)采用瀏覽器/服務器的結構實現(xiàn),其中包括兩部分——網(wǎng)絡瀏覽器與EWS,EWS通過嵌入式網(wǎng)絡技術實現(xiàn)其功能。在實際應用中,EWS被配置在嵌入式設備中,作為設備的一部分而存在,這使得該設備無需更多改動或配置即可直接接入網(wǎng)絡。與此同時EWS還內建了TCP/IP協(xié)議棧、嵌入式文件系統(tǒng)、設備網(wǎng)關及硬件接口等組件,其基本架構如圖2所示。
在該架構中,嵌入式文件系統(tǒng)對事先配置的監(jiān)控頁面進行存儲和管理。嵌入式設備網(wǎng)關實現(xiàn)了TCP/IP與實際使用的特定設備自身控制協(xié)議之間的相互轉換,從而實現(xiàn)了雙向透明通信。兩種不同結構的網(wǎng)絡便可通過嵌入式設備相互連接,而硬件接口則負責EWS、硬件設備及網(wǎng)絡之間的連接。
當本系統(tǒng)工作時,首先EWS接收到來自局域網(wǎng)的客戶端基于網(wǎng)址的請求并回應該請求。通過回應事先配置好并存放在嵌入式文件系統(tǒng)中的監(jiān)控網(wǎng)頁界面,用戶可通過標準的瀏覽器向遠端設備發(fā)送指令。該指令經(jīng)由互聯(lián)網(wǎng)傳送后被設備網(wǎng)關接收,設備網(wǎng)關將其翻譯為專用指令并進一步傳遞給硬件設備本身。與此同時,設備數(shù)據(jù)或信號也被傳輸給遠程客戶端以供用戶查看。
2.2 簡化TCP/IP協(xié)議棧
嵌入式互聯(lián)網(wǎng)技術有效地解決了嵌入式設備接入因特網(wǎng)的問題,使得這些設備可通過普通的瀏覽器進行遠程訪問和控制,如何將TCP/IP協(xié)議棧內嵌到設備中是解決問題的關鍵所在。傳統(tǒng)的TCP/IP協(xié)議棧相對比較龐大復雜并需要固定的系統(tǒng)資源支持,而大部分嵌入式設備都采用8位或16位MCU,其運算能力和系統(tǒng)資源比較薄弱。若直接將傳統(tǒng)的TCP/IP協(xié)議棧接入設備,則大部分運算時間和系統(tǒng)資源都將被占用,這對系統(tǒng)的整體性能影響很大[3]。為了解決此矛盾,在設計該監(jiān)控系統(tǒng)時根據(jù)具體情況選用了成熟的LWIP協(xié)議棧以實現(xiàn)網(wǎng)絡功能,同時最大限度地減少系統(tǒng)資源消耗并提高了可靠性。[!--empirenews.page--]
LWIP(Light-weight Internet Protocol)是瑞士計算機科學院的Adam、Dunkels等人開發(fā)出來的一套用于嵌入式系統(tǒng)的開放源代碼TCP/IP協(xié)議棧。從系統(tǒng)需求上,LWIP既可移植到操作系統(tǒng)上,又可在無操作系統(tǒng)的情況下獨立運行。并且LWIP協(xié)議棧在保持了TCP/IP協(xié)議主要功能的基礎上, 減少了對RAM的占用。只需容量幾十KB的RAM和40 KB的ROM就可以運行,使得LWIP協(xié)議非常適合在嵌入式系統(tǒng)中使用[4]。其主要特點有:
(1)支持多網(wǎng)絡接口下的IP轉發(fā)。
(2)支持網(wǎng)間控制報文協(xié)議ICMP(Internet Control Messages Protocol)。
(3)包含有實驗性擴展的用戶數(shù)據(jù)報協(xié)議UDP(User Datagram Protocol)。
(4)包括阻塞控制、RTT估算和快速恢復及快速轉發(fā)的傳輸控制協(xié)議TCP(Transfer Control Protocol)。
(5)具有專門提供的內部回調應用編程接口Raw API(Application Programming Interface),可用于提高應用程序性能。
(6)帶有可選擇的Berkeley接口API(多線程情況下);能支持動態(tài)主機配置協(xié)議(DHCP)和動態(tài)分配IP地址。
LWIP協(xié)議棧的內部分層結構如圖3所示。經(jīng)分析和實際測試,該協(xié)議??稍?6位MCU順利運行并可滿足本監(jiān)控系統(tǒng)的全部功能需求。
2.3 嵌入式文件系統(tǒng)
在實際工作時,根據(jù)客戶端瀏覽器的請求,EWS將相應的管理頁面發(fā)送至客戶端。因此對于本系統(tǒng)來說,必需要實現(xiàn)對這些頁面文件的存儲和訪問管理,為此在本系統(tǒng)中內建了一個嵌入式文件系統(tǒng)以便于對Flash中的頁面文件及其他數(shù)據(jù)進行管理和訪問控制[5]。
本系統(tǒng)中,文件系統(tǒng)根據(jù)文件的名稱、長度及起始地址對其進行管理。在結構上,該文件系統(tǒng)并未采用多級目錄,而是將所有的文件都列于單個根目錄之下。這種目錄結構雖然并不適合于容量快速增加的文件系統(tǒng),但定位和提取文件的速度有較大的優(yōu)勢。
當本監(jiān)控系統(tǒng)的文件需要進行較大的變更時,可通過TFTP協(xié)議對文件系統(tǒng)進行重構。雖然這種文件系統(tǒng)的結構和功能比較簡單,但可滿足絕大多數(shù)情況下嵌入式互聯(lián)網(wǎng)的需求,即頻繁地文件訪問和較少地文件變更。
3 實際應用和測試
本監(jiān)控系統(tǒng)已在無線電信號監(jiān)測項目中得到應用,其硬件平臺為遠程無人監(jiān)測站,通過Internet網(wǎng)絡接收用戶指令并將監(jiān)測數(shù)據(jù)上傳。在這個項目中,測量儀器通過本監(jiān)控系統(tǒng)中的EWS接入互聯(lián)網(wǎng)中,測量儀器本機采用Megatec協(xié)議。遠程用戶指令由EWS翻譯成Megatec協(xié)議格式再交由儀器執(zhí)行,同時將監(jiān)測數(shù)據(jù)回傳給客戶端。從功能上來說,客戶可執(zhí)行如下操作:
(1)實時或定時獲取遠程無人站的測量數(shù)據(jù)。
(2)實時監(jiān)控遠程無人站的狀態(tài)和參數(shù)。
(3)對遠程無人站的運行參數(shù)進行配置,以便于滿足預定的或突發(fā)狀態(tài)的需求。
本項目中的主監(jiān)控界面如圖4所示。
本文研究并實現(xiàn)了一種基于EI的遠程監(jiān)控系統(tǒng)。該系統(tǒng)采用客戶端/服務器的結構。通過在嵌入式設備中內建一個嵌入式Web服務器,本監(jiān)控系統(tǒng)可使嵌入式設備直接接入Internet,同時用戶可使用標準的網(wǎng)絡瀏覽器對嵌入式設備進行遠程管理和控制。本系統(tǒng)已在無線電監(jiān)測項目中得到實際應用,成功地獲取了遠程無人監(jiān)測站的監(jiān)測數(shù)據(jù)并可對監(jiān)測站進行控制。由此,其設計功能全部得以實現(xiàn)。實際測量數(shù)據(jù)顯示本監(jiān)控系統(tǒng)的數(shù)據(jù)響應時延為毫秒級,此項指標可以滿足絕大多數(shù)遠程監(jiān)控項目的需求。