無線傳感器網(wǎng)絡(luò)的橋梁監(jiān)測系統(tǒng)研究
1、引言
無線傳感器網(wǎng)絡(luò)WSN(Wireless Sensol Network)是計算機(jī)、通信和傳感器三項技術(shù)相結(jié)合的產(chǎn)物,是目前計算機(jī)科學(xué)領(lǐng)域一個非?;钴S的研究分支。2003年2月美國技術(shù)*論雜志(《Technology Review》)*出對人類未來生活產(chǎn)生深遠(yuǎn)影響的十大新技術(shù),無線傳感器網(wǎng)絡(luò)被列為第一。通過無線傳感器網(wǎng)絡(luò),能夠?qū)崟r地監(jiān)測、感知和采集其節(jié)點(diǎn)部署區(qū)的觀察者感興趣的感知對象的各種信息(如溫度、濕度、應(yīng)變、撓度、振動等物理現(xiàn)象),并對這些信息進(jìn)行處理后以無線的方式發(fā)送出去,通過無線網(wǎng)絡(luò)最終發(fā)送給觀察者。無線傳感器網(wǎng)絡(luò)在軍事偵察、醫(yī)療護(hù)理、 智能家居、 工業(yè)生產(chǎn)控制、 環(huán)境監(jiān)測等領(lǐng)域有著廣闊的應(yīng)用前景。橋梁結(jié)構(gòu)健康監(jiān)測系統(tǒng)是一個特殊的環(huán)境監(jiān)測系統(tǒng)。
橋梁是交通運(yùn)輸網(wǎng)絡(luò)的重要組成部分,一旦橋梁出現(xiàn)坍塌, 造成的經(jīng)濟(jì)損失和災(zāi)害將十分巨大。如加拿大(魁北克,1907 年) 、美國(塔科馬海峽,1940 年) 、韓國(漢江圣水,1994年) 、中國的綦江彩虹橋(1999 年)、中國的江蘇常州運(yùn)河大橋[3](2007 年)等。因此, 及時獲取橋梁結(jié)構(gòu)狀態(tài)參數(shù)(應(yīng)變、撓度、振動等),開展?fàn)顟B(tài)參數(shù)監(jiān)測及安全*估工作, 對全面分析和了解橋梁工作狀態(tài)、實現(xiàn)事故預(yù)先報警、預(yù)防突發(fā)性災(zāi)難、避免人員傷亡和確?;A(chǔ)設(shè)施安全意義非常重大。
2、系統(tǒng)的體系結(jié)構(gòu)
本系統(tǒng)采用同構(gòu)型體系結(jié)構(gòu),如圖1 所示,它包括傳感器節(jié)點(diǎn)、網(wǎng)關(guān)、互聯(lián)網(wǎng)和監(jiān)控中心等。傳感器節(jié)點(diǎn)主要分布在橋體中,節(jié)點(diǎn)具有信息獲取、信號處理、路由計算和信息轉(zhuǎn)發(fā)的功能。通過網(wǎng)絡(luò)自組織和多跳路由,將數(shù)據(jù)向網(wǎng)關(guān)發(fā)送。網(wǎng)關(guān)可以使用多種方式與外部網(wǎng)絡(luò)通信,如Internet、衛(wèi)星或移動通信網(wǎng)絡(luò)等。
圖1 傳感器網(wǎng)絡(luò)的體系結(jié)構(gòu)
3、網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計
在不同應(yīng)用中, 傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的組成不盡相同, 但一般都由傳感器模塊、處理器模塊、無線通信模塊和能量供應(yīng)模塊四部分組成。對于我們研究的橋梁結(jié)構(gòu)健康監(jiān)測系統(tǒng),傳感器部分有內(nèi)模塊和外模塊之分, 內(nèi)模塊檢測溫度、濕度等常規(guī)狀態(tài)參數(shù);外模塊一般要在建橋過程中一起規(guī)劃安裝。這里我們提出兩種傳感器外模塊方案:光纖傳感器埋入式和橋梁鋼筋電阻檢測式。 光纖傳感器埋入式是1989 年美國Brown University 的Mendez 等人首次提出,隨后美國、歐洲、日本等國家的一些學(xué)者開始將這一高新技術(shù)應(yīng)用于土木工程的研究,并取得了很好的成果。橋梁鋼筋電阻檢測方案是我們新提出來的,其應(yīng)用更簡單有效。光纖傳感器埋入式方案的特點(diǎn)是,光纖傳感器耐腐蝕性強(qiáng)、耐久性好,因其體積小、重量輕、結(jié)構(gòu)簡單,故埋入土木工程結(jié)構(gòu)后對基體材料特性幾乎沒有影響。 利用單模和多模光纖傳感器可以探測混凝土構(gòu)件(如梁、板、柱)實體結(jié)構(gòu)的應(yīng)力、應(yīng)變、撓度、彎曲、凝結(jié)、裂縫、蠕變以及整個結(jié)構(gòu)的位移等參數(shù)。橋梁鋼筋電阻檢測方案的使用條件是要求被測鋼筋不短路(用絕緣材料做鋼筋箍),通過測試橋梁結(jié)構(gòu)中的關(guān)鍵鋼筋阻值變化情況判斷橋梁的狀態(tài)變化。
處理器模塊選用Atmel 公司的8 位低功耗AVR 微處理器芯片atmega128L 作為傳感器節(jié)點(diǎn)的CPU, 負(fù)責(zé)數(shù)據(jù)的存儲和處理。無線通信模塊采用支持IEEE 802.15.4 協(xié)議的無線收發(fā)芯片CC2420。 CC2420 在硬件上實現(xiàn)了IEEE 802.15.4 的MAC 子層安全操作, 跟處理器之間通過SPI 接口訪問。電源部分則采用3 節(jié)7 號鋰電池供電。
4、TinyOS 的研究與移植
TinyOS 是由UCBerkeley 開發(fā)的一種基于組件的開源嵌入式操作系統(tǒng),其應(yīng)用領(lǐng)域是無線傳感器網(wǎng)絡(luò)。在傳感器網(wǎng)絡(luò)中, 傳感器節(jié)點(diǎn)有兩個突出的特點(diǎn): 一是并發(fā)性強(qiáng), 可能存在多個需要同時執(zhí)行的邏輯控制; 二是節(jié)點(diǎn)的模塊化程度高。這兩個特點(diǎn)給設(shè)計面向傳感器網(wǎng)絡(luò)的操作系統(tǒng)提出了新的挑戰(zhàn)。針對這些特點(diǎn), 加州大學(xué)伯克利分校開發(fā)出了適合無線傳感網(wǎng)絡(luò)的組件化編程語言nesC 和微型操作系統(tǒng)TinyOS, 引入了輕量級線程( lightweight thread) 、主動消息( active message) 、事件驅(qū)動( event-driven) 模式、 組件化編程( componentbased programming ) 等技術(shù), 很好地利用了傳感器節(jié)點(diǎn)的有限資源。目前這個系統(tǒng)被國內(nèi)外大學(xué)和研究機(jī)構(gòu)廣泛應(yīng)用。
4.1 TinyOS 的組件模型
TinyOS 基于組件化編程語言nesC 實現(xiàn), 將模塊化/組件化編程同基于事件驅(qū)動的執(zhí)行聯(lián)系起來??梢詫inyOS 及在其上運(yùn)行的應(yīng)用程序看成是由許多功能獨(dú)立且相互有聯(lián)系的軟件組件構(gòu)成, 一個組件提供一些接口。接口中包含命令和事件,命令是接口具有的功能,接口使用者可以通過關(guān)鍵字call 來調(diào)用命令; 事件是接口具有事件通告的能力, 可以通過關(guān)鍵字signal 來通知使用者事件發(fā)生, 事件在接口使用者的組件中實現(xiàn)。組件又分為模塊文件(module)和配線文件(configuration)兩種。模塊文件具體實現(xiàn)接口中的命令和事件; 配線文件則完成組件之間的接口連接。一般一個應(yīng)用程序,只能有一個頂層配件。
4.2 TinyOS 的調(diào)度機(jī)制
TinyOS 的調(diào)度機(jī)制比較簡單, 按照輕量級線程( 即任務(wù)) 以FIFO 的方式調(diào)度, 線程之間不允許強(qiáng)占; 當(dāng)有硬件中斷到來時,可以打斷用戶的輕量級線程, 對硬件中斷進(jìn)行快速響應(yīng)。任務(wù)可以調(diào)用下層命令, 可以向上層發(fā)信號通知事件發(fā)生, 也可以在組件內(nèi)部調(diào)度其他任務(wù)。任務(wù)的原子性, 使得TinyOS 只需要維護(hù)一個任務(wù)堆棧就可以了。這種方法在資源極其有限的傳感器節(jié)點(diǎn)中顯得十分有效。TinyOS 是事件驅(qū)動型的操作系統(tǒng)。當(dāng)一個任務(wù)完成后, 就可以觸發(fā)一個事件, TinyOS就會自動調(diào)用相應(yīng)的處理函數(shù)。因此, CPU 只有在有事件觸發(fā)時才喚醒處理, 其余時間都可以處于睡眠狀態(tài), 從而可以大大降低系統(tǒng)的能耗。
4.3 TinyOS 通信機(jī)制
TinyOS 的通信方式采用主動消息模型(AM)。AM是面向消息通信的一種通信模式, 它是基于地址的, 并且支持信息確認(rèn)和分發(fā)。為了在應(yīng)用層實現(xiàn)更加復(fù)雜的通信協(xié)議, 需要把主動消息模型實現(xiàn)為TinyOS 的一個基本通信組件, 這樣既可以屏蔽下層不同的通信硬件, 也可以為上層提供統(tǒng)一的通信原語, 方便應(yīng)用開發(fā)。當(dāng)數(shù)據(jù)通過網(wǎng)絡(luò)到達(dá)傳感器節(jié)點(diǎn)時, 首先要進(jìn)行緩存, 然后主動消息的分發(fā)(dispatch)層把緩存中的消息交給上層處理。因為nesC不支持動態(tài)分配內(nèi)存, 所以要求每個應(yīng)用程序在消息被釋放以后, 必須能返回一塊未用的內(nèi)存, 來接收下一個將要到來的消息。因此, 主動消息通信組件需要維持一個額外的消息緩存。在TinyOS 中, 每次消息發(fā)送后, 接收方都會發(fā)送一個同步的確認(rèn)消息。為了節(jié)省開銷,在主動消息的最底層生成確認(rèn)包,并且每次僅僅發(fā)送一個隨機(jī)數(shù)序列作為確認(rèn)。
4.4 TinyOS的移植處理
TinyOS 操作系統(tǒng)的移植主要考慮硬件處理器是否支持對nesC(gcc) 的編譯, 以及對TinyOS 中與硬件平臺相關(guān)部分的處理。我們選用Atmel 公司的AVR 芯片作為微處理器, gcc對AVR 有良好的支持, 因此不需要做nesC 從GCC 里的解耦。TinyOS 有三層硬件抽象結(jié)構(gòu)(HAA) , 分別為硬件描述層(HPL) 、硬件改編層(HAL) 和硬件接口層(HIL) 。分層結(jié)構(gòu)和組件化描述提高了可移植性, 并簡化了應(yīng)用層軟件的開發(fā)。越底層的跟硬件越相關(guān), 上層的組件調(diào)用下層提供的接口。HPL層主要是對硬件資源的描述, 通過內(nèi)存或I/O 映射端口與硬件建立通訊。它隱藏了硬件的復(fù)雜性, 為上層提供顯示硬件能力的接口; HAL則是在HPL基礎(chǔ)上對硬件特定功能的封裝, 是與硬件相關(guān)的功能函數(shù)接口; HIL則是與硬件無關(guān)的功能函數(shù)接口。
據(jù)上分析,移植時, 只需要根據(jù)我們硬件平臺的資源修改HPL和HAL開頭的文件即可, 在HPL文件中加入硬件資源的描述, 在HAL文件中修改硬件資源的功能函數(shù)。
5、網(wǎng)絡(luò)通信協(xié)議
目前, 通信協(xié)議特別是鏈路層的MAC協(xié)議和網(wǎng)絡(luò)層的路由協(xié)議是傳感網(wǎng)絡(luò)研究的熱點(diǎn)。針對不同的應(yīng)用, 研究人員提出了不同的MAC 協(xié)議和路由協(xié)議, 這些協(xié)議各有長處。本系統(tǒng)在網(wǎng)絡(luò)層采用CTP(Collection Tree Protocol) 路由協(xié)議, 鏈路層則采用LEEP( Link Es timate ExchangeProtocol)協(xié)議來計算雙向鏈路質(zhì)量, 以給上層的路由選擇提供基礎(chǔ)。通訊協(xié)議抽象層結(jié)構(gòu)如圖2。
圖2 系統(tǒng)通訊協(xié)議層結(jié)構(gòu)
5.1 CTP協(xié)議的實現(xiàn)
CTP協(xié)議是基于樹的多跳協(xié)議。把網(wǎng)絡(luò)中的節(jié)點(diǎn)抽象為樹,每棵樹有一個根節(jié)點(diǎn), 負(fù)責(zé)收集這棵樹所有節(jié)點(diǎn)的信息。網(wǎng)絡(luò)中節(jié)點(diǎn)通過路由梯度值(ETX)逐跳地選擇路由, 直至到達(dá)根節(jié)點(diǎn)。根節(jié)點(diǎn)的ETX為0, 每個子節(jié)點(diǎn)的ETX值等于父節(jié)點(diǎn)的ETX值加上該節(jié)點(diǎn)到它父節(jié)點(diǎn)的路徑ETX值。因此, ETX值是沿著往根節(jié)點(diǎn)的方向遞減的, CTP選擇路徑ETX值最小的路徑作為路由。
CTP的實現(xiàn)是基于下層鏈路估計結(jié)果的。鏈路估計會維護(hù)一個鄰節(jié)點(diǎn)表, 表中存儲了每個鄰節(jié)點(diǎn)的路徑ETX 值。CTP協(xié)議中的CtpRoutingEngine 組件實現(xiàn)了路由的選擇, 它根據(jù)鄰節(jié)點(diǎn)的ETX值為數(shù)據(jù)傳輸選擇下一個路由。另一個關(guān)鍵的組件函數(shù)CtpForwardingEngine, 該組件主要是維護(hù)一個消息發(fā)送隊列, 往下層發(fā)送本地產(chǎn)生的或者轉(zhuǎn)發(fā)過來的數(shù)據(jù)包; 該組件還能夠檢測重復(fù)發(fā)送的數(shù)據(jù)包, 以抑制重復(fù)發(fā)包。
實現(xiàn)的四個關(guān)鍵函數(shù)是: 數(shù)據(jù)包接收(SubReceive.receive())、數(shù)據(jù)包轉(zhuǎn)發(fā)(forward())、包傳輸(sendTask())和發(fā)送完成事件(SubSend.sendDone())。
函數(shù)SubReceive.receive ()決定是否要轉(zhuǎn)發(fā)包。通過維護(hù)一個最近收到的包緩存來檢查是否有重復(fù)包。如果判定一個包不是重復(fù)包, 則調(diào)用forward()函數(shù)。
forward()函數(shù)封裝好要發(fā)送的包。這個函數(shù)同時檢查是否有回環(huán)。發(fā)送時將包放到發(fā)送隊列中去, 若隊列滿了, 就丟棄該包, 并把C位置1。如果隊列為空, 則立即post 發(fā)送任務(wù)。
sendTask()檢查發(fā)送隊列頭部的數(shù)據(jù)包, 封裝好后提交給AM層。發(fā)送完成后, sendDone()函數(shù)檢查發(fā)送的結(jié)果。如果該數(shù)據(jù)包已經(jīng)被確認(rèn)過了, 則將該包從隊列中取出。如果是本地的包, 發(fā)送事件通知給上層的客戶。如果是轉(zhuǎn)發(fā)來的包, 則將它放到轉(zhuǎn)發(fā)消息池中。如果隊列中還有包的話, 就啟動一個隨機(jī)時鐘, 重新post發(fā)送任務(wù)。
5.2 LEEP協(xié)議的實現(xiàn)
LEEP 是一種鏈路估計交換協(xié)議, 主要是用來計算某節(jié)點(diǎn)與鄰節(jié)點(diǎn)之間的雙向鏈路質(zhì)量。節(jié)點(diǎn)A→B的鏈路質(zhì)量是指B成功接收到A發(fā)送的數(shù)據(jù)包的概率。節(jié)點(diǎn)(A, B)間的雙向鏈路質(zhì)量是A→B的鏈路質(zhì)量(in-bound 鏈路質(zhì)量)與B→A的鏈路質(zhì)量(out-bound 鏈路質(zhì)量) 的乘積。
6、結(jié)束語
基于無線傳感器網(wǎng)絡(luò)的橋梁結(jié)構(gòu)健康監(jiān)測系統(tǒng),我們對傳感器節(jié)點(diǎn)的設(shè)計和支持系統(tǒng)運(yùn)行的嵌入式操作系統(tǒng)TinyOS的移植問題進(jìn)行了研究。還有兩個問題需要進(jìn)一步深入研究,一個是傳感器網(wǎng)絡(luò)的休眠節(jié)能技術(shù)需要解決網(wǎng)絡(luò)各節(jié)點(diǎn)的同步問題;第二個問題是建立橋梁結(jié)構(gòu)健康*估專家系統(tǒng),能夠根據(jù)傳感器網(wǎng)絡(luò)匯總的大量橋梁結(jié)構(gòu)信息作出準(zhǔn)確的分析判斷,從而實現(xiàn)事故預(yù)報警,預(yù)防突發(fā)性災(zāi)難,確保橋梁安全。
建筑資質(zhì)代辦咨詢熱線:13198516101
標(biāo)簽:無線傳感器、橋梁監(jiān)測、系統(tǒng)研究、網(wǎng)絡(luò)
版權(quán)聲明:本文采用知識共享 署名4.0國際許可協(xié)議 [BY-NC-SA] 進(jìn)行授權(quán)
文章名稱:《無線傳感器網(wǎng)絡(luò)的橋梁監(jiān)測系統(tǒng)研究》
文章鏈接:http://www.kaputelugumatrimony.com/18625.html
該作品系作者結(jié)合建筑標(biāo)準(zhǔn)規(guī)范、政府官網(wǎng)及互聯(lián)網(wǎng)相關(guān)知識整合。如若侵權(quán)請通過投訴通道提交信息,我們將按照規(guī)定及時處理。