文獻(xiàn)標(biāo)識(shí)號(hào): A
文章編號(hào): 0258-7998(2012)01-0066-04
隨著無(wú)線傳感網(wǎng)絡(luò),、信息技術(shù)的迅猛發(fā)展,,互聯(lián)網(wǎng)的迅速普及和嵌入式系統(tǒng)的廣泛應(yīng)用,,計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù)已經(jīng)滲透到了各行各業(yè)。整個(gè)社會(huì)對(duì)計(jì)算機(jī)信息系統(tǒng)的依賴在不斷地加深,,信息傳輸更多采用網(wǎng)絡(luò)化與智能化,。因而對(duì)于機(jī)房信息的實(shí)時(shí)性、安全性,、穩(wěn)定性和維護(hù)管理方面提出更高的要求,。
ZigBee無(wú)線傳感網(wǎng)絡(luò)已經(jīng)在很多方面得到了廣泛的應(yīng)用,并且可達(dá)到運(yùn)行可靠穩(wěn)定,。有些機(jī)房當(dāng)中存在布線困難,、擴(kuò)展性和移植性差等問(wèn)題。面對(duì)現(xiàn)有機(jī)房監(jiān)控系統(tǒng)的弊端和局限性,,為了保證機(jī)房的安全運(yùn)行,,減輕機(jī)房維護(hù)人員負(fù)擔(dān),降低系統(tǒng)成本,,希望能有一套基于無(wú)線傳感器網(wǎng)絡(luò),,安裝方便、運(yùn)行穩(wěn)定可靠,、維護(hù)簡(jiǎn)單,、移植性好,、可遠(yuǎn)距離監(jiān)控,,同時(shí)具有經(jīng)濟(jì)性的數(shù)據(jù)實(shí)時(shí)采集的機(jī)房環(huán)境監(jiān)控系統(tǒng)。實(shí)現(xiàn)機(jī)房設(shè)備集中監(jiān)控,,監(jiān)視各種設(shè)備的狀態(tài)及參數(shù),,可診斷設(shè)備部件運(yùn)行情況,在發(fā)生異常狀況或故障時(shí)發(fā)出警報(bào),,并支持通過(guò)瀏覽器遠(yuǎn)程監(jiān)視設(shè)備運(yùn)行的情況[1,,2]。
1 系統(tǒng)構(gòu)架
整個(gè)系統(tǒng)分布部署拓?fù)鋱D如圖1所示,,大致可以劃分為五部分:ZigBee無(wú)線傳感網(wǎng)絡(luò),,數(shù)據(jù)采集終端IDU(Integrated Data Unit)、嵌入式服務(wù)器端,、報(bào)警端,、監(jiān)控中心與遠(yuǎn)程瀏覽站。
ZigBee無(wú)線傳感網(wǎng)絡(luò)主要負(fù)責(zé)對(duì)環(huán)境設(shè)備(如空調(diào),、漏水,、溫濕度、UPS,、電量?jī)x等)數(shù)據(jù)參數(shù)進(jìn)行采集,,以無(wú)線的方式進(jìn)行數(shù)據(jù)傳輸,,通過(guò)ZigBee協(xié)調(diào)處理器節(jié)點(diǎn)把采集到的數(shù)據(jù)上傳到IDU。IDU主要負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行整合,,上報(bào)到嵌入式服務(wù)器,,同時(shí), IDU也可以直接通過(guò)RS232/RS485等有線的方式接入環(huán)境設(shè)備采集數(shù)據(jù),。嵌入式服務(wù)器負(fù)責(zé)對(duì)采集到的數(shù)據(jù)進(jìn)行處理,、存儲(chǔ)、分析和執(zhí)行報(bào)警動(dòng)作,。報(bào)警設(shè)備主要有短信報(bào)警,、電話報(bào)警、聲光報(bào)警和郵件報(bào)警,。監(jiān)控中心與遠(yuǎn)程瀏覽站負(fù)責(zé)對(duì)機(jī)房的集中管理,,采集機(jī)房傳來(lái)的實(shí)時(shí)信息,并以表格和狀態(tài)圖的方式顯示在監(jiān)控中心計(jì)算機(jī)屏幕上,。管理員可以通過(guò)遠(yuǎn)程瀏覽站以WEB形式監(jiān)控設(shè)備中的狀態(tài)數(shù)據(jù),,也可以通過(guò)遠(yuǎn)程發(fā)命令來(lái)操縱監(jiān)控設(shè)備實(shí)施開(kāi)關(guān)等動(dòng)作。
2 硬件設(shè)計(jì)
硬件部分是本監(jiān)控系統(tǒng)的重要組成部分之一,,其指標(biāo)參數(shù)及可靠性決定了整個(gè)系統(tǒng)的性能,。為了監(jiān)控系統(tǒng)的需要,硬件要做到體積小,、價(jià)格低,、監(jiān)控參數(shù)精度高、可靠性高,、功耗低等[2],。
2.1 ZigBee無(wú)線傳感器
ZigBee模塊核心選擇CC2430芯片,它是由Chipcon公司推出的實(shí)現(xiàn)嵌入式ZigBee應(yīng)用的片上系統(tǒng),,是一顆真正的系統(tǒng)芯片(SoC)CMOS解決方案,。這種解決方案能夠提高性能并滿足以ZigBee為基礎(chǔ)的2.4 GHz ISM波段應(yīng)用,并能滿足系統(tǒng)低成本,、低功耗的要求,。它結(jié)合一個(gè)高性能2.4 GHz DSSS(直接序列擴(kuò)頻)射頻收發(fā)器核心和一顆工業(yè)級(jí)小巧高效的8051控制器。CC2430芯片需要很少的外圍部件配合就能實(shí)現(xiàn)信號(hào)的收發(fā)功能,,且外設(shè)資源豐富,。各個(gè)ZigBee終端節(jié)點(diǎn)主要是通過(guò)RS232/RS485與各設(shè)備(空調(diào)、UPS等)進(jìn)行通信,,采集各設(shè)備傳感器數(shù)據(jù),。
2.2 ARM9嵌入式系統(tǒng)
IDU和嵌入式服務(wù)器采用的都是軟硬件可裁減的嵌入式系統(tǒng)。嵌入式設(shè)備主控器件采用ARM9處理器。本系統(tǒng)運(yùn)用的是三星S3C2440,,片上有很多的資源,,集成了各種常用的接口,如串口、SPI,、I2C,、USB、LCD,、COMS,、CAMERA,A/D,、JTAG和系統(tǒng)總線等,。根據(jù)本系統(tǒng)的需要,裁減后硬件系統(tǒng)及接口的主要組成部分如圖2所示,,主要包括微控制器,、RTC晶振、電源電路,、復(fù)位電路,、看門狗、大容量Flash/SDRAM,、系統(tǒng)狀態(tài)指示,、以太網(wǎng)口、RS485,、RS232,、USB口、JTAG接口和A/D口,。S3C2440是基于ARM920T處理內(nèi)核,,具有低功耗,、高度集成性特性,,主頻400 MHz,最高533 MHz,,這個(gè)工作頻率能夠使處理器輕松運(yùn)行Windows CE,,Linux等操作系統(tǒng)以及進(jìn)行較為復(fù)雜的數(shù)據(jù)處理。選用64 MB SDRAM及256 MB Flash足夠滿足監(jiān)控?cái)?shù)據(jù)存儲(chǔ)及運(yùn)行Windows CE操作系統(tǒng)的要求,。在存儲(chǔ)不足的情況下可采用外界存儲(chǔ)器,,例如SD卡、U盤(pán)等設(shè)備,。
3 軟件設(shè)計(jì)
3.1 ZigBee程序設(shè)計(jì)
為了保證系統(tǒng)的可靠運(yùn)行,,必須選擇合適的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。ZigBee標(biāo)準(zhǔn)支持3種主要的自組織無(wú)線網(wǎng)絡(luò)類型,, 即星型結(jié)構(gòu),、網(wǎng)狀結(jié)構(gòu)和簇狀結(jié)構(gòu)[4],。本系統(tǒng)采用星型結(jié)構(gòu),星型拓?fù)浣Y(jié)構(gòu)只存在一個(gè)FFD(Full Functional Device)節(jié)點(diǎn),,各個(gè) RFD(Reduced Function Device)節(jié)點(diǎn)共享信道,,一定時(shí)間內(nèi)只有一個(gè)RFD節(jié)點(diǎn)和FFD節(jié)點(diǎn)通信。本系統(tǒng)協(xié)調(diào)器與路由器均由FFD構(gòu)成,,它們均有建立ZigBee網(wǎng)絡(luò)的能力,。協(xié)調(diào)器與路由器傳遞數(shù)據(jù)是雙向的,協(xié)調(diào)器一方面收集終端節(jié)點(diǎn)的數(shù)據(jù)包并發(fā)給IDU,,另一方面也將IDU從串口發(fā)來(lái)的控制信息發(fā)送到對(duì)應(yīng)的節(jié)點(diǎn),,路由器的工作是負(fù)責(zé)協(xié)調(diào)器與終端節(jié)點(diǎn)之間數(shù)據(jù)傳遞。ZigBee程序流程圖如圖3所示,。
3.2 WinCE及Web應(yīng)用程序設(shè)計(jì)
本系統(tǒng)后臺(tái)程序是基于WinCE/Win32上的應(yīng)用程序,,可在PC機(jī)和嵌入式計(jì)算機(jī)上部署。后臺(tái)采集程序,、管理程序和服務(wù)器程序由Lazarus開(kāi)發(fā)環(huán)境進(jìn)行開(kāi)發(fā),。Lazarus是一個(gè)基于Free Pascal的快速應(yīng)用(RAD)的面向?qū)ο蟮腜ascal集成開(kāi)發(fā)環(huán)境,不像Java致力于“一次編寫(xiě),,到處運(yùn)行”,,Lazarus和Free Pascal則致力于“一次編寫(xiě),到處編譯”,。由于對(duì)上述所有平臺(tái)有完全相同的編譯器,,這意味著使用者不需要重新編碼,就可以為不同的平臺(tái)開(kāi)發(fā)相同的產(chǎn)品,。因此,,編譯后可以部署在不同的核心控制器和操作系統(tǒng)上,為一次開(kāi)發(fā)多方面應(yīng)用提供了方便,,為不同的部署方案提供了靈活性,。基于Web的遠(yuǎn)程直觀可視化瀏覽界面采用的是基于C#的Microsoft Silverlight平臺(tái)進(jìn)行開(kāi)發(fā),。Microsoft Silverlight是一個(gè)跨瀏覽器,、跨客戶平臺(tái)的技術(shù),能夠設(shè)計(jì),、開(kāi)發(fā)和發(fā)布有多媒體體驗(yàn)與豐富交互的網(wǎng)絡(luò)交互程序,,使整個(gè)界面具有很好的直觀性和良好的視覺(jué)效果。整個(gè)軟件系統(tǒng)構(gòu)架如圖4所示,。
整個(gè)軟件系統(tǒng)主要由四部分組成,,數(shù)據(jù)采集終端(傳感服務(wù))、服務(wù)器端(中間件器服務(wù))、報(bào)警端(報(bào)警服務(wù))和Web界面(Web服務(wù)),。四部分之間通過(guò)PHPRPC協(xié)議進(jìn)行數(shù)據(jù)傳輸和交換,。PHPRPC 是一個(gè)輕型的、安全的,、跨網(wǎng)際的,、跨語(yǔ)言的、跨平臺(tái)的,、跨環(huán)境的,、跨域的、支持復(fù)雜對(duì)象傳輸?shù)?、支持引用參?shù)傳遞的,、支持內(nèi)容輸出重定向的、支持分級(jí)錯(cuò)誤處理的,、支持會(huì)話的,、面向服務(wù)的高性能遠(yuǎn)程過(guò)程調(diào)用協(xié)議。這使得彼此間的通信變得更加容易,、方便,、快速和穩(wěn)定。PHPRPC是建立在Socket之上的,,出于一種類比的愿望,,在一臺(tái)機(jī)器上運(yùn)行的主程序,可以調(diào)用遠(yuǎn)程另一套機(jī)器上的子程序,就像本地調(diào)用,。它是一種C/S開(kāi)發(fā)方法,,開(kāi)發(fā)效率高且可靠。比起Socket其實(shí)現(xiàn)過(guò)程簡(jiǎn)單,,只需要少量的語(yǔ)句便可以實(shí)現(xiàn)遠(yuǎn)程調(diào)用,,從而提高了開(kāi)發(fā)的效率和系統(tǒng)運(yùn)行的穩(wěn)定性及準(zhǔn)確性。
傳感器服務(wù),對(duì)于傳感器數(shù)據(jù)的采集是實(shí)時(shí)的,,對(duì)每個(gè)設(shè)備的工作是獨(dú)立的,。其流程圖如圖5(a)所示。中間件服務(wù)承擔(dān)著服務(wù)器的角色,,是數(shù)據(jù)傳輸?shù)闹修D(zhuǎn)站,,并且還負(fù)責(zé)對(duì)數(shù)據(jù)的檢查(數(shù)據(jù)和狀態(tài)是否達(dá)到報(bào)警值),、存儲(chǔ)和備份,。其流程圖如圖5(b)所示。報(bào)警服務(wù),,它只是負(fù)責(zé)對(duì)服務(wù)器傳來(lái)的報(bào)警信息進(jìn)行報(bào)警,。 其流程圖如圖5(c)所示。Web服務(wù)運(yùn)用Microsoft Silverlight平臺(tái)進(jìn)行開(kāi)發(fā),它是微軟所發(fā)展的 Web前端應(yīng)用程序開(kāi)發(fā)解決方案,,是微軟豐富型互聯(lián)網(wǎng)應(yīng)用程序策略的主要應(yīng)用程序開(kāi)發(fā)平臺(tái)之一,。能夠開(kāi)發(fā)出具有專業(yè)圖形、音頻和視頻的Web應(yīng)用程序,,可達(dá)到界面直觀,、豐富等效果。為了增強(qiáng)界面參數(shù)顯示的實(shí)時(shí)性,,數(shù)據(jù)采集終端采集上報(bào)到服務(wù)器中,,服務(wù)將把實(shí)時(shí)的數(shù)據(jù)保存在內(nèi)存當(dāng)中。Web通過(guò)PHPRPC協(xié)議從服務(wù)器中調(diào)回實(shí)時(shí)數(shù)據(jù)時(shí),,不是通過(guò)服務(wù)器查詢數(shù)據(jù)庫(kù)得到,,而是通過(guò)服務(wù)器內(nèi)存直接取回。這樣,,通過(guò)內(nèi)存訪問(wèn)的形式不僅減輕了服務(wù)器的壓力,,同時(shí)也提高數(shù)據(jù)更新的實(shí)時(shí)性,提高了整個(gè)系統(tǒng)的性能,。
4 系統(tǒng)的調(diào)試與運(yùn)行
本系統(tǒng)在某機(jī)房的支持下,,投入調(diào)試運(yùn)行,運(yùn)行的性能達(dá)到了預(yù)期的要求,。先開(kāi)啟無(wú)線網(wǎng)絡(luò)協(xié)調(diào)處理器,,然后開(kāi)啟網(wǎng)絡(luò)路由節(jié)點(diǎn)和各個(gè)終端節(jié)點(diǎn)建立無(wú)線傳感網(wǎng)絡(luò),運(yùn)行嵌入式服務(wù)器和IDU采集終端,。通過(guò)PC機(jī)運(yùn)行遠(yuǎn)程Web界面,,運(yùn)行測(cè)試達(dá)到很好的實(shí)時(shí)性、快速性,、穩(wěn)定性,。
通過(guò)投入機(jī)房運(yùn)行實(shí)踐證明,無(wú)線傳器網(wǎng)絡(luò)技術(shù)可以很好地應(yīng)用到機(jī)房監(jiān)控系統(tǒng)當(dāng)中,,而且具有很好的準(zhǔn)確性,、實(shí)時(shí)性、快速性和穩(wěn)定性,。由Silverlight開(kāi)發(fā)的Web界面具有很好地直觀性,、富交互性和動(dòng)畫(huà)性。為了提高ZigBee無(wú)線傳感網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)臏?zhǔn)確率和機(jī)房的抗干擾能力,,加大傳輸距離,,可以采取天線放高、增大發(fā)射功率,、提高接收靈敏度等措施,。使用中繼模塊縮短傳輸距離可以很好地提高整體性能,。不用2.4 GHz,而使用低頻率傳輸,,可使穿透能力增大很多,。
ZigBee無(wú)線傳感網(wǎng)絡(luò)嵌入式技術(shù)應(yīng)用領(lǐng)域愈來(lái)愈廣泛,硬件性能上也在不斷提升,,不斷地在擴(kuò)大應(yīng)用領(lǐng)域,。本系統(tǒng)的架構(gòu)可以很好地移植到其他監(jiān)控和數(shù)據(jù)采集系統(tǒng)等不同應(yīng)用場(chǎng)合當(dāng)中。
參考文獻(xiàn)
[1] 李念強(qiáng),,魏長(zhǎng)智,,潘建軍,等.?dāng)?shù)據(jù)采集技術(shù)與系統(tǒng)設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2009.
[2] 李淼,,劉瀾濤,,詹宏聃.遠(yuǎn)程機(jī)房監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].中國(guó)教育網(wǎng)絡(luò),2009(Z1):113-115.
[3] BEAUMONT S P. The SOC challenge[J]. IEEE Electronics & Communication Engineering Journal, 2001,13(6):234-235.
[4] 孫學(xué)巖.基于 Zigbee無(wú)線傳感器網(wǎng)絡(luò)的溫室測(cè)控系統(tǒng)[J].儀表技術(shù)與傳感器,,2010(8):47-49.
[5] 趙展春.基于無(wú)線傳感器網(wǎng)絡(luò)的機(jī)房環(huán)境監(jiān)控系統(tǒng)實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),,2008,29(7):1869-1871.