楊懷德
摘要:針對(duì)傳統(tǒng)溫濕度采集系統(tǒng)布線復(fù)雜、施工成本高、測(cè)量精度低等問(wèn)題, 該文設(shè)計(jì)了基于ZigBee的無(wú)線溫濕度采集系統(tǒng)實(shí)現(xiàn)方案。該方案選用DHT11芯片采集溫濕度信息, 選用CC2530對(duì)采集到的信息進(jìn)行分析處理,并實(shí)現(xiàn)溫濕度信息的無(wú)線監(jiān)測(cè)。實(shí)驗(yàn)結(jié)果表明: 該系統(tǒng)能夠?qū)崿F(xiàn)溫濕度信息的實(shí)時(shí)采集和無(wú)線傳輸, 具有靈活性、 準(zhǔn)確度高、實(shí)時(shí)性等優(yōu)點(diǎn)。
關(guān)鍵詞: ZigBee;溫濕度;無(wú)線采集;CC2530;DHT11
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)14-0229-03
Design of Indoor Wireless Temperature and Humidity Acquisition System Based on ZigBee
YANG Huai-de
(The Computer Engineering Department of Dongguan Polytechnic,Dongguan 523808, China)
Abstract:Aiming at the problems of complicated wiring, high construction cost and low measurement precision of traditional temperature and humidity acquisition system, this paper designs a wireless temperature and humidity acquisition system based on ZigBee. The program selects DHT11 chip to collect temperature and humidity information, select CC2530 to analyze the collected information, and realize the wireless monitoring of temperature and humidity information. The experimental results show that the system can realize the real-time acquisition and wireless transmission of temperature and humidity information, and has the advantages of flexibility, high accuracy, real-time and so on.。
Key words:ZigBee; temperature and humidity; wireless acquisition; CC2530; DHT11
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,溫濕度信息采集系統(tǒng)在安防監(jiān)控、智能家居、智慧農(nóng)業(yè)等領(lǐng)域的應(yīng)用越來(lái)越廣泛:人們可以根據(jù)獲取到的溫度信息來(lái)控制空調(diào)的風(fēng)速,還可以根據(jù)獲取到的濕度信息來(lái)調(diào)節(jié)除濕設(shè)備的工作參數(shù)[1-2]。傳統(tǒng)方法大多采用有線連接方式,布線工作量大、維護(hù)困難,系統(tǒng)的成本高、靈活性差[3]。針對(duì)這一問(wèn)題,本文設(shè)計(jì)了一種基于ZigBee技術(shù)的無(wú)線溫濕度采集系統(tǒng),該系統(tǒng)具有可快速部署、無(wú)人值守、功耗小、成本低等優(yōu)點(diǎn),十分適用于構(gòu)建多點(diǎn)溫濕度監(jiān)測(cè)。
1 系統(tǒng)總體設(shè)計(jì)
1.1設(shè)計(jì)要求
在無(wú)線溫濕度采集系統(tǒng)中, 對(duì)系統(tǒng)的功耗、 精確度、 實(shí)時(shí)性有較高要求。具體設(shè)計(jì)要求如下:
1)能對(duì)節(jié)點(diǎn)所處位置的溫濕度進(jìn)行采集,溫度的檢測(cè)范圍為-50℃~50℃,誤差允許范圍為;±2℃,濕度測(cè)量范圍為20%~90%RH,誤差允許范圍為±25RH[4]。
2)能通過(guò)無(wú)線傳輸?shù)姆绞綄⒐?jié)點(diǎn)采集到的溫濕度信息傳送到主控端。
3)當(dāng)檢測(cè)到數(shù)據(jù)超過(guò)閾值時(shí),能進(jìn)行自動(dòng)報(bào)警。
4)能將采集到的溫濕度數(shù)據(jù)通過(guò)LCD屏幕進(jìn)行顯示。
1.2設(shè)計(jì)方案
利用模塊化設(shè)計(jì)思想, 將系統(tǒng)分為溫濕度采集、 傳輸、 數(shù)據(jù)處理三個(gè)模塊。系統(tǒng)的工作原理是: 溫濕度采集模塊對(duì)環(huán)境溫度、濕度進(jìn)行實(shí)時(shí)采集, 然后把采集到的溫度、濕度信息交由傳輸模塊組裝成幀進(jìn)行無(wú)線傳輸, 最后主控端對(duì)接收到的數(shù)據(jù)進(jìn)行分析處理。其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,監(jiān)測(cè)節(jié)點(diǎn)與主控端通過(guò)ZIGBEE無(wú)線網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)通信。
2 系統(tǒng)硬件設(shè)計(jì)
為了滿足系統(tǒng)設(shè)計(jì)要求,本系統(tǒng)選用CC2530作為本設(shè)計(jì)的主芯片。CC2530 是用于2.4-GHz IEEE 802.15.4、ZigBee 和RF4CE 應(yīng)用的一個(gè)真正的片上系統(tǒng)(SoC)解決方案。它能夠以非常低的總的材料成本建立強(qiáng)大的網(wǎng)絡(luò)節(jié)點(diǎn)。CC2530 結(jié)合了領(lǐng)先的RF 收發(fā)器的優(yōu)良性能,業(yè)界標(biāo)準(zhǔn)的增強(qiáng)型8051 CPU,系統(tǒng)內(nèi)可編程閃存,8-KB RAM 和許多其他強(qiáng)大的功能[5-6]。CC2530 有四種不同的閃存版本:CC2530F32/64/128/256,分別具有32/64/128/256KB 的閃存。CC2530 具有不同的運(yùn)行模式,使得它尤其適應(yīng)超低功耗要求的系統(tǒng)[7]。
2.1溫濕度采集模塊硬件設(shè)計(jì)
溫濕度采集模塊采用DHT11作為核心芯片,DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器,包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件。本系統(tǒng)將C2530的P0_7用來(lái)連接DHT11的信號(hào)線PIN2進(jìn)行數(shù)據(jù)傳輸,其電路設(shè)計(jì)如圖2所示。
2.2 ZigBee無(wú)線傳輸模塊硬件設(shè)計(jì)
無(wú)線傳輸模塊采用CC2530內(nèi)部集成的RF模塊作為核心模塊,實(shí)現(xiàn)無(wú)線組網(wǎng)、數(shù)據(jù)包尋找終端進(jìn)行數(shù)據(jù)交換的功能。CC2530芯片具有地址配對(duì)的功能,只需要在寫入程序時(shí),設(shè)置配對(duì)終端的地址即可發(fā)送數(shù)據(jù)、接收收據(jù)、處理數(shù)據(jù)為主,實(shí)現(xiàn)信息的A/D轉(zhuǎn)換及收發(fā),因此這部分的主要工作是射頻電路的設(shè)計(jì)。無(wú)線RF的外圍電路連接與CC2530芯片有對(duì)應(yīng)的引腳接口:引腳25對(duì)應(yīng)RF_N,引腳26對(duì)應(yīng)RF_P,其電路設(shè)計(jì)如圖3所示。
2.3 溫濕度信息顯示模塊硬件設(shè)計(jì)
溫濕度信息顯示模塊的核心是顯示屏,本系統(tǒng)采用ST7735。ST7735是一款單芯片控制器/驅(qū)動(dòng)器262K色,圖形型TFT-LCD。該芯片接受串行外圍接口(SPI),8位/ 9位/ 16位/ 18位并行接口。顯示數(shù)據(jù)可以存儲(chǔ)在片上顯示數(shù)據(jù)為132 x 162×18位RAM.它可以執(zhí)行顯示數(shù)據(jù)RAM讀/寫操作,沒(méi)有外部操作時(shí)鐘以使功耗最小。ST7735與CC2530之間的電路連接設(shè)計(jì)如圖4所示。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)采用IAR集成開(kāi)發(fā)環(huán)境進(jìn)行開(kāi)發(fā),軟件設(shè)計(jì)盡量采用模塊化、標(biāo)準(zhǔn)化的設(shè)計(jì)思想、分段編程、分段調(diào)試;各個(gè)功能模塊相互獨(dú)立,盡量使它們松散耦合,便于將來(lái)進(jìn)行維護(hù)和功能增強(qiáng)??傊谡麄€(gè)系統(tǒng)的軟件設(shè)計(jì)中,充分發(fā)揮了硬件的特性,控制流程簡(jiǎn)潔精確,反應(yīng)靈敏,優(yōu)先級(jí)控制使用得當(dāng),并且在軟件控制中充分發(fā)揮了中斷和定時(shí)功能,使整個(gè)系統(tǒng)反應(yīng)更加及時(shí)靈敏。
系統(tǒng)軟件主要由主框架模塊、DHT11模塊、LCD顯示模塊三個(gè)部分組成。主框架模塊使用TI的Z-STACK模型,運(yùn)行于OSAL操作系統(tǒng)之上。 OSAL (Operating System Abstraction Layer)是一種支持多任務(wù)運(yùn)行的系統(tǒng)資源分配機(jī)制,實(shí)現(xiàn)了類似操作系統(tǒng)的某些功能,但并不能稱之為真正意義上的操作系統(tǒng)。其工作原理是基于事件驅(qū)動(dòng),當(dāng)有一個(gè)事件發(fā)生的時(shí)候,OSAL負(fù)責(zé)將此事件分配給能夠處理此事件的任務(wù),然后此任務(wù)判斷事件的類型,調(diào)用相應(yīng)的事件處理程序進(jìn)行處理。為此,需要注冊(cè)新的溫濕度采集的任務(wù),并完成該任務(wù)的初始化函數(shù)和事件處理函數(shù)的編寫,具體流程如圖5所示。App_Send_P2P_MSG函數(shù)中通過(guò)DHT11模塊提供的借口獲取溫濕度信息,利用Z-STACK協(xié)議棧的無(wú)線發(fā)送接口向主控端發(fā)送獲取到的溫濕度信息。App_MSBCB函數(shù)利用Z-STACK協(xié)議棧的無(wú)線接收接口對(duì)收到的溫濕度信息進(jìn)行處理,并調(diào)用LCD顯示模塊進(jìn)行顯示。
DHT11模塊提供溫濕度信息采集的接口,使得應(yīng)用程序可以方便的獲取節(jié)點(diǎn)所處環(huán)境的溫濕度信息。DHT11信號(hào)線工作電壓時(shí)序如圖6所示??偩€空閑狀態(tài)為高電平,主機(jī)把總線拉低等待DHT11響應(yīng),主機(jī)把總線拉低且必須維持18毫秒以上,保證DHT11能檢測(cè)到起始信號(hào)。DHT11接收到主機(jī)的開(kāi)始信號(hào)后,等待主機(jī)開(kāi)始信號(hào)結(jié)束,然后發(fā)送80us低電平響應(yīng)信號(hào)。主機(jī)發(fā)送開(kāi)始信號(hào)結(jié)束后,延時(shí)等待20-40us后, 讀取DHT11的響應(yīng)信號(hào),主機(jī)發(fā)送開(kāi)始信號(hào)后,可以切換到輸入模式,或者輸出高電平均可, 總線由上拉電阻拉高。
LCD顯示模塊提供寫LCD的接口,使得應(yīng)用程序可以輸出信息到LCD屏,方便人機(jī)交互。本系統(tǒng)將CC2530的UART1設(shè)置成SPI工作模式,從而使用SPI傳輸協(xié)議來(lái)和LCD進(jìn)行通信。本系統(tǒng)采用的顯示模塊是ST7735,在正常使用之前需要按照其時(shí)序要求對(duì)其進(jìn)行正確的初始化。LCD模塊提供中文寫接口_和英文寫接口,支持中文和英文顯示。 英文寫LCD接口的偽代碼如下所示:
LCD_write_EN_string(unsigned char X,unsigned char Y,uint8 s)
{ while (*s)
{寫一個(gè)字符
s++;
if(超過(guò)每行最大顯示字符數(shù)){
return;}}
return;}
中文寫LCD接口的流程與英文寫LCD接口類似,不同之處是,中文寫流程中需要去字模庫(kù)中查找字模,如果能搜索到對(duì)應(yīng)的字模就可以正常顯示該字符,否則顯示空白。
3 結(jié)論
本文著重研究了基于ZigBee的無(wú)線溫濕度采集系統(tǒng)的設(shè)計(jì),給出了系統(tǒng)的設(shè)計(jì)框架圖,并詳細(xì)討論了系統(tǒng)的硬件和軟件實(shí)現(xiàn)方案,本文設(shè)計(jì)的溫濕度采集系統(tǒng)適用于大多數(shù)無(wú)線溫濕度監(jiān)測(cè)系統(tǒng)的需求,對(duì)后續(xù)功能的完善和開(kāi)發(fā)具有很好參考價(jià)值。
參考文獻(xiàn):
[1] 李灝,楊海波. 基于ARM的物聯(lián)網(wǎng)溫濕度采集節(jié)點(diǎn)設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2014(14):132-134.
[2] 趙懿琨,李長(zhǎng)友,卿艷梅,等. 基于μC/OS-Ⅱ的糧倉(cāng)多點(diǎn)溫濕度無(wú)線采集系統(tǒng)的設(shè)計(jì)與測(cè)試[J].華南農(nóng)業(yè)大學(xué)學(xué)報(bào), 2015(2):95-99.
[3] 董靜薇,李會(huì)樂(lè),郭艷雯,等.基于Zigbee的糧倉(cāng)溫濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].哈爾濱理工大學(xué)學(xué)報(bào),2014,19(2):120-124.
[4] 馮禹,孔祥金,林語(yǔ),等.基于CC2530的無(wú)線溫度采集系統(tǒng)設(shè)計(jì)[J].電子技術(shù),2013(7).
[5] 廖建尚.基于CC2530和ZigBee的智能農(nóng)業(yè)溫濕度采集系統(tǒng)設(shè)計(jì)[J].物聯(lián)網(wǎng)技術(shù),2015,5(8):25-29.
[6] 麥軍,鄧巧茵,萬(wàn)智萍.基于CC2530的ZigBee無(wú)線組網(wǎng)溫度監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)[J].電子設(shè)計(jì)工程,2015,23(22):117-121.
[7] 聶曉立,高小龍.基于CC2530的無(wú)線溫度采集系統(tǒng)設(shè)計(jì)[J]. 電腦知識(shí)與技術(shù),2015(8).