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