《電子技術(shù)應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 基于ZigBee的多傳感器物聯(lián)網(wǎng)無線監(jiān)測系統(tǒng)
基于ZigBee的多傳感器物聯(lián)網(wǎng)無線監(jiān)測系統(tǒng)
來源:電子技術(shù)應用2013年第3期
石繁榮,, 黃玉清, 任珍文
西南科技大學 信息工程學院,, 四川 綿陽 621010
摘要: 針對無線傳感器網(wǎng)絡在物聯(lián)網(wǎng)無線監(jiān)測中的應用,基于ZigBee技術(shù)組建樹形無線網(wǎng)絡,,以SoC芯片CC2530為核心設計模塊化無線節(jié)點硬件,集成了含溫濕度和振動量等的多傳感器模塊,,基于Z-stack協(xié)議棧完成了多傳感器有限狀態(tài)機程序和低功耗節(jié)點程序,,并改進了協(xié)議棧對鏈路失效的管理機制。通過大量實驗獲取統(tǒng)計數(shù)據(jù),,無線節(jié)點點對點傳輸速率典型值為20 kb/s,,多跳傳輸?shù)湫椭禐?.3 kb/s,系統(tǒng)具有較強的擴展性,能夠較好地滿足智能家居和安防監(jiān)測等物聯(lián)網(wǎng)應用。
中圖分類號: TP274+.5
文獻標識碼: A
文章編號: 0258-7998(2013)03-0096-04
The multi-sensor Internet of Things wireless monitor system based on ZigBee
Shi Fanrong, Huang Yuqing, Ren Zhenwen
School of Information Engineering, Southwest University of Science and Technology, Mianyang 621010, China
Abstract: According to the application of WSN in Internet of Things wireless monitor, The system based ZigBee to build tree wireless network, designed modular wireless node hardware use SoC chip CC2530 as core unit, integrated multi-sensor module include temperature and humidity and vibration quantity etc, based on Z-stack designed multi-sensor finite-state machine software and low power consumption node software, and improved the link failure management mechanism of stack. With the large experiment data, proving that the typical transmission rate of single hop is 20 kb/s, the typical transmission rate of multi-hop is 0.3kb/s, and the system has strong expansibility, could well satisfy application of the internet of things such as intelligent household and security monitoring,。
Key words : Internet of Things,; multi-sensor; ZigBee,; CC2530,; low power consumption; wireless monitor

    無線傳感器網(wǎng)絡WSN(Wireless Sensor Network)是信息科學的研究熱點,,它是一種自組織的多跳路由無線網(wǎng)絡,,通過在監(jiān)測區(qū)域中部署大量低成本的無線傳感器節(jié)點,,節(jié)點間協(xié)同工作從而實現(xiàn)信息采集和傳輸。

    隨著傳感器技術(shù),、微處理器技術(shù),、芯片技術(shù)和無線通信技術(shù)的發(fā)展,以及片上系統(tǒng)SoC(System on Chip)的出現(xiàn),為無線傳感器網(wǎng)絡提供了單芯片解決方案,,極大降低了無線傳感節(jié)點的體積,、功耗和成本。無線傳感網(wǎng)絡已被廣泛地應用到軍事,、醫(yī)療監(jiān)護,、智能交通和倉儲管理等領域。隨著物聯(lián)網(wǎng)應用的推廣及成本降低,,無線傳感器網(wǎng)絡將被更廣泛的應用[1-3],。
1 系統(tǒng)結(jié)構(gòu)
    系統(tǒng)的主要功能包括傳感器數(shù)據(jù)采集、ZigBee組網(wǎng)與通信[4],、網(wǎng)關管理與節(jié)點設備無線控制,、傳感器數(shù)據(jù)界面顯示與計算等。本文主要工作包含無線節(jié)點硬件設計,、節(jié)點程序設計,、傳感器網(wǎng)絡組建和數(shù)據(jù)協(xié)議定義,以及節(jié)點低功耗設計,。系統(tǒng)基于ZigBee無線通信技術(shù)組建樹狀網(wǎng)絡,通過傳感器節(jié)點采集并組建傳感器數(shù)據(jù)幀,,通過多跳路由匯集到網(wǎng)關設備上,實現(xiàn)環(huán)境信息監(jiān)測,。
    系統(tǒng)網(wǎng)絡拓撲結(jié)構(gòu)如圖1所示[5-6],系統(tǒng)主要包含了網(wǎng)關設備(協(xié)調(diào)器,,Coordinator)、路由節(jié)點和傳感器節(jié)點以及一些可擴展的接口,。協(xié)調(diào)器主要負責啟動和配置整個網(wǎng)絡,,通過掃描物理信道能量選擇一個空閑信道作為網(wǎng)絡的信道。路由節(jié)點(Router)主要功能為批準其他設備加入網(wǎng)絡,、多跳路由和協(xié)助其子節(jié)點完成通信,。傳感器節(jié)點主要為傳感器數(shù)據(jù)的采集與傳輸。
2 CC2530多傳感器無線節(jié)點硬件設計
    CC2530是一款符合ZigBee標準的SoC芯片[7-8],集成了無線電收發(fā)器,、8051內(nèi)核,、串口、ADC和定時器等外設,,利用CC2530作為無線傳感器網(wǎng)絡解決方案,,節(jié)點成本、體積和功耗都能夠得到大幅度降低,。


    CC2530射頻模塊主要完成無線信號的收發(fā)功能,,負責ZigBee協(xié)議相關操作,,并控制采集、存儲和處理傳感器數(shù)據(jù),。底板由供電模塊及調(diào)試端口構(gòu)成,,傳感器擴展板部署了溫濕度傳感器SHT11、加速度傳感器ADXL202和壓力傳感器MCS5540,。
2.2 CC2530射頻模塊設計
 ZigBee無線通信模塊以CC2530為核心,,芯片工作電壓為2~3.6 V,節(jié)點提供了標準I/O接口,,容易嵌入到其他設備中,,可以替代現(xiàn)有的無線控制方式,并獲取設備工作記錄,。
2.3 傳感器模塊設計
    溫濕度傳感器采用SHT11,,CC2530以P1.6、P1.7分別與DATA和SCK線連接,,CC2530通過程序控制實現(xiàn)SHT11控制和讀寫信號,。
    加速度傳感器采用ADXL202實現(xiàn),用來采集振動信號,,ADXL202E分別從Xout和Yout輸出兩個方向的加速度信息,以不同的占空比表示,,CC2530采用定時器口線P1.3,、P2.0與ADXL202E連接,測量其占空比,。
    氣壓傳感器采用MCS5540,,提供氣壓測量和溫度測量,以SCLK,、DIN和DOUT組成讀寫總線,,CC2530通過USART 0口與MS5540C連接。
3 基于Z-stack協(xié)議棧的節(jié)點程序設計
3.1 節(jié)點功能分析

    節(jié)點程序基本功能如圖3所示,,基于協(xié)議棧應用層實現(xiàn),,具體的功能實現(xiàn)按照節(jié)點的邏輯關系有所區(qū)別。

    節(jié)點設備輸出控制:控制操作的發(fā)起者可以是網(wǎng)絡中的節(jié)點,,也可能是節(jié)點自己或者網(wǎng)關控制平臺,。如將ZigBee節(jié)點作為溫度報警裝置的控制器,當節(jié)點自身具有溫度傳感器裝置時,,節(jié)點可以在溫度超過設置的范圍時發(fā)起報警,。
    低功耗管理為感知節(jié)點發(fā)送功率自調(diào)整機制和休眠機制,以提高對能量的使用效率,,避免不必要傳輸帶來的能量損耗,。鏈路檢測為支撐子節(jié)點管理和節(jié)點低功耗管理功能,,檢測父子節(jié)點間鏈路可靠性、信號質(zhì)量和獲取接收信號強度指示RSSI(Received Signal Strength Indication)值,。
3.2 數(shù)據(jù)結(jié)構(gòu)設計
    網(wǎng)絡中傳輸?shù)臄?shù)據(jù)實體在應用層被封裝成幀,,對于協(xié)議棧為透明數(shù)據(jù)。數(shù)據(jù)幀在網(wǎng)絡中透明傳輸,,只有目的地址節(jié)點的相匹配的應用對象可對數(shù)據(jù)進行解析處理,。
    (1) 設備描述符數(shù)據(jù)結(jié)構(gòu)
    節(jié)點設備簡單描述符向協(xié)調(diào)器報告節(jié)點屬性、網(wǎng)絡地址,、擴展地址和節(jié)點父節(jié)點網(wǎng)絡地址,,以及支持的設備個數(shù)、類型,、設備標號和控制/狀態(tài)等相關信息,。設備簡單描述符結(jié)構(gòu)如圖4。

    NWK_Addr鎖定源/目標節(jié)點,再由C_ID鎖定節(jié)點上對應設備,,從而正確地解析/控制指定節(jié)點上特定設備,。
 (3) 設備控制命令結(jié)構(gòu)
    設備控制是對指定節(jié)點的指定外設控制的過程,用戶可以通過網(wǎng)關發(fā)起控制,,傳感器節(jié)點也可以發(fā)起控制命令,。控制命令結(jié)構(gòu)如圖6,。

3.3 基于有限狀態(tài)機的傳感器控制程序設計
    傳感器節(jié)點周期性地采集并傳輸數(shù)據(jù),,通過進入休眠狀態(tài)以節(jié)省節(jié)點能量。應用層程序?qū)ο笸ㄟ^osal_start_timerEx( )函數(shù),,設置傳感器數(shù)據(jù)采集定時任務,,基于有限狀態(tài)機FSM(Finite State Machine)的程序設計如下。
  while( FSMstate_S != IDEL )
      { switch(FSMstate_S)
         { case Sensor_RD_status:                      //傳感器轉(zhuǎn)換
        { if( 轉(zhuǎn)換成功 )
           {  ……
              FSMstate_S = IDEL;                     //退出
        }
          else  FSMstate_S = ResetSeriInterface ;
           break;}
                                            //其他狀態(tài)
    case ResetSeriInterface:                  //啟動串行總線
      {  ……
        FSMstate_S= Sensor_RD_status;                     //轉(zhuǎn)換
     break;}
    default: FSMstate_S= IDEL ; break;
     }//--switch
    }//--while
3.4 節(jié)點鏈路失效管理
    Z-Stack協(xié)議棧的網(wǎng)絡層支持節(jié)點路由管理和網(wǎng)絡,,而因突發(fā)事件如掉電,、失效和重啟等引發(fā)子節(jié)點丟失網(wǎng)絡,協(xié)議棧沒有提供完整的解決方案[10],。
    節(jié)點失效鏈路管理,,如圖7所示為父節(jié)點死亡和重啟后,造成子節(jié)點鏈路失效的情形,。由于父節(jié)點因突發(fā)原因失效,,如被破壞或供電中斷等,節(jié)點不能通知其相鄰節(jié)點,,從而導致子節(jié)點仍然認為其父節(jié)點存在于網(wǎng)絡中,,并不斷向其發(fā)送數(shù)據(jù),若節(jié)點采用應答傳輸機制,則會長時間等待父節(jié)點的應答,。上述兩種情形都會導致子節(jié)點與網(wǎng)絡的通信不可靠,,節(jié)點網(wǎng)絡地址分配混亂和重復。

    節(jié)點移動鏈路管理,,如圖8為節(jié)點移動后造成通信鏈路中斷,、功耗增大等問題,如父子節(jié)點之間被加入障礙物,。感知節(jié)點移動后,,與R2的距離遠遠小于與R1的距離,原來只需較小的發(fā)射功率則可與R1建立可靠的通信連接,,而此時感知節(jié)點必須提高發(fā)射功率,。

 父節(jié)點返回的匹配消息報告給節(jié)點應用層,子節(jié)點首先撤銷正在執(zhí)行的定時任務并判斷消息,。若消息為真則表明鏈路仍然可靠,并在定時T1結(jié)束后設置下一次傳感器轉(zhuǎn)換定時,。否則節(jié)點將重啟網(wǎng)絡層重新加入網(wǎng)絡。
3.5 基于RSSI的節(jié)點低功耗設計
    無線傳感器節(jié)點能量消耗主要在于節(jié)點無線通信[9],,針對網(wǎng)絡環(huán)境穩(wěn)定且較少移動的節(jié)點,,子節(jié)點可基于RSSI值調(diào)整發(fā)射功率,根據(jù)節(jié)點間的實際信道質(zhì)量,,調(diào)整不同節(jié)點間的發(fā)射功率,,避免節(jié)點用固定的發(fā)射功率時因距離太近而造成能量浪費。
    RSSI受節(jié)點之間的距離和障礙物等信道質(zhì)量情況影響,,不同的子節(jié)點與父節(jié)點建立可靠鏈路所需要的發(fā)射功率則不一樣,。圖10所示為子節(jié)點與父節(jié)點建立最低功耗通信鏈路的流程,子節(jié)點向父節(jié)點發(fā)送發(fā)射功率校正的命令,;在接收到父節(jié)點返回的RSSI值后,子節(jié)點則根據(jù)RSSI的大小調(diào)整自己的發(fā)射功率,。

4 系統(tǒng)傳輸性能實驗分析
4.1 點對點傳輸實驗

    點對點傳輸是節(jié)點性能的一個重要指標,,本文針對節(jié)點的數(shù)據(jù)速率和丟包率做了大量的實驗測試。在室內(nèi)環(huán)境下,節(jié)點采用3.3 V直流供電,傳輸距離(視距)>30 m,,發(fā)射功率0 dBm,,收發(fā)節(jié)點分別統(tǒng)計數(shù)據(jù)幀,單次測試持續(xù)時間10~20 min。獲得數(shù)據(jù)速率與丟包率關系如圖11(a)所示,。


    圖示數(shù)值為節(jié)點多次實驗的平均值,。當發(fā)射速率逐漸增大到21 kb/s時,接收節(jié)點丟包率明顯增大,。由圖11可知發(fā)射速率低于20.88 kb/s時丟包率為0,,速率為22.5 kb/s時丟包率約為6%??傻霉?jié)點的數(shù)據(jù)速率實驗典型值為20 kb/s,。
4.2 多跳通信實驗
    多跳通信實驗設置了源節(jié)點為設備終端節(jié)點,,中轉(zhuǎn)設備路由節(jié)點和目標設備協(xié)調(diào)器組成的2跳網(wǎng)絡。測試環(huán)境與點對點通信一致,,針對數(shù)據(jù)速率和丟包率完成大量實驗,得到的目標節(jié)點數(shù)據(jù)速率與丟包率關系如圖11(b)所示,。
    由圖11(b)可知,經(jīng)路由節(jié)點中轉(zhuǎn)后數(shù)據(jù)傳輸可靠性大大降低了,。在數(shù)據(jù)發(fā)送速率低于0.3 kb/s時丟包率為0,,而大于這個值后則逐漸上升。所以在保證丟包率為0的前提下,,兩跳通信的數(shù)據(jù)速率的試驗值可以達到0.3 kb/s,。
    本系統(tǒng)完成了以CC2530為核心的多傳感器無線節(jié)點硬件設計,并基于Z-stack協(xié)議棧完成傳感器程序設計,同時實現(xiàn)協(xié)議棧的低功耗改進和節(jié)點鏈路失效管理,。通過實物測試獲得節(jié)點單跳通信數(shù)據(jù)速率典型值為20 kb/s,,多跳通信典型值為0.3 kb/s,能夠較好地滿足區(qū)域環(huán)境信息監(jiān)測的應用,。系統(tǒng)的硬件結(jié)構(gòu)設計充分考慮了擴展性,,數(shù)據(jù)協(xié)議定義充分考慮了上位機控制臺顯示信息的豐富性,支持控制臺顯示網(wǎng)絡拓撲結(jié)構(gòu),、節(jié)點設備信息和狀態(tài),、節(jié)點移動動態(tài)更新,以及節(jié)點設備無線控制,。
參考文獻
[1] 鄭凱.基于ZigBee無線傳感器技術(shù)的心電監(jiān)護網(wǎng)絡的研究[D].吉林:吉林大學,2008.
[2] 陳濤,劉景泰,邴志剛.無線傳感網(wǎng)絡應用于研究綜述[J].自動化與儀表,2005(7):41-46.
[3] 韓賓,黃玉清.基于藍牙的機器人傳感網(wǎng)絡設計[J].通信技術(shù),2008(6):164-166.
[4] GISLASON D. Zigbee wireless Networking[M]. Burlington:Newnes,2008.
[5] Wang Weixin, Sung Jongwoo,, KIM D. Complex event processing in EPC sensor network middleware for both RFID and WSN[C]. 2008 11th IEEE, ISORC, 2008:165-169.
[6] Yang Huanjia, Yang Lili,et al. Hybrid Zigbee RFID sensor  network for human-itarian logistics centre management[J]. Journal of Network and Computer Applications,2011(34):938-948.
[7] TI. CC253X User Guide.http://www.ti.com.cn.2011.
[8] TI.Z-Stack Developers Guide.http://www.i.com.cn/.2011.
[9] ESTRIN D. Tutorial“PartIV: sensor network protocols. Mobicom,2002. http://nest1.ee.ucla.edu/tutorials/ mobicom02.2011.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。