摘 要:本系統包括以CC2530為核心并搭載多傳感器的終端節點、以CC2530為核心用于創建星形ZigBee網絡的協調器節點和PC機監控軟件;終端節點數據通過無線網絡發送至協調器,并通過其串口上傳到監控軟件顯示。系統實現了對設備環境的全天候監控,具有實時、低功耗、有效距離大、無需人工走線等優點。
關鍵詞:ZigBee;無線傳感器網絡;CC2530;數據采集
中圖分類號:TP277 文獻標識碼:A 文章編號:1674-7712 (2014) 22-0000-02
工廠和實驗室中存放著大量電子儀器設備,僅靠管理人員日常監管往往無法做到全天候、實時掌握設備的情況,更無法對突發情況進行提前預判和消除。搭建無線傳感器網絡對設備進行監測,具有通信便利、部署方便、不必鋪設線纜、節省費用及全天候工作等優點。
Zigbee是一種高可靠的無線數傳網絡,其通訊距離從75m到幾公里,并且支持無限擴展。Zigbee組成的無線網絡可容納多達65000個無線數傳模塊,在整個網絡范圍內,各個網絡數傳模塊間可相互通信[1][2]。與移動通信網不同,Zigbee網絡主要為工業現場自動化控制數據傳輸而建立,具有簡單方便、工作可靠、價格低等特點。ZigBee可工作在2.4GHz、868MHz、915MHz三個頻段,分別具有最高250Kbit/s、20Kbit/s和40Kbit/s的傳輸速率。ZigBee還具有功耗低、成本低、時延短、網絡容量大、安全可靠等優點。
一、設備環境監控系統總體設計
本系統由溫濕度傳感器SHT10、可燃氣體傳感器MQ-2等傳感器部件以及CC2530芯片構成,采用Zigbee星形網絡拓撲結構。系統總體框圖如圖1。由協調器中心節點、終端節點及PC平臺監控軟件組成。終端節點以CC2530為核心、外圍連接多傳感器[4][5]。協調器節點是無線傳感器網絡的中心,負責Zigbee網絡的建立和管理,傳感器采集的數據存儲在終端節點,并通過Zigbee網絡發送到協調器中心節點,最后通過協調器串口發送到PC端存儲顯示。
二、Zigbee各節點硬件設計
(一)協調器節點
協調器以CC2530為核心,帶無線收發功能、232串口及JTAG調試口;芯片25、26腳為射頻收發接口,P0口連接串口芯片MAX232與上位機進行通信;CC2530外接32M晶振,并設計了JATG口供外部調試和程序燒寫。電源使用兩節電池供電,電源電壓轉換電路可提供5V和3.3V電源。其總體硬件設計如圖2所示。
(二)終端節點
溫濕度終端節點CC2530的P1.6和P1.7口為溫濕度采集口,P0.4口為光敏電阻采集口,P0.5口為人體感應模塊采集口,P1.3口為震動傳感器采集口。煙霧終端節點CC2530的P0.4引腳為可燃氣體采集口,P0.5引腳為酒精傳感器采集口,P0.6引腳為壓力傳感器采集口,P0.7引腳為氣壓傳感器采集口。CC2530內部具有14位ADC,具有8個獨立可配置輸入通道,轉換結果可通過DMA寫入內部存儲器。CC2530無線射頻收發器將接收到的射頻信號經放大、變頻、濾波、AD轉換成數字信號;發送時數據存儲在128字節發送FIFO,通過添加幀頭和幀標志符,按照802.15.4-2006調制格式,經DA轉換后采用直接上變頻進行發送。其總體硬件框圖如圖3、圖4所示。
三、設備環境監控系統的程序設計
(一)協調器節點程序設計
本系統軟件包括協調器節點程序、終端節點程序和PC端監控軟件。協調器和終端節點程序采用IAR 8.10集成開發環境。協調器節點主要負責Zigbee網絡的建立、維護、子節點的加入、數據的收集及與上位機軟件進行通訊。協調器上電后進行硬件初始化、協議棧初始化、開啟全局中斷,最后建立Zigbee網絡。成功建立網絡后,通過串口把成功建立網絡的信息發送給PC機,設置波特率同時指示燈常亮。為維持系統的運轉需要反復運行協議棧,在運行協議棧后進行串口查詢,當收到串口中斷請求后,在中斷處理程序中,協調器對接收到的終端節點數據包進行處理,即把數據包中的有用信息取出,并按協調器與PC機之間數據幀格式組幀,最后通過串口發送給PC機。串口中斷服務函數主要執行串口數據接收、清除中斷標志位與串口中斷指示等事件[6],其主流程如圖5所示。
(二)終端節點程序設計
終端節點主要實現傳感器數據采集和發送,同時需完成Zigbee網絡的發現與加入。上電后首先進行硬件初始化、協議棧初始化、開全局中斷、傳感器狀態初始化、命令幀狀態初始化,然后運行協議棧。終端節點主要有四個狀態:申請加入網絡、確認加入網絡、數據發送及確認發送。申請加入網絡成功后,將點亮網絡狀態燈,在數據發送狀態調用各傳感器采集函數,每個固定時間間隔,把采集到的數據以有效數據幀格式組幀,通過發送函數發送到協調器,并根據協調器的應答信息來確認是否收到數據,否則重發數據。終端節點主流程圖如圖6所示。
(三)平臺監控軟件設計
監控軟件是系統與用戶的接口,通過串口線與CC2530相連完成PC機對協調器的數據采集。用C#語言編寫,首先要建立與采集設備的連接,然后才能實施數據的傳輸。通過SerialPort類實現串口通信功能,使用Thread類完成多線程編程,對獲取到的數據進行分析與管理。串口程序得到數據后,存入臨時數據,并寫入記事本。系統根據采集的數據,在線圖內描繪。由于串口不知道數據何時到達,因此串口數據讀取方法主要有兩種。(1)線程實時讀串口;(2)事件觸發方式。由于線程實時讀串口的效率不高,所以采用事件觸發方式。在SerialPort類中有DataReceived事件,當串口的讀緩存有數據到達時則觸發該事件,該類ReceivedBytesThreshold屬性決定了讀多少個數據時觸發DataReceived事件。
四、測試結果及分析
測試中終端節點置于實驗室機房。圖7及圖8描繪了機房內的溫度、濕度、光照、可燃氣體煙霧值、酒精濃度值、氣壓值及壓力值的變化情況。測試表明:該系統能實時對設備環境參數進行采集,實現了對設備的全天候自動化監控。
五、結束語
本文設計的基于Zigbee的設備環境監控系統實現了對設備所處環境的全天候無線監控和監控自動化管理,解決了人工監管的盲點問題,。該系統具有低功耗、低成本、開發方便、易擴展等特點,通過設置告警參數可做到實時報警。
參考文獻:
[1]黃雙成,張秋紅.基于單片機的無線溫濕度測量系統的設計和實現[J].科學信息,2007(02):26-27.
[2]韋興龍.基于ZigBee網絡的智能溫度大棚溫濕度監測系統[J],技術研發,2012(19):16-17.
[3]陳曉燕,龐濤.基于ZigBee的溫濕度測控系統[J],中國農機化,2012(02),147-149.
[4]萬力,王鵬.基于ZigBee技術的溫濕度監測網絡設計與實現[J].低壓電器,2010(20),30-33.
[5]TEXAS INSTRUMENTS.CC2530_Data_Sheet.www.ti.com.cn,2006:22-50.
[6]Robert Reese.A ZigbeeTM-subset/IEEE802.15.4TM Multi-Platform Protocol Stack.http://www.reesemicro.com,2007:1-46.
[作者簡介]朱賢剛(1986-),男,現為廣東科技學院計算機系教師,2013年6月獲深圳大學工學碩士學位。