王富強,曾 凌,張運福,陳宏波,唐 瑜
(重慶金美通信有限責任公司,重慶400030)
隨著瀏覽器技術的普及,瀏覽器提供的圖形化界面越來越友好,在監控系統方面,運用Web 技術的監控,已逐漸成為眾多類型監控系統不可或缺的一部分。其中,基于嵌入式Linux 系統的無線通信設備的Web 遠程監控系統,結合了先進的Web 技術和嵌入式技術,可通過Web 技術實現客戶端與服務器端的跨平臺信息交互,具有功能強大、實時性強、可靠性高和結構小巧等優點[1-2]。
在對系統的控制設備進行設計時,采用以太網通信,同時在設備內部嵌入WEB 服務器,通過PC機的瀏覽器訪問設備的IP 地址,就可以直接對設備進行控制與監測。客戶端無需開發任何用戶界面,用戶也不需要下載安裝特殊的控制軟件,只需通過PC機上的瀏覽器就能遠程訪問設備上的Web 界面,達到對設備狀態實時監控的目的。由此降低了Web 監控系統軟件的開發難度,縮短了開發周期,節約了研發成本,同時也有助于提高Web 監控系統軟件的實用性和移植性。
系統的客戶端采用支持HTML5 的瀏覽器,服務器采用開源的Apache 服務器,后端采用基于PHP 語言的腳本程序,數據庫采用支持XML 的主控軟件。以無線通信設備作為監控對象,監控目標包括:設備運行狀態、設備性能、設備參數的配置和查詢操作、文件下載和上傳功能。
系統的開發體系結構采用Brower/Server(即B/S)系統架構。在每個設備中搭建一個Web 服務器,通過以太網連接一個設備,接入設備局域網絡中,可以任意訪問此網絡中的設備中的Web 服務器,實現局域網內所有設備的實時監控。簡單的場景應用網絡拓撲結構如圖1 所示。

圖1 網絡拓撲結構
在整個網絡中,客戶端和服務器端之間節點不對HTTP 請求及響應做任何操作,用戶在PC 機上的瀏覽器中輸入目的設備的IP 地址,就可以訪問相應的無線設備的Web 監控界面。
按照此法設計的監控系統架構的優勢如下:
(1) 具有分布式特點,具備實時業務處理能力;
(2) 開發簡便,共享性強:只需在服務器端進行網頁程序開發,客戶端只需瀏覽器就可以訪問,降低了用戶的總體成本,提高了監控系統的實用性和可移植性;
(3) 軟件升級和維護方便快捷:進行軟件升級和維護操作時,不需要關閉服務器,只需對服務器端網頁程序進行替換,即可實現用戶端的Web 監控界面在線同步更新,以此減輕了Web 監控系統維護與升級的成本和工作量。
無線通信設備采用的是基于PC(PowerPC)平臺的Linux 操作系統。嵌入式Linux 系統具有以下幾個特點:
1、內核源碼完全開放,用戶可以根據具體的應用需求對內核源碼進行修改和優化,實現內核源碼的定制化;
2、具有強大的網絡支持功能,支持TCP/IP 協議;
3、擁有便捷的開發工具,能為開發人員提供多種開源的開發者工具,方便開發人員對Web 應用軟件的開發,節約了Web 監控系統軟件的開發成本,提高了Web 監控系統軟件的開發效率;
4、具有廣泛的硬件支持特性,宜于在不同平臺上進行軟件移植;
5、保密性高,程序運行在保護模式下,防止重要的數據被截獲。
監控系統的Web 服務器采用開源的Apache 服務器。Apache 是一個單任務的HTTP 服務器,源代碼開放,性能高,支持認證和PHP 等,在嵌入式系統資源有限的情況下,它的快速性和可靠性非常適合于嵌入式系統的應用[3]。
基于PowerPC 平臺的Linux 操作系統的嵌入式Web 服務器搭建分為兩個方面:服務器環境搭建和服務器源碼交叉編譯。
在服務器環境搭建中,把定義的GCC 編譯器指定為pc-linux-gnuspe-gcc、交叉編譯數據壓縮用的函式庫(zlib)、字庫(freetype)、圖像壓縮庫(jpeg)、語言解析器(xml)、圖片識別(PNG)和腳本解析器(PHP)。
在Web 服務器源碼交叉編譯前,首先利用configure 命令引用已經搭建好的環境庫文件和參數配置。然后用pc-linux-gnuspe-gcc 編譯器進行交叉編譯,編譯成功后生成一個可運行在PowerPC 平臺下的httpd 可執行文件。然后在平臺上修改配置文件,在httpd.conf 文件中配置服務器的端口號、用戶信息和PHP 文檔存放目錄等參數信息,在httpd_mpm.conf 文件中配置服務器工作模式、進程等參數。至此,通過瀏覽器就可以訪問存放在服務器里的靜態PHP 網頁,實現對無線設備運行狀態的實時監控。
監控系統軟件采用分層、模塊化的結構設計[4],軟件分為3 層,第一層是界面層,提供給用戶操作使用的可視化界面;第二層是數據處理層,處理客戶的操作請求和采集到的設備數據等信息;第三層是接口層,負責服務器端與主控軟件模塊通信。
接口層采用Sokect 通道與主控軟件進行信息交互,包括用戶操作信息、設備運行狀態、設備操作記錄、報警事件和日志等數據信息。
數據處理層采用PHP 腳本語言建立各模塊之間的通信橋梁,通過與嵌入式Web 服務器之間的數據通信,實現對設備運行狀態和設備參數信息的實時讀取。基于JavaScript 語言進行Web 頁面各個程序的動態交互,維護系統中其它模塊之間的通信。
界面層接收來自數據處理層的實時數據和用戶操作指令,生成各種抽象的表格、曲線圖或圖形動畫等來顯示設備的運行狀態。其中,曲線圖以Jtopo、Highcharts 控件的組件方式設計,使Web 監控界面呈現出最直觀的設備監控效果。
客戶端的模塊化設計有利于將人機交互、動態數據和圖形動畫集成于一體的網絡遠程監控平臺的開發[4]。針對各種不同的應用場景的監控需求,可以靈活增減監控頁面,靈活組態出符合特定要求的監控界面,使系統監控平臺的設計具有良好的模塊性和可移植性。
客戶端訪問服務器端的流程如圖2 所示。通過瀏覽器執行JavaScript 腳本語言收集用戶在瀏覽器上的操作信息,通過Ajax 引擎傳到(HTTP 請求)Web服務器[5],由Web 服務器里的PHP 解析器進行信息處理,PHP 腳本程序通過Sokect 通道與Linux 系統中的主控模塊進行信息交互,并通過Web 服務器把交互返回的結果(PHP 數據)提交給客戶端頁面的Ajax 引擎,再由Ajax 引擎來決定將這些數據(HTML+CSSS 數據)插入到頁面的指定位置,生成各種抽象表格、曲線圖或圖形動畫等直觀的顯示效果界面[6]。

圖2 客戶端訪問服務器端流程
針對無線設備在不同應用場景下的監控需求,設計研發了3 種監控系統。根據不同的應用場景進行多點混合組網測試[7]。實際測試中的軟件界面如圖3 所示。

圖3 系統實測登錄界面
系統整體測試效果可歸納如下:
1) 保密性
在數據安全性的需求方面,系統提供了密碼訪問機制,用戶登錄時需要進行用戶名和密碼認證才可訪問本系統。每次跳轉頁面通過數據庫模塊進行用戶登錄的合法性驗證,防止非法訪問。每個頁面訪問內置了時效性功能,防止長時間訪問一個頁面造成設備關鍵信息泄密。在數據采集方面,數據采集軟件(以嵌入式腳本語言PHP 通過Socket 通道與Linux 系統中的主控模塊進行數據交互)只在服務器平臺中運行,瀏覽器顯示的都是裁剪過的數據,以此提高了軟件的保密性。
2) 設備狀態采集和控制
系統采用PHP 程序通過Socket 通道與主控模塊進行實時設備狀態信息交互,采集的設備數據在系統主界面上動態顯示,改善了遠程監控的實時性。用戶可根據實際需要,通過客戶端瀏覽器對上設備上的各個軟硬件模塊進行參數的配置、查詢等操作。
3) 實時網絡運行監控
系統的無線設備組網拓撲的監控圖像界面,是根據采集的路由信息[8],采用Jtopo 控件實現的。實時顯示接入網絡設備的設備號、IP 地址、北斗信息、路由鏈路連接情況等信息,可令監控端能夠隨時隨地用Web 瀏覽器監控設備組網情況。
4) 遠程控制
在線設備處在組網狀態下,使用PC 機通過以太網連接一個設備,連接進入設備局域網絡中,可以任意訪問此網絡中的設備中的Web 服務器,實現對遠程設備運行狀態實時測控。
隨著無線網絡通信技術、數據采集技術和嵌人式控制技術的迅猛發展,基于Linux 操作系統的嵌入式Web 的監控系統,擺脫了傳統的集中控制系統在設計、使用和維護上的諸多局限性,將成為現代監控技術發展的一個必然趨勢。在設計中提出的研發思路與實驗調試,都是在迎合這一發展趨勢,做出符合現有條件與現實需要的初步試探。對于系統的進一步完善與擴展,也將在后續的研究工作予以完成。