王富強(qiáng),曾 凌,張運(yùn)福,陳宏波,唐 瑜
(重慶金美通信有限責(zé)任公司,重慶400030)
隨著瀏覽器技術(shù)的普及,瀏覽器提供的圖形化界面越來越友好,在監(jiān)控系統(tǒng)方面,運(yùn)用Web 技術(shù)的監(jiān)控,已逐漸成為眾多類型監(jiān)控系統(tǒng)不可或缺的一部分。其中,基于嵌入式Linux 系統(tǒng)的無線通信設(shè)備的Web 遠(yuǎn)程監(jiān)控系統(tǒng),結(jié)合了先進(jìn)的Web 技術(shù)和嵌入式技術(shù),可通過Web 技術(shù)實(shí)現(xiàn)客戶端與服務(wù)器端的跨平臺(tái)信息交互,具有功能強(qiáng)大、實(shí)時(shí)性強(qiáng)、可靠性高和結(jié)構(gòu)小巧等優(yōu)點(diǎn)[1-2]。
在對(duì)系統(tǒng)的控制設(shè)備進(jìn)行設(shè)計(jì)時(shí),采用以太網(wǎng)通信,同時(shí)在設(shè)備內(nèi)部嵌入WEB 服務(wù)器,通過PC機(jī)的瀏覽器訪問設(shè)備的IP 地址,就可以直接對(duì)設(shè)備進(jìn)行控制與監(jiān)測(cè)??蛻舳藷o需開發(fā)任何用戶界面,用戶也不需要下載安裝特殊的控制軟件,只需通過PC機(jī)上的瀏覽器就能遠(yuǎn)程訪問設(shè)備上的Web 界面,達(dá)到對(duì)設(shè)備狀態(tài)實(shí)時(shí)監(jiān)控的目的。由此降低了Web 監(jiān)控系統(tǒng)軟件的開發(fā)難度,縮短了開發(fā)周期,節(jié)約了研發(fā)成本,同時(shí)也有助于提高Web 監(jiān)控系統(tǒng)軟件的實(shí)用性和移植性。
系統(tǒng)的客戶端采用支持HTML5 的瀏覽器,服務(wù)器采用開源的Apache 服務(wù)器,后端采用基于PHP 語言的腳本程序,數(shù)據(jù)庫采用支持XML 的主控軟件。以無線通信設(shè)備作為監(jiān)控對(duì)象,監(jiān)控目標(biāo)包括:設(shè)備運(yùn)行狀態(tài)、設(shè)備性能、設(shè)備參數(shù)的配置和查詢操作、文件下載和上傳功能。
系統(tǒng)的開發(fā)體系結(jié)構(gòu)采用Brower/Server(即B/S)系統(tǒng)架構(gòu)。在每個(gè)設(shè)備中搭建一個(gè)Web 服務(wù)器,通過以太網(wǎng)連接一個(gè)設(shè)備,接入設(shè)備局域網(wǎng)絡(luò)中,可以任意訪問此網(wǎng)絡(luò)中的設(shè)備中的Web 服務(wù)器,實(shí)現(xiàn)局域網(wǎng)內(nèi)所有設(shè)備的實(shí)時(shí)監(jiān)控。簡(jiǎn)單的場(chǎng)景應(yīng)用網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1 所示。
圖1 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
在整個(gè)網(wǎng)絡(luò)中,客戶端和服務(wù)器端之間節(jié)點(diǎn)不對(duì)HTTP 請(qǐng)求及響應(yīng)做任何操作,用戶在PC 機(jī)上的瀏覽器中輸入目的設(shè)備的IP 地址,就可以訪問相應(yīng)的無線設(shè)備的Web 監(jiān)控界面。
按照此法設(shè)計(jì)的監(jiān)控系統(tǒng)架構(gòu)的優(yōu)勢(shì)如下:
(1) 具有分布式特點(diǎn),具備實(shí)時(shí)業(yè)務(wù)處理能力;
(2) 開發(fā)簡(jiǎn)便,共享性強(qiáng):只需在服務(wù)器端進(jìn)行網(wǎng)頁程序開發(fā),客戶端只需瀏覽器就可以訪問,降低了用戶的總體成本,提高了監(jiān)控系統(tǒng)的實(shí)用性和可移植性;
(3) 軟件升級(jí)和維護(hù)方便快捷:進(jìn)行軟件升級(jí)和維護(hù)操作時(shí),不需要關(guān)閉服務(wù)器,只需對(duì)服務(wù)器端網(wǎng)頁程序進(jìn)行替換,即可實(shí)現(xiàn)用戶端的Web 監(jiān)控界面在線同步更新,以此減輕了Web 監(jiān)控系統(tǒng)維護(hù)與升級(jí)的成本和工作量。
無線通信設(shè)備采用的是基于PC(PowerPC)平臺(tái)的Linux 操作系統(tǒng)。嵌入式Linux 系統(tǒng)具有以下幾個(gè)特點(diǎn):
1、內(nèi)核源碼完全開放,用戶可以根據(jù)具體的應(yīng)用需求對(duì)內(nèi)核源碼進(jìn)行修改和優(yōu)化,實(shí)現(xiàn)內(nèi)核源碼的定制化;
2、具有強(qiáng)大的網(wǎng)絡(luò)支持功能,支持TCP/IP 協(xié)議;
3、擁有便捷的開發(fā)工具,能為開發(fā)人員提供多種開源的開發(fā)者工具,方便開發(fā)人員對(duì)Web 應(yīng)用軟件的開發(fā),節(jié)約了Web 監(jiān)控系統(tǒng)軟件的開發(fā)成本,提高了Web 監(jiān)控系統(tǒng)軟件的開發(fā)效率;
4、具有廣泛的硬件支持特性,宜于在不同平臺(tái)上進(jìn)行軟件移植;
5、保密性高,程序運(yùn)行在保護(hù)模式下,防止重要的數(shù)據(jù)被截獲。
監(jiān)控系統(tǒng)的Web 服務(wù)器采用開源的Apache 服務(wù)器。Apache 是一個(gè)單任務(wù)的HTTP 服務(wù)器,源代碼開放,性能高,支持認(rèn)證和PHP 等,在嵌入式系統(tǒng)資源有限的情況下,它的快速性和可靠性非常適合于嵌入式系統(tǒng)的應(yīng)用[3]。
基于PowerPC 平臺(tái)的Linux 操作系統(tǒng)的嵌入式Web 服務(wù)器搭建分為兩個(gè)方面:服務(wù)器環(huán)境搭建和服務(wù)器源碼交叉編譯。
在服務(wù)器環(huán)境搭建中,把定義的GCC 編譯器指定為pc-linux-gnuspe-gcc、交叉編譯數(shù)據(jù)壓縮用的函式庫(zlib)、字庫(freetype)、圖像壓縮庫(jpeg)、語言解析器(xml)、圖片識(shí)別(PNG)和腳本解析器(PHP)。
在Web 服務(wù)器源碼交叉編譯前,首先利用configure 命令引用已經(jīng)搭建好的環(huán)境庫文件和參數(shù)配置。然后用pc-linux-gnuspe-gcc 編譯器進(jìn)行交叉編譯,編譯成功后生成一個(gè)可運(yùn)行在PowerPC 平臺(tái)下的httpd 可執(zhí)行文件。然后在平臺(tái)上修改配置文件,在httpd.conf 文件中配置服務(wù)器的端口號(hào)、用戶信息和PHP 文檔存放目錄等參數(shù)信息,在httpd_mpm.conf 文件中配置服務(wù)器工作模式、進(jìn)程等參數(shù)。至此,通過瀏覽器就可以訪問存放在服務(wù)器里的靜態(tài)PHP 網(wǎng)頁,實(shí)現(xiàn)對(duì)無線設(shè)備運(yùn)行狀態(tài)的實(shí)時(shí)監(jiān)控。
監(jiān)控系統(tǒng)軟件采用分層、模塊化的結(jié)構(gòu)設(shè)計(jì)[4],軟件分為3 層,第一層是界面層,提供給用戶操作使用的可視化界面;第二層是數(shù)據(jù)處理層,處理客戶的操作請(qǐng)求和采集到的設(shè)備數(shù)據(jù)等信息;第三層是接口層,負(fù)責(zé)服務(wù)器端與主控軟件模塊通信。
接口層采用Sokect 通道與主控軟件進(jìn)行信息交互,包括用戶操作信息、設(shè)備運(yùn)行狀態(tài)、設(shè)備操作記錄、報(bào)警事件和日志等數(shù)據(jù)信息。
數(shù)據(jù)處理層采用PHP 腳本語言建立各模塊之間的通信橋梁,通過與嵌入式Web 服務(wù)器之間的數(shù)據(jù)通信,實(shí)現(xiàn)對(duì)設(shè)備運(yùn)行狀態(tài)和設(shè)備參數(shù)信息的實(shí)時(shí)讀取?;贘avaScript 語言進(jìn)行Web 頁面各個(gè)程序的動(dòng)態(tài)交互,維護(hù)系統(tǒng)中其它模塊之間的通信。
界面層接收來自數(shù)據(jù)處理層的實(shí)時(shí)數(shù)據(jù)和用戶操作指令,生成各種抽象的表格、曲線圖或圖形動(dòng)畫等來顯示設(shè)備的運(yùn)行狀態(tài)。其中,曲線圖以Jtopo、Highcharts 控件的組件方式設(shè)計(jì),使Web 監(jiān)控界面呈現(xiàn)出最直觀的設(shè)備監(jiān)控效果。
客戶端的模塊化設(shè)計(jì)有利于將人機(jī)交互、動(dòng)態(tài)數(shù)據(jù)和圖形動(dòng)畫集成于一體的網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控平臺(tái)的開發(fā)[4]。針對(duì)各種不同的應(yīng)用場(chǎng)景的監(jiān)控需求,可以靈活增減監(jiān)控頁面,靈活組態(tài)出符合特定要求的監(jiān)控界面,使系統(tǒng)監(jiān)控平臺(tái)的設(shè)計(jì)具有良好的模塊性和可移植性。
客戶端訪問服務(wù)器端的流程如圖2 所示。通過瀏覽器執(zhí)行JavaScript 腳本語言收集用戶在瀏覽器上的操作信息,通過Ajax 引擎?zhèn)鞯剑℉TTP 請(qǐng)求)Web服務(wù)器[5],由Web 服務(wù)器里的PHP 解析器進(jìn)行信息處理,PHP 腳本程序通過Sokect 通道與Linux 系統(tǒng)中的主控模塊進(jìn)行信息交互,并通過Web 服務(wù)器把交互返回的結(jié)果(PHP 數(shù)據(jù))提交給客戶端頁面的Ajax 引擎,再由Ajax 引擎來決定將這些數(shù)據(jù)(HTML+CSSS 數(shù)據(jù))插入到頁面的指定位置,生成各種抽象表格、曲線圖或圖形動(dòng)畫等直觀的顯示效果界面[6]。
圖2 客戶端訪問服務(wù)器端流程
針對(duì)無線設(shè)備在不同應(yīng)用場(chǎng)景下的監(jiān)控需求,設(shè)計(jì)研發(fā)了3 種監(jiān)控系統(tǒng)。根據(jù)不同的應(yīng)用場(chǎng)景進(jìn)行多點(diǎn)混合組網(wǎng)測(cè)試[7]。實(shí)際測(cè)試中的軟件界面如圖3 所示。
圖3 系統(tǒng)實(shí)測(cè)登錄界面
系統(tǒng)整體測(cè)試效果可歸納如下:
1) 保密性
在數(shù)據(jù)安全性的需求方面,系統(tǒng)提供了密碼訪問機(jī)制,用戶登錄時(shí)需要進(jìn)行用戶名和密碼認(rèn)證才可訪問本系統(tǒng)。每次跳轉(zhuǎn)頁面通過數(shù)據(jù)庫模塊進(jìn)行用戶登錄的合法性驗(yàn)證,防止非法訪問。每個(gè)頁面訪問內(nèi)置了時(shí)效性功能,防止長(zhǎng)時(shí)間訪問一個(gè)頁面造成設(shè)備關(guān)鍵信息泄密。在數(shù)據(jù)采集方面,數(shù)據(jù)采集軟件(以嵌入式腳本語言PHP 通過Socket 通道與Linux 系統(tǒng)中的主控模塊進(jìn)行數(shù)據(jù)交互)只在服務(wù)器平臺(tái)中運(yùn)行,瀏覽器顯示的都是裁剪過的數(shù)據(jù),以此提高了軟件的保密性。
2) 設(shè)備狀態(tài)采集和控制
系統(tǒng)采用PHP 程序通過Socket 通道與主控模塊進(jìn)行實(shí)時(shí)設(shè)備狀態(tài)信息交互,采集的設(shè)備數(shù)據(jù)在系統(tǒng)主界面上動(dòng)態(tài)顯示,改善了遠(yuǎn)程監(jiān)控的實(shí)時(shí)性。用戶可根據(jù)實(shí)際需要,通過客戶端瀏覽器對(duì)上設(shè)備上的各個(gè)軟硬件模塊進(jìn)行參數(shù)的配置、查詢等操作。
3) 實(shí)時(shí)網(wǎng)絡(luò)運(yùn)行監(jiān)控
系統(tǒng)的無線設(shè)備組網(wǎng)拓?fù)涞谋O(jiān)控圖像界面,是根據(jù)采集的路由信息[8],采用Jtopo 控件實(shí)現(xiàn)的。實(shí)時(shí)顯示接入網(wǎng)絡(luò)設(shè)備的設(shè)備號(hào)、IP 地址、北斗信息、路由鏈路連接情況等信息,可令監(jiān)控端能夠隨時(shí)隨地用Web 瀏覽器監(jiān)控設(shè)備組網(wǎng)情況。
4) 遠(yuǎn)程控制
在線設(shè)備處在組網(wǎng)狀態(tài)下,使用PC 機(jī)通過以太網(wǎng)連接一個(gè)設(shè)備,連接進(jìn)入設(shè)備局域網(wǎng)絡(luò)中,可以任意訪問此網(wǎng)絡(luò)中的設(shè)備中的Web 服務(wù)器,實(shí)現(xiàn)對(duì)遠(yuǎn)程設(shè)備運(yùn)行狀態(tài)實(shí)時(shí)測(cè)控。
隨著無線網(wǎng)絡(luò)通信技術(shù)、數(shù)據(jù)采集技術(shù)和嵌人式控制技術(shù)的迅猛發(fā)展,基于Linux 操作系統(tǒng)的嵌入式Web 的監(jiān)控系統(tǒng),擺脫了傳統(tǒng)的集中控制系統(tǒng)在設(shè)計(jì)、使用和維護(hù)上的諸多局限性,將成為現(xiàn)代監(jiān)控技術(shù)發(fā)展的一個(gè)必然趨勢(shì)。在設(shè)計(jì)中提出的研發(fā)思路與實(shí)驗(yàn)調(diào)試,都是在迎合這一發(fā)展趨勢(shì),做出符合現(xiàn)有條件與現(xiàn)實(shí)需要的初步試探。對(duì)于系統(tǒng)的進(jìn)一步完善與擴(kuò)展,也將在后續(xù)的研究工作予以完成。