基于ZigBee的大壩監(jiān)測(cè)系統(tǒng)接收終端研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:針對(duì)目前國內(nèi)大壩狀況監(jiān)測(cè)系統(tǒng)存在結(jié)構(gòu)復(fù)雜、成本過高、難以長(zhǎng)期監(jiān)測(cè)等一系列問題,提出了一種基于ZigBee技術(shù)的大壩狀況監(jiān)測(cè)系統(tǒng)接收終端。該終端基于ARM硬件平臺(tái)和嵌入式Linux軟件平臺(tái),通過ZigBee無線方式接收各種參數(shù),并對(duì)數(shù)據(jù)進(jìn)行分析、存儲(chǔ)、查詢等操作。工作人員通過用戶界面可以直觀獲取當(dāng)前大壩狀態(tài)參數(shù)信息,并通過對(duì)歷史數(shù)據(jù)的分析對(duì)比,得出大壩狀態(tài)參數(shù)的變化趨勢(shì),從而滿足對(duì)大壩進(jìn)行長(zhǎng)期實(shí)時(shí)監(jiān)測(cè)的要求。
關(guān)鍵詞:大壩監(jiān)測(cè);ZigBee;ARM;Linux
0 引言
我國領(lǐng)土廣闊,地質(zhì)條件復(fù)雜,而且地震,火山等地殼活動(dòng)分布普遍,導(dǎo)致近年來地質(zhì)災(zāi)害頻發(fā),對(duì)災(zāi)害地區(qū)的基礎(chǔ)設(shè)施造成了嚴(yán)重破壞,并對(duì)人民的生活生產(chǎn)帶來了安全隱患。大壩作為重要的基礎(chǔ)設(shè)施,投資巨大,使用期長(zhǎng),如果發(fā)生潰壩等事故會(huì)造成更大的災(zāi)害,因此大壩的安全性是水電開發(fā)建設(shè)首要解決的問題,對(duì)大壩安全工作狀況的監(jiān)測(cè)是一項(xiàng)長(zhǎng)期而重要的工作。
由于技術(shù)水平的限制,長(zhǎng)期以來,我國對(duì)大壩的安全監(jiān)測(cè)主要以人工方法為主。這種方法不能及時(shí)掌握大壩的安全狀況,又需監(jiān)測(cè)人員具有豐富的經(jīng)驗(yàn),同時(shí)對(duì)人力、物力消耗過大,且誤差較大?,F(xiàn)有的一些有線監(jiān)測(cè)系統(tǒng)設(shè)備復(fù)雜,加之大壩周圍建設(shè)條件惡劣,經(jīng)常難以有效布放。本文提出了一種基于ZigBee的大壩無線網(wǎng)絡(luò)監(jiān)測(cè)系統(tǒng)接收終端,以ZigBee無線監(jiān)測(cè)系統(tǒng)來代替人工監(jiān)測(cè)和有線監(jiān)測(cè),提高了監(jiān)測(cè)和評(píng)估的可靠性和實(shí)時(shí)性。采用ZigBee技術(shù)的大壩監(jiān)測(cè)系統(tǒng),可滿足對(duì)大壩安全狀況長(zhǎng)期實(shí)時(shí)監(jiān)測(cè)的要求。
1 ZigBee技術(shù)
ZigBee技術(shù)是一種新興的低耗電、低速率、低成本、結(jié)構(gòu)簡(jiǎn)單、可靠性高的無線通信技術(shù),頻段為2.4 GHz、868 MHz(歐洲)及915 MHz(美國),為免執(zhí)照頻段,它使得在低電能和低吞吐量的應(yīng)用環(huán)境中使用無線連接成為可能,便于移植在各種設(shè)備中,適合于電子自動(dòng)控制監(jiān)測(cè)等領(lǐng)域。Z-Stack是TI公司開發(fā)的符合ZigBee規(guī)范2006的ZigBee協(xié)議棧。Z-Stack支持多種開發(fā)平臺(tái),包括CC2430 SoC(System-on-chip,片上系統(tǒng))和CC2420+MSP430平臺(tái)。它具有以下特性:兼容ZigBee規(guī)范2006;支持多種平臺(tái);簡(jiǎn)單的應(yīng)用開發(fā)環(huán)境;簡(jiǎn)單的面向開發(fā)者的API;支持空中下載;具有無線節(jié)點(diǎn)定位能力等功能。Z-Stack采用模塊化設(shè)計(jì)方法,基于ZigBee規(guī)范中的協(xié)議棧架構(gòu)進(jìn)行設(shè)計(jì)。它將協(xié)議棧架構(gòu)中不同的層以一單獨(dú)的模塊來實(shí)現(xiàn),本層模塊向其上層模塊提供特定服務(wù),模塊之間的通信通過接口來實(shí)現(xiàn),此外,它還設(shè)計(jì)實(shí)現(xiàn)了其他管理和輔助模塊。通常每一個(gè)模塊包含的源文件的文件名以特定字符串開頭,通過文件名就可以很容易判斷該文件是屬于哪一個(gè)模塊并實(shí)現(xiàn)何種功能。部分模塊以庫的形式提供,只提供模塊的接口定義,無法查看具體的實(shí)現(xiàn)細(xì)節(jié)。對(duì)于用戶應(yīng)用來說,這部分代碼不需要改變,只需要根據(jù)接口定義去了解該模塊提供什么樣的服務(wù)即可。這樣的封裝既防止了用戶對(duì)協(xié)議棧關(guān)鍵部分的誤改,也避免了用戶在開發(fā)過程中浪費(fèi)大量時(shí)間去讀一些與應(yīng)用實(shí)現(xiàn)無關(guān)的代碼,在一定程度上加速了應(yīng)用程序的開發(fā)。
2 系統(tǒng)設(shè)計(jì)
大壩監(jiān)測(cè)系統(tǒng)由前端采集終端、接收終端兩部分組成。每個(gè)前端采集模塊固定于大壩應(yīng)力截面處,當(dāng)監(jiān)測(cè)人員靠近大壩開啟手持的接收終端后,采集終端ZigBee模塊被喚醒并與手持接收終端的ZigBee模塊建立連接,并將傳感器(包括壓阻式傳感器,垂線儀傳感器,靜力水準(zhǔn)傳感器,差動(dòng)電阻式傳感器等)采集到的數(shù)據(jù)發(fā)送給接收終端,接收終端將接收到的數(shù)據(jù)存儲(chǔ)并分析。系統(tǒng)框架如圖1所示。限于篇幅,本文著重論述接收終端部分。
[!--empirenews.page--]
3 接收終端硬件設(shè)計(jì)
手持接收終端利用ZigBee無線模塊實(shí)現(xiàn)無線數(shù)據(jù)接收,接收到的數(shù)據(jù)通過核心處理器完成數(shù)據(jù)的分析和處理。接收終端硬件組成框圖如圖2所示。
由于接收終端要完成信息接收、信息顯示、信息存儲(chǔ)、信息查詢,需要支持無線網(wǎng)絡(luò),對(duì)數(shù)據(jù)處理能力的要求較高,本設(shè)計(jì)選擇Samsung公司的S3C2410嵌入式處理器作為核心處理器。
ZigBee模塊選用CC2430模塊。CC2430是TI公司生產(chǎn)的符合ZigBee標(biāo)準(zhǔn)的射頻收發(fā)器,工作在2.4 GHz,采用直接序列擴(kuò)頻方式,數(shù)據(jù)傳輸率最高250 Kb/s,供電電壓為3.6 V,可方便移植Z-Stack協(xié)議棧。
存儲(chǔ)單元包括兩片16位數(shù)據(jù)寬度的SDRAM存儲(chǔ)器和FLASH存儲(chǔ)器。FLASH存儲(chǔ)包括32 MB的NOR FLASH存儲(chǔ)器和8 MB的NAND FLASH存儲(chǔ)器,NOR FLASH支持程序芯片內(nèi)執(zhí)行,大大提高了程序執(zhí)行速度,用于存放啟動(dòng)代碼Bootloader,Linux內(nèi)核映象等。
NAND FLASH能提供極高的單元密度,可以達(dá)到高存儲(chǔ)密度,價(jià)格低廉,寫入和擦除的速度也很快。用來存放Linux文件系統(tǒng)和用戶程序。
LCD顯示器負(fù)責(zé)對(duì)采集到的數(shù)據(jù)進(jìn)行顯示,USB存儲(chǔ)單元用來存儲(chǔ)接收到的大壩工作狀況參數(shù)數(shù)據(jù),監(jiān)測(cè)人員可以通過對(duì)接收到的大量歷史數(shù)據(jù)查詢和分析,為后期的工作決策提供參考。
4 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)的軟件框架主要基于嵌入式Linux操作系統(tǒng)實(shí)現(xiàn)系統(tǒng)功能,包括嵌入式系統(tǒng)引導(dǎo)程序Bootloader,Linux系統(tǒng)內(nèi)核,文件系統(tǒng),應(yīng)用程序。Bootloader主要完成初始化硬件設(shè)備、建立內(nèi)存空間的映射圖的任務(wù),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。本方案選用較為成熟的U-boot作為Bootloader。它操作簡(jiǎn)便,同時(shí)提供了完備的命令體系,支持S3C2410處理器。Linux系統(tǒng)內(nèi)核分為設(shè)備驅(qū)動(dòng)程序,網(wǎng)絡(luò)堆棧,內(nèi)存管理,進(jìn)程管理,虛擬文件系統(tǒng),系統(tǒng)調(diào)用接口。文件系統(tǒng)分為系統(tǒng)文件系統(tǒng),用戶文件系統(tǒng)。接收終端的應(yīng)用程序根據(jù)需求分為數(shù)據(jù)顯示,歷史數(shù)據(jù)查詢,數(shù)據(jù)存儲(chǔ)三個(gè)模塊。整個(gè)軟件結(jié)構(gòu)如圖3所示。
4.1 嵌入式Linux操作系統(tǒng)
嵌入式Linux(Embedded Linux)是指對(duì)Linux經(jīng)過裁剪小型化后,可固化在存儲(chǔ)器或單片機(jī)中,應(yīng)用于特定嵌入式場(chǎng)合的專用Linux操作系統(tǒng)。嵌入式Linux的開發(fā)和研究已經(jīng)成為目前操作系統(tǒng)領(lǐng)域的一個(gè)熱點(diǎn)。與其他嵌入式操作系統(tǒng)相比,Linux的特點(diǎn)如表1所示。
[!--empirenews.page--]
4.2 設(shè)備驅(qū)動(dòng)程序開發(fā)
在Linux操作系統(tǒng)下有兩類主要的設(shè)備文件類型,一類是字符設(shè)備,另一類是塊設(shè)備。字符設(shè)備和塊設(shè)備的主要區(qū)別是:在對(duì)字符設(shè)備發(fā)出讀/寫請(qǐng)求時(shí),實(shí)際的硬件I/O一般就緊接著發(fā)生了,塊設(shè)備則是利用一塊系統(tǒng)內(nèi)存作緩沖區(qū),當(dāng)用戶進(jìn)程對(duì)設(shè)備請(qǐng)求能滿足用戶的要求,就返回請(qǐng)求的數(shù)據(jù),如果不能,就調(diào)用請(qǐng)求函數(shù)來進(jìn)行實(shí)際的I/O操作。塊設(shè)備是主要針對(duì)磁盤等慢速設(shè)備設(shè)計(jì)的,以免耗費(fèi)過多的CPU時(shí)間來等待。
本系統(tǒng)主要是對(duì)ZigBee模塊的串口驅(qū)動(dòng),屬于字符設(shè)備驅(qū)動(dòng)程序。主要包括open,close,read,write,ioctl等函數(shù),把它們統(tǒng)一定義在結(jié)構(gòu)體file operations中。
4.3 應(yīng)用程序設(shè)計(jì)
接收終端的應(yīng)用程序開發(fā)根據(jù)系統(tǒng)功能的需求采用模塊化的設(shè)計(jì)方案,具體有如下幾個(gè)主要功能模塊:數(shù)據(jù)收發(fā)模塊、數(shù)據(jù)存儲(chǔ)模塊、數(shù)據(jù)查詢模塊、系統(tǒng)界面模塊。
手持接收終端軟件采用多線程實(shí)現(xiàn)模塊化,主要包括主程序、數(shù)據(jù)收發(fā)線程、數(shù)據(jù)顯示線程。系統(tǒng)上電后,主程序首先執(zhí)行,完成系統(tǒng)硬件初始化,配置ZigBee模塊參數(shù),然后創(chuàng)建收發(fā)線程、顯示線程兩個(gè)線程,如圖4所示。線程任務(wù)都結(jié)束后,如無系統(tǒng)命令,則ZigBee模塊進(jìn)入節(jié)電模式,主程序退出。收發(fā)線程先要調(diào)用CreateFile函數(shù)打開串口,設(shè)置串口參數(shù),通過ZigBee模塊發(fā)送控制指令與采集前端建立無線通信,然后調(diào)用writeFile函數(shù)接收并存儲(chǔ)數(shù)據(jù),數(shù)據(jù)讀寫完畢后關(guān)閉串口退出線程。顯示線程負(fù)責(zé)將接收到的數(shù)據(jù)經(jīng)過處理器二次處理后,通過人機(jī)交互界面顯示到LCD上。
5 結(jié)論
基于ZigBee的大壩監(jiān)測(cè)接收終端,利用低功耗的ZigBee技術(shù)將前端采集模塊獲得的大壩結(jié)構(gòu)應(yīng)力應(yīng)變、裂縫、滲流滲壓等重要狀態(tài)參數(shù),接收并存儲(chǔ)。分析人員可及時(shí)由接收終端獲取大壩的參數(shù)信息,為大壩的安全評(píng)判提供了一種方便可靠的方法。
該技術(shù)比傳統(tǒng)方法維護(hù)簡(jiǎn)單,監(jiān)測(cè)靈活,具有很強(qiáng)的實(shí)踐價(jià)值。接收終端基于ARM9硬件平臺(tái),嵌入式Linux操作系統(tǒng)軟件平臺(tái)和ZigBee無線通信技術(shù),通過無線方式發(fā)送接收各種參數(shù),并對(duì)數(shù)據(jù)進(jìn)行分析、存儲(chǔ)、查詢等操作。工作人員通過人機(jī)交互界面可以直觀獲取當(dāng)前大壩狀態(tài)參數(shù)信息,并通過歷史數(shù)據(jù)的分析對(duì)比,得出大壩狀態(tài)參數(shù)的變化趨勢(shì),從而滿足對(duì)大壩進(jìn)行長(zhǎng)期實(shí)時(shí)監(jiān)測(cè)的要求。