




摘 要: 在復雜的物聯網環境中,傳統依據貝葉斯的節點故障定位方法,受到網絡拓撲結構的不穩定性以及不完整性的限制,導致節點故障定位效率低。為了快速檢測出WSN中的節點故障,設計一種WSN網絡中的節點故障快速定位模塊,對WSN節點中的傳感器子模塊、處理器子模塊、無線通信子模塊以及能量供應子模塊的運行情況進行檢測,及時獲取節點的故障信息。介紹WSN網絡中的網關節點、參照節點和不確定節點的功能設計,通過CC2530芯片實現這些節點信息的處理和控制,并給出WSN節點故障定位模塊軟件設計中的主程序以及終端服務程序的流程。實驗結果表明,所設計的節點故障定位模塊,在節點故障定位效率、精度以及魯棒性方面都具有較高的優勢。
關鍵詞: 物聯網; WSN; 節點故障; 定位模塊
中圖分類號: TN926?34; TP212 文獻標識碼: A 文章編號: 1004?373X(2016)18?0030?05
Abstract: Traditional node fault positioning method based on Bayesian method, in the complex environment of the Internet of things, is limited by the instability and imperfection of the network topology structure, which leads to low efficiency of node fault positioning. For rapid detection of node failures in WSN, a fast positioning module for node faults in WSN is designed in this paper to detect the operation condition of sensor submodule, processor submodule, wireless communication submodule and energy supply submodule in WSN nodes, and obtain the node fault information in real time. The function design of the network gateway node, reference node and uncertain node in WSN is introduced. The node information processing and control are achieved with CC2530 chip. The technological process of main program and the terminal services program in the software design process of WSN node fault positioning module is given. The experiment result shows that the designed node fault positioning module has the advantages of high efficiency, accuracy and robustness in the node fault location.
Keywords: Internet of Things; WSN; node fault; positioning module
0 引 言
當前無線傳感器網絡(Wireless Sensor Networks,WSN)在各領域具有較高的應用價值[1?3]。因為物聯網中的 WSN 節點部署環境存在較高的隨機性,并且節點容易產生故障,導致WSN網絡的運行質量降低。因此,尋求有效的物聯網中的WSN網絡中的節點故障定位方法,成為相關人員分析的熱點[4?5]。
在WSN 網絡故障節點的定位研究中,文獻[6]分析了依據貝葉斯的故障識別算法完成故障節點定位,但是該方法對WSN網絡結構的完整性要求較高。文獻[7]融合時間和空間的關聯性實現故障節點定位,采用時間冗余方案容忍臨時故障節點,但是故障節點比例較高,定位效率較低。文獻[8]依據節點信譽塑造最大生成樹,采用分簇的結構檢測故障節點,但運算量較高,檢測精度較低。文獻[9]提出依據位置序列的故障節點定位方法,其融合測距以及不測距兩種定位方法完成節點的定位,但是僅能在一定的條件下才能發揮定位優勢,存在一定的局限性。
為了快速檢測出WSN中的節點故障,設計了一種WSN網絡中故障節點快速定位模塊,對WSN節點中的傳感器子模塊、處理器子模塊、無線通信子模塊以及能量供應子模塊的運行情況進行檢測,及時獲取節點的故障信息,確保網絡的順利運行。
1 物聯網中WSN網絡中的節點故障快速定位
模塊設計與實現
1.1 WSN節點故障快速定位模塊的總體結構
物聯網中的WSN節點包括傳感器子模塊、處理器子模塊、無線通信子模塊以及能量供應子模塊,如圖1所示。這些模塊中的任一模塊出現故障,都導致WSN節點產生信號輸出異常等故障,使得WSN網絡通信受限。 因此,通過設計的節點故障快速定位模塊,快速檢測各子模塊中的故障,通知維修人員及時進行修復,確保WSN網絡通信的順利進行。
能量供應子模塊為WSN網絡節點提供能量,完成電壓的變換等工作;處理器子模塊包括處理器和存儲器,該模塊用于實現WSN節點獲取的數據以及接收的管理信息的操作。存儲器用于保存程序以及傳感器采集到的信息;傳感器子模塊對物聯網中WSN網絡中被檢測目標的物理量進行采集和變換;無線通信子模塊實現WSN網絡中數據以及控制信息的采集和傳輸。
1.2 WSN網絡中的節點故障快速定位模塊的硬件設計
WSN節點故障快速定位模塊的關鍵部分是MSP430FG4618芯片,該芯片同外部檢流電阻、多路模擬開關等組成WSN節點各模塊故障檢測模塊。WSN節點故障定位模塊的電路原理如圖2所示。
圖2所示的WSN節點故障定位模塊的功能以及運行過程如下:
(1) 監測各子模塊的工作電流。通過檢流電阻以及運算放大器同故障診斷 A/D 組成電流檢測回路,對各子模塊的電流進行檢測,分析是否存在短路、斷路等故障。
(2) 判斷A/D是否存在故障。通過定位模塊中的D/A以及多路模擬開關,將規范的模擬信號,輸入到傳感器子模塊中的A/D中,檢測傳感器子模塊采樣A/D是否存在故障。傳感器子模塊不進行數據采集時,通過多路模擬開關向傳感器采樣A/D中傳輸故障定位模塊的D/A信號,并將傳感器同對應采樣A/D間的連接斷開,使得D/A形成等間隔波動的模擬電壓,該模擬電壓輸入到傳感器子模塊采樣A/D中,檢測A/D是否存在漂移等故障。
(3) 監測處理器子模塊。通過WSN故障節點定位模塊中串口2同節點處理器子模塊的串口2相連,采集處理器子模塊中存儲器內保存的信息,分析處理器子模塊中的CPU以及存儲器的工作狀態是否存在異常。故障節點定位模塊中串口2采用多路模擬開關同節點處理子模塊中的串口1連接,對處理器子模塊采集以及傳遞給無線通信子模塊的數據的狀態進行監測,分析是否存在異常情況。WSN故障節點定位模塊中的定位I/O為輸入狀態,同節點處理器子模塊中的I/O連接,形成I/O檢測回路,分析節點處理器子模塊I/O口是否存在故障。
(4) 電壓監測。對各子模塊的輸入電壓進行電阻分壓以及瞬變二極管保護處理,并通過WSN網絡節點故障快速定位模塊中的多通道D/A,檢測經過處理后的輸入電壓是否存在過高、過低以及顯著波動等故障。當監測到輸入電壓異常時,電源選擇電路會將監測器的電源輸入自動切換到后備電池供電,并保存故障代碼,以備讀出檢修處理。
(5) 故障信息指示。WSN節點快速定位模塊中存在4個LED燈以及故障代碼讀出串口,這些LED燈分別指示不同子模塊的故障,為維修人員進行故障修復提供可靠的依據。故障代碼讀出串口向維修人員提供不同子模塊故障產生的原因信息,并將故障數據存儲起來。
1.3 WSN網絡節點故障定位模塊中的節點功能模塊設計
WSN網絡節點故障定位模塊中的節點包括網關節點、參照節點以及不確定節點,各節點的功能如下所述。
1.3.1 網關節點功能設計
網關節點包括CC2530芯片、電源模塊、無線模塊、串口模塊、鍵盤模塊、LCD模塊以及LED模塊,如圖3所示。CC2530芯片完成節點信息的操作和控制工作,電源模塊完成網關節點電壓從5 V變換成3.3 V的芯片運行電壓;節點通過串口模塊同上位機交流信息,采用LCD和LED模塊呈現網絡連接的情況。
1.3.2 參照節點以及不確定節點功能模塊
參照節點以及不確定節點具有終端以及路由的功能,硬件結構如圖4所示。主要包括CC2530芯片、傳感器模塊、天線模塊、電源模塊、LED模塊以及數據存儲模塊。其中傳感器模塊用于采集數據,同時將數據反饋給CC2530芯片進行相關的操作;LED模塊呈現節點加入或退出網絡;數據存儲模塊保存傳感器獲取的數據信息,并采用CC2530芯片實現數據的轉發。
1.3.3 采用CC2530芯片對WSN節點進行處理和管理
通過CC2530芯片可實現物聯網中WSN網絡中節點信息的處理和控制。
該芯片集成了2.4 GHz的射頻收發器以及低功耗的8051微處理器內核,通過7 KB RAM和256 KB可編程閃存存儲WSN網絡中的數據,采用USART通信協議以及DMA完成數據的多通道傳遞,利用8路輸入以及可調控分辨率的12位模數轉換器ADC對數據進行變換,采用CSMA/CA濾波模塊對數據進行濾波操作,過濾其中的噪聲等干擾因素。CC2530內部功能結構圖如圖5所示。
從圖5中可以看出,CC2530芯片還包括定時器、掉電檢測電路以及溫度檢測等模塊。
2 WSN網絡中節點故障快速定位模塊的軟件設計
WSN網絡節點故障定位模塊軟件由主程序和中斷服務程序構成,兩種程序的設計如下所述。
2.1 主程序設計
WSN網絡節點故障定位模塊的主程序主要完成處理器、輸入與輸出口、A/D、D/A、溫度傳感器、運算放大器、定時器等的初始化,具體流程如圖6所示。
2.2 中斷服務程序設計
定時器中斷子程序,對WSN網絡節點故障定位模塊的電流、電壓采樣頻率和視覺進行設置。 A/D采樣中斷子程序,對獲取的節點故障定位模塊的電流和電壓值進行存儲和操作,并分析是否存在故障,若存在故障,則將故障信息保存在FLASH存儲器中。串口中斷子程序,采集存儲器以及無線節點處理器子模塊向無線通信模塊反饋的信息,分析處理器子模塊中的CPU以及串口是否存在故障。若WSN網絡中的節點存在故障,則通過故障操作程序,存儲故障參量的狀態,并通過WSN網絡節點故障定位方案,實現節點故障信息的定位。中斷服務程序流程圖如圖7所示。
3 實驗分析
在此通過實驗驗證本文設計的WSN網絡中節點故障快速定位模塊的性能優劣。實驗將某電力公司的物聯網作為測試對象,將均方差(MSE)、平均絕對誤差(MAE)以及最大相對誤差(MRE)作為評估本文定位模塊性能的指標。本文定位模塊對實驗電力公司物聯網中的WSN網絡節點故障進行定位過程中的訓練數據的擬合曲線如圖8所示。其 MSE,MAE,MRE值分別為 0.044 7,0.176 7和 0.010 3。
本文定位模塊的性能參數表如表1所示。
表1中本文定位模塊對實驗物聯網中WSN網絡中節點故障進行定位過程中的驗證數據同模塊運算值曲線,如圖9所示。分析圖9可得,本文定位模塊下的訓練數據和驗證數據的最大相對誤差低于1.75%,平均絕對誤差低于0.36,具有較高的節點故障定位精度。
為了進一步驗證本文定位模塊的準確性,測試模塊的節點故障定位性能。實驗將WSN網絡中的輸出功率降低一級,模擬WSN網絡中的節點無線通信模塊出現發射功率降低故障,采用本文節點故障定位模塊檢測實驗WSN網絡的結果如圖10所示。
實驗檢測過程中要求WSN網絡的電壓從3.5 V降低到1.6 V,故障定位的閾值為4.5 mA,當本文設計的WSN網絡中節點故障定位模塊的運行電流同模塊運算電流差高于4.5 mA時,則說明WSN網絡中節點的無線通信模塊存在故障。分析圖10可以看出,在第2,3,5,10,14點的絕對電流差高于閾值4.5 mA,說明WSN節點出現故障,并且同加入故障的時間一致,可見本文節點故障定位模塊可準確檢測出WSN網絡中出現的節點故障,未出現故障誤報或漏報。
為了進一步驗證本文模塊的定位效率,統計上述實驗過程中本文定位模塊以及貝葉斯模塊的的定位效率,結果如圖11所示。從圖11中可以看出,本文模塊的定位效率遠遠高于貝葉斯定位模塊,并且變化較為平穩,具有較高的魯棒性。
4 結 論
為快速檢測出WSN中的節點故障,本文設計一種WSN網絡中的節點故障快速定位模塊,對WSN節點中的傳感器子模塊、處理器子模塊、無線通信子模塊以及能量供應子模塊的運行情況進行檢測,及時獲取節點的故障信息。介紹WSN網絡中的網關節點、參照節點和不確定節點的功能設計,通過CC2530芯片實現這些節點信息的處理和控制。給出WSN節點故障定位模塊軟件設計中的主程序以及終端服務程序的流程。實驗結果表明,所設計的節點故障定位模塊,在節點故障定位效率、精度以及魯棒性方面都具有較高的優勢。
參考文獻
[1] 何明,梁文輝,陳國華,等.水下移動無線傳感器網絡拓撲[J].控制與決策,2013,28(12):1761?1770.
[2] 何志昆,劉光斌,趙曦晶,等.高斯過程回歸方法綜述[J].控制與決策,2013,28(8):1121?1129.
[3] 張京亮,陳之寧.基于直覺模糊的無人機系統故障維修分配方法研究[J].兵工自動化,2014(9):86?88.
[4] 錢志鴻,王義君.面向物聯網的無線傳感器網絡綜述[J].電子與信息學報,2013,35(1):215?227.
[5] 李智敏,陳祥光.無線傳感器節點模塊級故障診斷方法的研究[J].儀器儀表學報,2013,34(12):2763?2769.
[6] LIU Cuiping, ZHANG Haitao, BAI Ge. Node deployment of wireless sensor network based on glowworm swarm optimization algorithm [J]. Journal of computer applications, 2013, 33(4): 905?907.
[7] 孫春杰.無線傳感器網絡定位技術的研究[D].南京:南京大學,2013.
[8] 吳光.無線傳感器網絡節點定位技術的理論和實驗研究[D].武漢:華中科技大學,2013.
[9] 顏一鳴.基于無線傳感器網絡的煤礦井下設備溫度監測系統[D].西安:西安科技大學,2013.