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