《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于嵌入式Linux的遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計
基于嵌入式Linux的遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計
摘要: 本文提出的基于嵌入式Linux的遠(yuǎn)程監(jiān)控系統(tǒng)的方案已在小型局域網(wǎng)中得到實現(xiàn),。該系統(tǒng)在工業(yè)現(xiàn)場,、遠(yuǎn)程診斷、信息家電中有著很好的應(yīng)用前景,。
Abstract:
Key words :

  1 引 言

  單片機和微控制器在工業(yè)現(xiàn)場控制領(lǐng)域已得到廣泛的應(yīng)用,,但這些控制系統(tǒng)通常采用RS232或RS485組網(wǎng),,作用距離短。如今,,Internet飛速發(fā)展,,已成為信息交流的重要渠道,。而且,基于Web的B/S遠(yuǎn)程監(jiān)控模式技術(shù)也越來越成熟,。如果將這種模式應(yīng)用于工業(yè)現(xiàn)場控制領(lǐng)域,,則用戶只要在有Internet接入的地方,就可以對工業(yè)現(xiàn)場設(shè)備進行遠(yuǎn)程監(jiān)控,。將其應(yīng)用于家庭,,則可以朝家電信息化邁出關(guān)鍵的一步。

  上述系統(tǒng)的實現(xiàn)離不開嵌入式操作系統(tǒng)" title="嵌入式操作系統(tǒng)" target="_blank">嵌入式操作系統(tǒng),。后PC時代,,隨著嵌入式系統(tǒng)的廣泛應(yīng)用,嵌入式操作系統(tǒng)也越來越受到重視,。嵌入式操作系統(tǒng)具有結(jié)構(gòu)小巧,、實時性強、穩(wěn)定性高等特點,。目前,,商用嵌入式操作系統(tǒng)比較多,如Vxworks,,QNX,,Nucleaus,WinCE等,,但價格都很昂貴,,并不適合廣泛應(yīng)用。

  嵌入式Linux為這個問題提供了良好的解決方案,,其開放的源代碼,、強大的技術(shù)支持、良好的可擴展性及對眾多硬件的支持都是它嵌入化的優(yōu)勢,。所以我們選擇嵌入式linux為操作平臺,結(jié)合成熟的Web技術(shù)來進行遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計,。

  2 系統(tǒng)結(jié)構(gòu)

  該遠(yuǎn)程控制系統(tǒng)利用Internet/Intranet網(wǎng)絡(luò)資源,,只需一臺聯(lián)網(wǎng)的PC客戶機,就可實現(xiàn)對遠(yuǎn)程設(shè)備狀態(tài)的監(jiān)視和控制,。這里,,我們提出系統(tǒng)結(jié)構(gòu)的兩種設(shè)計方案,如圖1,、2所示,。



  兩種方案都利用了Internet/Intranet網(wǎng)絡(luò)資源。不同的是,,在方案一中,,使用了一臺PC機作為代理服務(wù)器接入Internet網(wǎng)絡(luò),這樣便可利用代理服務(wù)器提供強大的數(shù)據(jù)庫功能。該方案適用于測量設(shè)備較多,,相對集中的場合,。嵌入式設(shè)備可通過以太網(wǎng)線直接與服務(wù)器相連,這樣,,嵌入式設(shè)備實際上只需要實現(xiàn)一個以太網(wǎng)到RS232的轉(zhuǎn)換,。但是,在某些嵌入式的應(yīng)用環(huán)境中,,并不適合單獨使用一臺PC機作服務(wù)器,,因此,我們提出方案二,,嵌入式設(shè)備作為Web Server直接接入Internet/Intranet,。嵌入式設(shè)備運行一個操作系統(tǒng)并在此基礎(chǔ)之上實現(xiàn)WebServer的功能,這對系統(tǒng)硬件要求比較高,,再加上小型嵌入式數(shù)據(jù)庫技術(shù)的不成熟,,使得它在數(shù)據(jù)管理方面稍有欠缺。盡管如此,,我們?nèi)圆捎梅桨付?,因為我們認(rèn)為它代表著嵌入式系統(tǒng)的發(fā)展方向,其應(yīng)用范圍更為廣泛,,并且,,隨著軟硬件水平的不斷提高,上述的缺點都是可以克服的,。

  我們的方案中,,硬件上采用32位Motorola微處理器,2M Flash,,16M SDRAM,,及必要的外圍設(shè)備即可滿足系統(tǒng)的要求。

  3 系統(tǒng)軟件設(shè)計

  3.1 Linux的選擇


  由于Linux過于龐大,,要將它應(yīng)用于小巧的嵌入式系統(tǒng),,首先必須將其小型化。目前,,出現(xiàn)了各種不同的嵌入式Linux版本,,有一些還具有一定的實時性。我們首先依據(jù)自己所選擇的CPU類型,,以公開的嵌入式Linux源代碼為基礎(chǔ),,根據(jù)自己設(shè)計的主板情況編寫相應(yīng)的bootloader程序或BIOS,運行自己的系統(tǒng),。一旦加載上了嵌入式Linux,,則對于上層應(yīng)用軟件的編程與在運行普通Linux的PC機上一樣,,所有的程序都可以先在Linux的PC機上調(diào)試通過,然后只需要修改MakeFile文件,,就可以完全移植到嵌入式Linux設(shè)備上運行,。如果編譯嵌入式Linux時選擇網(wǎng)絡(luò)文件系統(tǒng)(NFS),則調(diào)試的時候可利用gdbserver,,省去了無數(shù)次下載程序的麻煩,。這種方法有很大的靈活性與自由度,但也要注意到,,由于硬件的配置不同,,或程序本身原因,網(wǎng)上下載的源代碼未必都合適,,這需要自己對照源碼去調(diào)試與發(fā)現(xiàn),。

  3.2 應(yīng)用程序設(shè)計

  3.2.1 C/S(Client/Server)模式與B/S(Browser/Server)模式傳統(tǒng)的C/S模式采用兩層設(shè)計,客戶應(yīng)用層負(fù)責(zé)提供交互界面,,實現(xiàn)應(yīng)用邏輯以發(fā)送數(shù)據(jù),、請求并處理返回數(shù)據(jù);數(shù)據(jù)庫服務(wù)器層負(fù)責(zé)處理客戶數(shù)據(jù)請求并返回結(jié)果,,有效管理系統(tǒng)資源,。該模式需獨立開發(fā)和安裝每個應(yīng)用,系統(tǒng)升級維護困難,,客戶機負(fù)擔(dān)重,。此外,與數(shù)據(jù)庫的直接交互導(dǎo)致應(yīng)用程序?qū)?shù)據(jù)結(jié)構(gòu)有很強的依賴性,,且浪費數(shù)據(jù)庫連接資源,。

  基于二層結(jié)構(gòu)的C/S模式無法適應(yīng)Internet網(wǎng)絡(luò)的特性,因此出現(xiàn)了一種新的體系結(jié)構(gòu)——B/S模式,。B/S是一種基于Hyperlink,,HTML,Java的三級或多級C/S,,客戶端僅需要單一的瀏覽器軟件,,其它大量工作都由Web Sever完成。B/S模式使用簡單,、易于維護、擴展性好,,已逐漸成為主流,。


  3.2.2 客戶端工作過程

  該系統(tǒng)使用的是B/S模式,對客戶端幾乎沒有特別要求,??蛻舳酥灰谄胀╓indows視窗系統(tǒng),,安裝IE或Netscape即可。換句話說,,任何一臺上網(wǎng)的計算機,,都可能成為客戶端。

  客戶端的工作過程如下:通過Internet/Intranet網(wǎng)絡(luò)訪問監(jiān)控中心的主頁,,根據(jù)需要輸入用戶名和密碼,,檢驗成功則進入Web Server系統(tǒng)的監(jiān)控界面,點擊相應(yīng)的設(shè)備按鈕可以獲得該設(shè)備的運行狀態(tài)并可以對設(shè)備的參數(shù)進行設(shè)置,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。