《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ZigBee技術的無線溫度采集系統(tǒng)
基于ZigBee技術的無線溫度采集系統(tǒng)
景軍鋒,李嘉琨,王 波,聶魯華
(西安工程大學 電子信息學院,陜西 西安 710048)
摘要: 詳細闡述了ZigBee技術及其應用,提出了一種基于ZigBee技術的無線溫度采集系統(tǒng)的方案。針對所提方案設計了系統(tǒng)的硬件電路及相關軟件,并通過實驗證明了方案的可行性及正確性。
Abstract:
Key words :

 摘  要: 詳細闡述了ZigBee技術及其應用,提出了一種基于ZigBee技術的無線溫度采集系統(tǒng)的方案。針對所提方案設計了系統(tǒng)的硬件電路及相關軟件,并通過實驗證明了方案的可行性及正確性。
關鍵詞: ZigBee;DS18B20;CC2430;2.4 GHz

  在人們?nèi)粘5纳a(chǎn)生活中,經(jīng)常需要通過傳感器將一些物理量,如溫度、濕度、光照度等非電量轉(zhuǎn)變成電量,然后通過傳輸線傳輸?shù)街鳈C進行數(shù)據(jù)處理,再產(chǎn)生相應的控制信號。工業(yè)中的傳輸線通常采用的是現(xiàn)場總線,如CAN總線等。但是在一些場合采用這種有線介質(zhì)作為傳輸線并不是最理想的方案。比如一個大型糧倉或蔬菜大棚要實現(xiàn)多點的溫度采集時,按照有線傳輸方案需要從各個傳感器節(jié)點連接很多且復雜的傳輸線到主機,蔬菜大棚需要保持一定的溫濕度,長期下來會對傳輸線造成腐蝕、損壞,從而影響整個系統(tǒng)的正常工作。此外,多點溫度采集系統(tǒng)所傳輸?shù)臄?shù)據(jù)量并不大,且對數(shù)據(jù)傳輸速率的要求也不高,所以在這種情況下采用無線方式進行信號的采集傳輸是十分理想的。
  當前主要的無線技術有WiFi、Bluetooth、UWB、NFC以及紅外等。采用紅外技術應用于傳感器裝置上的缺陷是:要求傳輸雙方必須在可見范圍內(nèi)而且是定向傳輸,中間不能有障礙物否則會影響數(shù)據(jù)傳輸質(zhì)量。而其他無線技術的主要問題是開發(fā)成本過高,適用面較窄。
  ZigBee是一種短距離、架構(gòu)簡單、低功耗和低傳輸速率的無線通信技術,工作頻率為2.4 GHz免費頻段,其傳輸距離一般在幾十米范圍內(nèi),數(shù)據(jù)傳輸速率為250 Kb/s。ZigBee可以基于協(xié)議棧組成網(wǎng)絡實現(xiàn)各個節(jié)點的數(shù)據(jù)傳輸,并采用了碰撞避免機制,信息在整個ZigBee網(wǎng)絡中通過自動路由的方式進行傳輸,保證了信息的安全性。Zigee技術既解決了傳輸?shù)目煽啃詥栴},又因為其傳輸功耗低,傳輸采用免費頻段等因素,使其降低了成本[1]。
1 系統(tǒng)方案
  當系統(tǒng)組成1個ZigBee網(wǎng)絡時,根據(jù)實際情況來確定網(wǎng)絡拓撲結(jié)構(gòu)。網(wǎng)絡拓撲結(jié)構(gòu)關系到網(wǎng)絡成本、網(wǎng)絡維護的難易、網(wǎng)絡可靠性以及網(wǎng)絡穩(wěn)定性。ZigBee基本的網(wǎng)絡拓撲結(jié)構(gòu)有如下幾種:星型網(wǎng)絡、樹型網(wǎng)絡以及網(wǎng)型網(wǎng)絡[1-3]。網(wǎng)絡拓撲結(jié)構(gòu)如圖1所示。


  網(wǎng)絡中存在3種類型的節(jié)點:子節(jié)點(RFD)、路由節(jié)點(FFD)、主節(jié)點(COORDINATOR)。子節(jié)點與傳感器連接,散布在現(xiàn)場中,主要作用是采集信號并傳輸;路由節(jié)點的作用是擴展網(wǎng)絡深度與廣度,星型網(wǎng)絡中若對網(wǎng)絡深度廣度要求不高,可以省略路由節(jié)點;主節(jié)點與上位監(jiān)控PC機連接,主要作用是建立網(wǎng)絡,處理各個子節(jié)點及路由節(jié)點發(fā)送的信息,相當于有線網(wǎng)絡中的服務器[2-3]。
  本文采用了星型拓撲結(jié)構(gòu)設計了一種基于無線ZigBee技術的溫度系統(tǒng),系統(tǒng)總體方案框圖如圖2所示。


  系統(tǒng)的工作過程為:主節(jié)點先建立網(wǎng)絡,等待各自節(jié)點的加入;子節(jié)點加入網(wǎng)絡后,把溫度傳感器采集到的溫度數(shù)據(jù)打包并攜帶自己的地址通過無線形式傳輸給主節(jié)點;主節(jié)點接收到數(shù)據(jù)包后進行數(shù)據(jù)處理,并將溫度信息以及子節(jié)點地址等有效信息存儲并顯示在監(jiān)控界面上。
2 硬件設計
  系統(tǒng)采用Chipcon公司的CC2430芯片,CC2430是一款片上系統(tǒng)芯片,內(nèi)部帶有豐富的系統(tǒng)資源,只需要很少的外圍部件就能實現(xiàn)接收或發(fā)送信號功能[2,4]。系統(tǒng)的傳感器采用DS18B20型溫度傳感器。DS18B20數(shù)字溫度傳感器是DALLAS公司生產(chǎn)的1-Wire,即單總線器件,具有線路簡單,體積小的特點[5]。系統(tǒng)的硬件電路圖如圖3、圖4所示。


    圖3所示是由CC2430芯片及一些外圍器件組成的ZigBee節(jié)點的典型電路,子節(jié)點與主節(jié)點均采用了這種電路結(jié)構(gòu)。主節(jié)點是由CC2430電路和1個MAX3232接口電路組成,MAX3232接口電路是為了實現(xiàn)主節(jié)點與上位監(jiān)控PC機之間的通信;子節(jié)點是由CC2430電路和DS18B20溫度傳感器組成,實現(xiàn)各點溫度的采集;由于本采集系統(tǒng)工作的范圍不大,所以沒有設計路由節(jié)點。ZigBee節(jié)點的實物圖如圖5所示,中間為CC2430,前端為一個PCB天線。


3 軟件設計
    系統(tǒng)中的主節(jié)點和子節(jié)點在硬件結(jié)構(gòu)上差異并不大,主要是通過程序的編寫實現(xiàn)主子節(jié)點各自不同的功能。程序主要分為主節(jié)點程序和子節(jié)點程序。主節(jié)點首先形成網(wǎng)絡等待各個子節(jié)點的加入,網(wǎng)絡形成后接收來自各子節(jié)點的數(shù)據(jù)并加以處理,再與上位PC機進行通信;子節(jié)點上電后尋找可加入的網(wǎng)絡,成功加入后開始采集溫度,并將溫度信息以及自身網(wǎng)絡地址打包并通過無線形式傳給主節(jié)點,實現(xiàn)星型無線網(wǎng)絡的功能。部分重要程序段如下,并對無線網(wǎng)絡的形成及數(shù)據(jù)傳輸?shù)裙δ軐崿F(xiàn)加以解釋說明。
  # ifdef COORDINATOR    //若節(jié)點定義為COORDINATOR
  aplFormNetwork();               //格式化1個新網(wǎng)絡
  while(apsBusy()){apsFSM();}               //延時等待
  conPrintROMString(“Network formed,waiting for RX\n”);
  Print(“Network formed!”);           //顯示網(wǎng)絡形成
  Print(“ZigBee COORDINATOR”);
  Print(“Waiting for nodes”)
  # else    //若不是COORDINATOR則認為是RFD節(jié)點
  do
  {aplJoinNEtwork();                  //加入網(wǎng)絡函數(shù)
    While(apsBusy()) {apsFSM();}         //等待加入網(wǎng)絡
    if(aplGetStatus()==STATUS_SUCCESS)
    {
      conPrintROMString(“Network Join succeeded!/n”);
      conPrintROMString(“My ShortAddress is:”);
      conPrintUINT16(aplGetMyShortAddress());
                                   //串口輸出網(wǎng)絡地址
      conPrintLADDR(aplGetParentLongAddress());
                                   //串口輸出物理地址
        }
        else
        {
        conPrintROMString(“Network Join Failed!Waiting, then try again”);
        }
        # endif
        # ifdef RFD                       //子節(jié)點函數(shù)
           {
   dstADDR.saddr=0;
                                             //RFD發(fā)送數(shù)據(jù)的目的地址為網(wǎng)絡主節(jié)點
   aplSendMSG(APS_DSTMODE_SHORT,
   &dstADDR,                             //目的地址
       &payload[0],                             //數(shù)據(jù)存儲區(qū)
       apsGenTSN(),
       FALSE);                          //無需APS層應答
       }
       #endif
  通過比較ZigBee以及其他幾種無線傳輸方式的優(yōu)缺點,本文提出了基于ZigBee技術的無線溫度采集系統(tǒng)的整體方案,并設計實現(xiàn)了系統(tǒng)的硬件電路及相應程序。系統(tǒng)運行穩(wěn)定,數(shù)據(jù)傳輸準確性高,能夠達到預期所設想的目標。
參考文獻
[1] IEEE 802.15.4 standard specification, standards. IEEE. org/getieee802/.
[2] 李文仲,段朝玉.ZigBee無線網(wǎng)絡技入門與實踐[M].北京:北京航空航天出版社,2007.
[3] 夏蕓.CC1010芯片在無線傳感器網(wǎng)絡節(jié)點設計中的應用[J].計算機與自動化技術,2005,31(5).
[4] Chipcon Products from Texas Instruments. CC2430 Datasheet.
[5] DS18B20 Programmable Resolution Wire Digital Termometer. www. dalsemi. com.

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