關於Linux遠程監控系統設計的介紹

來源:互聯網
上載者:User

生活品質有了很大的提高,主要取決於科技的發展。很多科技產品層出不窮,這裡主要講解的是基於嵌入式Linux遠程監控系統的設計。將Linux植入嵌入式裝置具有眾多的優點,由於具有良好的可移植性,人們已成功使Linux運行於數百種硬體平台之上。以下就是基於嵌入式Linux遠程監控系統的設計的介紹。

1 引 言

單片機和微控制器在工業現場控制領域已得到廣泛的應用,但這些控制系統通常採用RS232或RS485組網,作用距離短。如今,Internet飛速發展,已成為資訊交流的重要渠道。而且,基於Web的B/S遠程監控模式技術也越來越成熟。如果將這種模式應用於工業現場控制領域,則使用者只要在有Internet接入的地方,就可以對工業現場裝置進行遠程監控。將其應用於家庭,則可以朝家電資訊化邁出關鍵的一步。

上述系統的實現離不開嵌入式作業系統。後PC時代,隨著嵌入式系統的廣泛應用,嵌入式作業系統也越來越受到重視。嵌入式作業系統具有結構小巧、即時性強、穩定性高等特點。目前,商用嵌入式作業系統比較多,如Vxworks,QNX,Nucleaus,WinCE等,但價格都很昂貴,並不適合廣泛應用。

嵌入式Linux為這個問題提供了良好的解決方案,其開放的原始碼、強大的支援人員、良好的可擴充性及對眾多硬體的支援都是它嵌入化的優勢。所以我們選擇嵌入式linux為操作平台,結合成熟的Web技術來進行遠程監控系統的設計。

2 系統結構

該遠端控制系統利用Internet/Intranet網路資源,只需一台連網的PC客戶機,就可實現對遠程裝置狀態的監視和控制。這裡,我們提出系統結構的兩種設計方案,1、2所示。

兩種方案都利用了Internet/Intranet網路資源。不同的是,在方案一中,使用了一台PC機作為Proxy 伺服器接入Internet網路,這樣便可利用Proxy 伺服器提供強大的資料庫功能。該方案適用於測量裝置較多,相對集中的場合。嵌入式裝置可通過乙太網路線直接與伺服器相連,這樣,嵌入式裝置實際上只需要實現一個乙太網路到RS232的轉換。但是,在某些嵌入式的應用環境中,並不適合單獨使用一台PC機作伺服器,因此,我們提出方案二,嵌入式裝置作為Web Server直接接入Internet/Intranet。嵌入式裝置運行一個作業系統並在此基礎之上實現WebServer的功能,這對系統硬體要求比較高,再加上小型嵌入式資料庫技術的不成熟,使得它在資料管理方面稍有欠缺。儘管如此,我們仍採用方案二,因為我們認為它代表著嵌入式系統的發展方向,其應用範圍更為廣泛,並且,隨著軟硬體水平的不斷提高,上述的缺點都是可以克服的。

我們的方案中,硬體上採用32位Motorola微處理器,2M Flash,16M SDRAM,及必要的外圍裝置即可滿足系統的要求。

3 系統軟體設計

3.1 Linux的選擇

由於Linux過於龐大,要將它應用於小巧的嵌入式系統,首先必須將其小型化。目前,出現了各種不同的嵌入式Linux版本,有一些還具有一定的即時性。我們首先依據自己所選擇的CPU類型,以公開的嵌入式Linux原始碼為基礎,根據自己設計的主板情況編寫相應的bootloader程式或BIOS,運行自己的系統。一旦載入上了嵌入式Linux,則對於上層應用軟體的編程與在運行普通Linux的PC機上一樣,所有的程式都可以先在Linux的PC機上調試通過,然後只需要修改MakeFile檔案,就可以完全移植到嵌入式Linux裝置上運行。如果編譯嵌入式Linux時選擇網路檔案系統NFS),則調試的時候可利用gdbserver,省去了無數次下載程式的麻煩。這種方法有很大的靈活性與自由度,但也要注意到,由於硬體的配置不同,或程式本身原因,網上下載的原始碼未必都合適,這需要自己對照源碼去調試與發現。

3.2 應用程式設計

3.2.1 C/SClient/Server)模式與B/SBrowser/Server)模式傳統的C/S模式採用兩層設計,客戶應用程式層負責提供互動介面,實現應用邏輯以發送資料、請求並處理返回資料;資料庫伺服器層負責處理客戶資料請求並返回結果,有效管理系統資源。該模式需獨立開發和安裝每個應用,系統升級維護困難,客戶機負擔重。此外,與資料庫的直接互動導致應用程式對資料結構有很強的依賴性,且浪費資料庫連接資源。

基於二層結構的C/S模式無法適應Internet網路的特性,因此出現了一種新的體繫結構——B/S模式。B/S是一種基於Hyperlink,HTML,Java的三級或多級C/S,用戶端僅需要單一的瀏覽器軟體,其它大量工作都由Web Sever完成。B/S模式使用簡單、易於維護、擴充性好,已逐漸成為主流。

3.2.2 用戶端工作過程

該系統使用的是B/S模式,對用戶端幾乎沒有特別要求。用戶端只要基於普通Windows視窗系統,安裝IE或Netscape即可。換句話說,任何一台上網的電腦,都可能成為用戶端。

用戶端的工作過程如下:通過Internet/Intranet網路訪問監控中心的首頁,根據需要輸入使用者名稱和密碼,檢驗成功則進入Web Server系統的監控介面,點擊相應的裝置按鈕可以獲得該裝置的運行狀態並可以對裝置的參數進行設定。

3.2.3 伺服器端程式的設計

1)伺服器模式

為了進行伺服器端程式的設計,首先要確定伺服器的工作模型。我們知道,Linux系統網路伺服器主要分為兩種:迴圈伺服器Iterative Server)和並發伺服器ConcurrentServer)。迴圈伺服器在同一時刻只能處理一個客戶機請求,而並發伺服器在同一時刻可以處理多個客戶機請求。TCP通訊端大多採用並發伺服器提供服務。TCP並發伺服器有多種實現方法:

◆伺服器對每個接收到的客戶串連都建立一個新的子進程來處理客戶請求;

◆伺服器預先建立多個子進程,由這些子進程處理客戶機的請求。這種方式稱為“預建立prefork)”伺服器;

◆伺服器用函數select實現對多個客戶機串連的多工;

◆由超級伺服器Inetd)啟用的伺服器。

其中,一個子進程對應一個客戶機的伺服器模型很簡單,父進程完成接收串連和建立子進程的任務,子進程處理客戶機的具體請求,每個子進程的處理過程完全獨立。

這種伺服器可以同時處理的客戶機數目受到系統所允許的最大子進程數目的限制。這種伺服器的缺點是,為每一個客戶建立一個子進程的開銷比較大。但如果我們能考慮到實際情況,並加以適當的變化,就會發現,它很適合我們的系統。首先,該系統是一個監控系統,決定了不會有過多客戶同時發出監控命令,所以無須擔心出現系統資源被耗盡的情況;其次,客戶一旦進行監控,一般會持續較長時間,這種建立子進程的開銷對伺服器效率影響不大;最後,如果系統在Internet上運行,可能會有許多外來的好奇者想進入,為了減少開銷,在系統設計中,並不是一旦建立串連就建立子進程,而是當口令通過後並向系統發出ASP請求才建立子進程。

2)程式設計

根據我們的方案,伺服器所需做的工作是:通過串口對裝置進行資料的收發;對資料進行處理;將處理的資料交給Web Server子進程;子進程將資料顯示到Web頁下傳給客戶,並接收客戶的參數設定命令,將參數設定上傳到遠程裝置。

伺服器程式結構4所示,父進程首先建立一個子進程專門處理資料,然後再根據使用者的請求建立相對應的子進程。使用者子進程與串口資料處理子進程之間採用處理序間通訊來實現資料交換。

伺服器啟動之後的第一件事,就是建立專用子進程來收發資料。伺服器任何時刻都在監聽使用者請求。若使用者發出監控請求,而且通過了密碼校正,伺服器就會產生一個子進程來處理該使用者的請求:發送資料,接收設定等。

4 結束語

身處資訊社會,人們已經能夠利用網路資源快捷方便地獲得資訊,並能利用網路資源進行各種裝置的遠程監控。本文提出的基於嵌入式Linux遠程監控系統的方案已在小型區域網路中得到實現。該系統在工業現場、遠端診斷、資訊家電中有著很好的應用前景。

以上就是基於嵌入式Linux遠程監控系統的設計的內容,希望對你有所協助。

  1. 輕鬆掌握Linux關機命令
  2. 講解Linux作業系統進入與退出系統方法
  3. 闡述Linux作業系統不足和發展趨勢
  4. 關於Linux應用範圍的介紹
  5. 讓你深入瞭解Linux常用軟體

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.