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