宋昆
【摘 要】針對(duì)建東學(xué)院圖書館對(duì)館藏溫度的要求,利用Zigbee無線傳感網(wǎng)絡(luò)低成本、低能耗的特性,以TI的CC2530芯片為硬件核心,移植Z-Stack協(xié)議棧,設(shè)計(jì)了利用溫度傳感器完成對(duì)圖書館環(huán)境溫度信息的采集,并將這些信息傳送到控制室中心的測(cè)量系統(tǒng)。
【關(guān)鍵詞】Zigbee;無線傳感網(wǎng)絡(luò);Z-Stack;溫度測(cè)量
圖書館工作經(jīng)驗(yàn)證明,保護(hù)圖書的較適宜的溫度為14~24℃,相對(duì)濕度為50%—65%。因而圖書館溫濕度的監(jiān)控是實(shí)現(xiàn)紙質(zhì)文獻(xiàn)完好儲(chǔ)藏的關(guān)鍵環(huán)節(jié),普遍的方法是使用各種溫濕度計(jì)。在這些情況下,多采用有線連接方式采集信號(hào)及傳輸數(shù)據(jù),這雖然滿足了目的,但存在電纜布線、后期維護(hù)成本高、應(yīng)用不靈活等一些問題。本文主要針對(duì)溫度測(cè)量設(shè)計(jì)了一種基于Zigbee無線傳感網(wǎng)絡(luò)的溫度無線數(shù)據(jù)采集系統(tǒng),設(shè)置方便,不需布線即可采集數(shù)據(jù),成本低,克服了有線網(wǎng)絡(luò)存在的缺點(diǎn)。
1 Zigbee技術(shù)
Zigbee技術(shù)是一種低復(fù)雜度、低功耗、低數(shù)據(jù)速率、低成本、短距離的雙向無線網(wǎng)絡(luò)通信技術(shù)。采用免注冊(cè)頻段,即無須得到許可便可使用的工業(yè)、科學(xué)、醫(yī)療頻段,以便于用戶能夠自由試用Zigbee設(shè)備。目前Zigbee定義了2.4GHz頻段和868/915MHz頻段,其中2.4GHz在全球通用。在硬件方面,TI、Jennic、Freescale等各大芯片公司均推出無線收發(fā)芯片和單片機(jī)射頻芯片集成在一起的SOC。其中TI公司的CC2430和CC2530集成SOC方案尤為成熟,應(yīng)用最為廣泛。在軟件方面,許多公司如TI、Ember、AirBee、Freescale等提供了Zigbee協(xié)議棧,其中最適用的是TI設(shè)計(jì)的Z-Stack協(xié)議棧,提供了完全開源的技術(shù)解決方案。
Zigbee協(xié)議中規(guī)定三種設(shè)備,分為協(xié)調(diào)器(Coordinator)、路由器(Router)和終端節(jié)點(diǎn)(EndDevice)。其中協(xié)調(diào)器發(fā)起網(wǎng)絡(luò),等待路由及終端節(jié)點(diǎn)的加入,終端節(jié)點(diǎn)只能作為采集及接收數(shù)據(jù)的子節(jié)點(diǎn)加入網(wǎng)絡(luò),不具備數(shù)據(jù)轉(zhuǎn)發(fā)能力。路由節(jié)點(diǎn)的可以轉(zhuǎn)發(fā)數(shù)據(jù)。協(xié)議支持的網(wǎng)絡(luò)結(jié)構(gòu)有星狀、樹狀和Mesh網(wǎng)絡(luò)。
2 系統(tǒng)總體設(shè)計(jì)方案
基于zigbee技術(shù)的圖書館溫度監(jiān)測(cè)系統(tǒng)總體結(jié)構(gòu)如圖1所示,該系統(tǒng)采用星型拓?fù)浣Y(jié)構(gòu),主要由傳感器節(jié)點(diǎn)、協(xié)調(diào)器節(jié)點(diǎn)和上位機(jī)PC等三部分組成。傳感器節(jié)點(diǎn)有兩種,一種功能為現(xiàn)場(chǎng)的溫度采集,并將采集到的溫度信息定時(shí)打包發(fā)送至協(xié)調(diào)器節(jié)點(diǎn);還有一種是接收協(xié)調(diào)器傳來的溫度控制信息控制報(bào)警器或者風(fēng)扇等控溫設(shè)備工作。協(xié)調(diào)器節(jié)點(diǎn)負(fù)責(zé)整個(gè)監(jiān)測(cè)網(wǎng)絡(luò)的建立與維護(hù),接收傳感節(jié)點(diǎn)的溫度數(shù)據(jù)并反饋到上位機(jī)PC。上位機(jī)PC主要顯示整個(gè)系統(tǒng)的運(yùn)行情況及各區(qū)域溫度的實(shí)時(shí)數(shù)據(jù)。另外,協(xié)調(diào)器節(jié)點(diǎn)判斷接收到的溫度信息,如果溫度超出限值,發(fā)送控制命令給帶有繼電器的節(jié)點(diǎn),控制繼電器工作。
3 系統(tǒng)硬件組成
本設(shè)計(jì)采用網(wǎng)蜂科技公司設(shè)計(jì)的Zigbee開發(fā)套件,其中的主控芯片是TI公司的CC2530。CC2530除了包括RF收發(fā)器外,還集成了加強(qiáng)型8051單片機(jī)、它具有2/64/128/256kB可編程閃存和8kB的RAM,以及ADC、看門狗等。CC2530可工作在2.4GHz頻段,采用低電壓(2.0~3.6V)供電,待機(jī)時(shí)電流消耗僅0.2μA,但靈敏度高達(dá)-91dBm、最大輸出為+0.6dBm、最大傳送速率為250kbps。CC2530僅需添加少量的外圍元件就可以完成ZIGBEE通信功能的硬件實(shí)現(xiàn)。
本系統(tǒng)由兩類節(jié)點(diǎn)組成:ZigBee協(xié)調(diào)器節(jié)點(diǎn)、傳感器節(jié)點(diǎn)。所有節(jié)點(diǎn)的基本功能單元是處理器模塊,射頻模塊和電源模塊等三個(gè)部分,這個(gè)利用網(wǎng)蜂科技的CC2530核心板及功能底板組合構(gòu)成。傳感器節(jié)點(diǎn)除基本功能單元外還有傳感器功能模塊。
溫度傳感器模塊采用的是DS18B20。繼電器模塊采用的是SONGLE的SRS-05VDC-SL的繼電器。
4 軟件系統(tǒng)設(shè)計(jì)
程序設(shè)計(jì)是基于TI公司公布的協(xié)議棧ZStack,本設(shè)計(jì)采用的是ZStack-CC2530-2.4.0版本。用戶根據(jù)實(shí)際需要,在創(chuàng)建協(xié)調(diào)器和終端節(jié)點(diǎn)項(xiàng)目時(shí)在App用戶應(yīng)用層創(chuàng)建源文件編寫程序。其余功能要求由ZStack完成。
系統(tǒng)軟件設(shè)計(jì)主要包括兩種傳感器節(jié)點(diǎn)軟件設(shè)計(jì)、協(xié)調(diào)器節(jié)點(diǎn)軟件設(shè)計(jì)。溫度傳感器節(jié)點(diǎn)主要實(shí)現(xiàn)溫度數(shù)據(jù)的采集和發(fā)送;繼電器節(jié)點(diǎn)主要實(shí)現(xiàn)接收協(xié)調(diào)器數(shù)據(jù)并控制端口輸出;協(xié)調(diào)器節(jié)點(diǎn)既要負(fù)責(zé)網(wǎng)絡(luò)的管理和維護(hù),也要做為中轉(zhuǎn)站傳送傳感器節(jié)點(diǎn)與上位機(jī)之間的通信數(shù)據(jù)。
4.1 溫度傳感器模塊
溫度傳感器節(jié)點(diǎn)只與協(xié)調(diào)器通信,可以采用點(diǎn)對(duì)點(diǎn)通信模式。在程序中需要設(shè)置點(diǎn)對(duì)點(diǎn)通信。而協(xié)調(diào)器和所有的溫度控制模塊之間采用廣播形式。協(xié)調(diào)器與計(jì)算機(jī)之間采用串口通信,在CC2530模塊中有串口功能,在程序中需要添加MT頭文件,并在初始化程序中調(diào)用串口登記任務(wù)號(hào)。
溫度傳感器模塊的CC2530從18B20溫度傳感器上獲得溫度信息。采集的結(jié)果調(diào)用發(fā)送函數(shù)以點(diǎn)播形式發(fā)送給協(xié)調(diào)器。
4.2 溫度報(bào)警控制模塊
溫度控制器模塊的CC2530從協(xié)調(diào)器模塊上獲得控制信息,并根據(jù)控制信息控制繼電器的通斷。ZStack的App用戶應(yīng)用層應(yīng)用進(jìn)程事件函數(shù)中,當(dāng)模塊收到無線信息,調(diào)用信息處理函數(shù)SampleApp_MessageMSGCB。根據(jù)提取的信息內(nèi)容,判斷是否出現(xiàn)溫度超限情況。如果出現(xiàn)超限,啟動(dòng)報(bào)警控制電路繼電器,接通報(bào)警電路。
4.3 協(xié)調(diào)器模塊
本設(shè)計(jì)中協(xié)調(diào)器主要功能有三個(gè):首先,是建立一個(gè)Zigbee無線網(wǎng)絡(luò),發(fā)送信標(biāo),應(yīng)答此網(wǎng)絡(luò)中發(fā)送端各個(gè)發(fā)送節(jié)點(diǎn)加入網(wǎng)絡(luò)的請(qǐng)求,并為每個(gè)分支節(jié)點(diǎn)分配一個(gè)在此網(wǎng)絡(luò)中唯一的16bit的短地址(ShortAddress);其次,是Zigbee無線網(wǎng)絡(luò)組成之后,發(fā)送端的各個(gè)發(fā)送節(jié)點(diǎn)便定時(shí)的通過Zigbee無線局域網(wǎng)絡(luò)向接收端發(fā)送溫度數(shù)據(jù),協(xié)調(diào)器便接收這些數(shù)據(jù),并將各個(gè)發(fā)送節(jié)點(diǎn)每次發(fā)送來的溫度數(shù)據(jù)連同其已經(jīng)分配的唯一的短地址串口傳輸?shù)絇C機(jī)中;最后,是當(dāng)溫度超過設(shè)定的限值時(shí),向溫度控制模塊發(fā)送控制信息。本項(xiàng)目設(shè)計(jì)的溫度范圍是16℃~30℃。
5 系統(tǒng)調(diào)試
本測(cè)試采用星型架構(gòu),有一個(gè)協(xié)調(diào)器和三個(gè)終端組成。溫度傳感器終端采集溫度信息發(fā)送給協(xié)調(diào)器,協(xié)調(diào)器再通過串口將信息發(fā)送給PC機(jī)上。協(xié)調(diào)器在溫度超限時(shí)給繼電器溫度控制終端發(fā)送控制信息??刂平K端繼電器動(dòng)作。為了在實(shí)際應(yīng)用環(huán)境下測(cè)量,我們將各模塊放到學(xué)院圖書館中進(jìn)行功能測(cè)試。
讓協(xié)調(diào)器加電,組成網(wǎng)絡(luò),然后依次給其余三個(gè)節(jié)點(diǎn)加電,讓它們加入先前組成的網(wǎng)絡(luò)中。協(xié)調(diào)器節(jié)點(diǎn)通過串口線和筆記本相連。如果傳感器模塊接入?yún)f(xié)調(diào)器網(wǎng)絡(luò)時(shí),協(xié)調(diào)器分配16位短地址給傳感器節(jié)點(diǎn)。兩個(gè)溫度傳感器節(jié)點(diǎn)加入網(wǎng)絡(luò),短地址代碼為0x55ED和0xA860。
由于溫度節(jié)點(diǎn)2靠近圖書館窗戶,接收陽光照射,節(jié)點(diǎn)溫度有比較明顯的升溫。當(dāng)溫度超過30度時(shí),控制節(jié)點(diǎn)的繼電器動(dòng)作,蜂鳴器鳴叫報(bào)警。
在圖書館中,由于書架的影響,zigbee節(jié)點(diǎn)的無線通信距離只有10m。為了提高通信距離,測(cè)試時(shí)特地將所有節(jié)點(diǎn)置于書架上方。通過實(shí)際測(cè)量,在學(xué)院圖書館最遠(yuǎn)的兩個(gè)書架上,溫度傳感器節(jié)點(diǎn)可以和協(xié)調(diào)器節(jié)點(diǎn)通信,通信距離達(dá)40m。
6 結(jié)束語
經(jīng)過實(shí)地測(cè)試,系統(tǒng)軟硬件均工作正常,實(shí)現(xiàn)了需求中的絕大部分功能。測(cè)試中,溫度傳感器采集的是室溫,所測(cè)得的溫度值與室溫基本一致。上位機(jī)也順利接收溫度數(shù)據(jù)。溫度控制模塊能正常工作。當(dāng)然,本系統(tǒng)還有待改進(jìn)擴(kuò)展的地方,例如環(huán)境濕度信息采集,超限信息GSM/GPRS遠(yuǎn)程報(bào)警等。另外由于圖書館面積較大,測(cè)溫節(jié)點(diǎn)分散布局,實(shí)際使用中還需要考慮路由節(jié)點(diǎn)。
【參考文獻(xiàn)】
[1]高守瑋,吳燦陽.zigbee技術(shù)實(shí)踐教程[M].北京:北京航空航天大學(xué)出版社,2009.
[2]王小強(qiáng),歐陽駿,黃寧淋.zigbee無線傳感器網(wǎng)絡(luò)設(shè)計(jì)與實(shí)現(xiàn)[M].北京:化學(xué)工業(yè)出版社,2012.
[3]李文仲,段朝玉.ZigBee無線網(wǎng)絡(luò)技術(shù)入門與實(shí)戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2007.
[責(zé)任編輯:王楠]