《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于ZigBee的多傳感器物聯(lián)網(wǎng)無線監(jiān)測(cè)系統(tǒng)
基于ZigBee的多傳感器物聯(lián)網(wǎng)無線監(jiān)測(cè)系統(tǒng)
來源:電子技術(shù)應(yīng)用2013年第3期
石繁榮, 黃玉清, 任珍文
西南科技大學(xué) 信息工程學(xué)院, 四川 綿陽 621010
摘要: 針對(duì)無線傳感器網(wǎng)絡(luò)在物聯(lián)網(wǎng)無線監(jiān)測(cè)中的應(yīng)用,基于ZigBee技術(shù)組建樹形無線網(wǎng)絡(luò),以SoC芯片CC2530為核心設(shè)計(jì)模塊化無線節(jié)點(diǎn)硬件,集成了含溫濕度和振動(dòng)量等的多傳感器模塊,基于Z-stack協(xié)議棧完成了多傳感器有限狀態(tài)機(jī)程序和低功耗節(jié)點(diǎn)程序,并改進(jìn)了協(xié)議棧對(duì)鏈路失效的管理機(jī)制。通過大量實(shí)驗(yàn)獲取統(tǒng)計(jì)數(shù)據(jù),無線節(jié)點(diǎn)點(diǎn)對(duì)點(diǎn)傳輸速率典型值為20 kb/s,多跳傳輸?shù)湫椭禐?.3 kb/s,系統(tǒng)具有較強(qiáng)的擴(kuò)展性,能夠較好地滿足智能家居和安防監(jiān)測(cè)等物聯(lián)網(wǎng)應(yīng)用。
中圖分類號(hào): TP274+.5
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 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)絡(luò)WSN(Wireless Sensor Network)是信息科學(xué)的研究熱點(diǎn),它是一種自組織的多跳路由無線網(wǎng)絡(luò),通過在監(jiān)測(cè)區(qū)域中部署大量低成本的無線傳感器節(jié)點(diǎn),節(jié)點(diǎn)間協(xié)同工作從而實(shí)現(xiàn)信息采集和傳輸。

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


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

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

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

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

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

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

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

4 系統(tǒng)傳輸性能實(shí)驗(yàn)分析
4.1 點(diǎn)對(duì)點(diǎn)傳輸實(shí)驗(yàn)

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


    圖示數(shù)值為節(jié)點(diǎn)多次實(shí)驗(yàn)的平均值。當(dāng)發(fā)射速率逐漸增大到21 kb/s時(shí),接收節(jié)點(diǎn)丟包率明顯增大。由圖11可知發(fā)射速率低于20.88 kb/s時(shí)丟包率為0,速率為22.5 kb/s時(shí)丟包率約為6%??傻霉?jié)點(diǎn)的數(shù)據(jù)速率實(shí)驗(yàn)典型值為20 kb/s。
4.2 多跳通信實(shí)驗(yàn)
    多跳通信實(shí)驗(yàn)設(shè)置了源節(jié)點(diǎn)為設(shè)備終端節(jié)點(diǎn),中轉(zhuǎn)設(shè)備路由節(jié)點(diǎn)和目標(biāo)設(shè)備協(xié)調(diào)器組成的2跳網(wǎng)絡(luò)。測(cè)試環(huán)境與點(diǎn)對(duì)點(diǎn)通信一致,針對(duì)數(shù)據(jù)速率和丟包率完成大量實(shí)驗(yàn),得到的目標(biāo)節(jié)點(diǎn)數(shù)據(jù)速率與丟包率關(guān)系如圖11(b)所示。
    由圖11(b)可知,經(jīng)路由節(jié)點(diǎn)中轉(zhuǎn)后數(shù)據(jù)傳輸可靠性大大降低了。在數(shù)據(jù)發(fā)送速率低于0.3 kb/s時(shí)丟包率為0,而大于這個(gè)值后則逐漸上升。所以在保證丟包率為0的前提下,兩跳通信的數(shù)據(jù)速率的試驗(yàn)值可以達(dá)到0.3 kb/s。
    本系統(tǒng)完成了以CC2530為核心的多傳感器無線節(jié)點(diǎn)硬件設(shè)計(jì),并基于Z-stack協(xié)議棧完成傳感器程序設(shè)計(jì),同時(shí)實(shí)現(xiàn)協(xié)議棧的低功耗改進(jìn)和節(jié)點(diǎn)鏈路失效管理。通過實(shí)物測(cè)試獲得節(jié)點(diǎn)單跳通信數(shù)據(jù)速率典型值為20 kb/s,多跳通信典型值為0.3 kb/s,能夠較好地滿足區(qū)域環(huán)境信息監(jiān)測(cè)的應(yīng)用。系統(tǒng)的硬件結(jié)構(gòu)設(shè)計(jì)充分考慮了擴(kuò)展性,數(shù)據(jù)協(xié)議定義充分考慮了上位機(jī)控制臺(tái)顯示信息的豐富性,支持控制臺(tái)顯示網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、節(jié)點(diǎn)設(shè)備信息和狀態(tài)、節(jié)點(diǎn)移動(dòng)動(dòng)態(tài)更新,以及節(jié)點(diǎn)設(shè)備無線控制。
參考文獻(xiàn)
[1] 鄭凱.基于ZigBee無線傳感器技術(shù)的心電監(jiān)護(hù)網(wǎng)絡(luò)的研究[D].吉林:吉林大學(xué),2008.
[2] 陳濤,劉景泰,邴志剛.無線傳感網(wǎng)絡(luò)應(yīng)用于研究綜述[J].自動(dòng)化與儀表,2005(7):41-46.
[3] 韓賓,黃玉清.基于藍(lán)牙的機(jī)器人傳感網(wǎng)絡(luò)設(shè)計(jì)[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)載。