龍光利
摘 要: 針對傳統(tǒng)環(huán)境溫濕度檢測系統(tǒng)傳輸距離短、高功耗、布線雜亂的現(xiàn)狀,設(shè)計(jì)一種基于ZigBee的無線溫濕度監(jiān)控系統(tǒng),它由終端傳感器模塊和協(xié)調(diào)器模塊組成。無線終端傳感器模塊的主要功能是采集溫度和濕度信息,協(xié)調(diào)器模塊建立并維護(hù)ZigBee網(wǎng)絡(luò),ZigBee網(wǎng)絡(luò)經(jīng)終端模塊和協(xié)調(diào)器模塊將數(shù)據(jù)上傳到上位機(jī),達(dá)到實(shí)時(shí)監(jiān)測的效果。實(shí)驗(yàn)表明,終端模塊可以正常采集溫度和濕度,協(xié)調(diào)器模塊可無線接收數(shù)據(jù)并通過串口通信,在上位機(jī)上能正確顯示溫濕度信息。
關(guān)鍵詞: 溫度監(jiān)控; 濕度監(jiān)控; ZigBee; 終端傳感器模塊; 協(xié)調(diào)器模塊; 信息采集
中圖分類號: TN948.64?34; TN919.72 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2018)12?0036?04
Abstract: In view of the status quos of short transmission distance, high power consumption, and disordered wiring existing in the traditional environment temperature and humidity detection system, a wireless temperature and humidity monitoring system based on ZigBee is designed. The system is composed of the terminal sensor module and coordinator module. The main function of the wireless terminal sensor module is to collect temperature and humidity information. The coordinator module is used to establish and maintain ZigBee network, which uploads data to the host computer via the terminal module and coordinator module, so as to achieve real?time monitoring. The experimental results show that the terminal module can collect temperature and humidity information normally, the coordinator module can wirelessly receive data and communicate via the serial port, and the temperature and humidity information can be displayed correctly on the host computer.
Keywords: temperature monitoring; humidity monitoring; ZigBee; terminal sensor module; coordinator module; information acquisition
0 引 言
近年來,隨著農(nóng)業(yè)規(guī)?;凸I(yè)自動化的發(fā)展,溫濕度監(jiān)測系統(tǒng)越來越多地應(yīng)用于糧食儲存[1]、農(nóng)業(yè)生產(chǎn)中的種植大棚 [2]、工業(yè)生產(chǎn)中的環(huán)境控制、生物化學(xué)制藥[3]等領(lǐng)域中,建立監(jiān)測溫濕度網(wǎng)絡(luò)是十分重要的技術(shù)環(huán)節(jié)。溫濕度監(jiān)測系統(tǒng)采用有線監(jiān)測設(shè)備,布線比較雜亂,檢修維護(hù)困難,靈活性不高。無線溫濕度監(jiān)測系統(tǒng)結(jié)合了傳感器和無線通信技術(shù),不需要鋪設(shè)線路,周圍環(huán)境影響小,擴(kuò)展用途容易, 維護(hù)檢修比較方便。低速率和短距離的ZigBee無線通信技術(shù)容易推廣應(yīng)用,工作頻段比較靈活,成本和功耗比較小,運(yùn)行比較可靠,同時(shí)具有自恢復(fù)能力和自組網(wǎng)功能。
1 硬件設(shè)計(jì)
基于ZigBee的無線溫濕度監(jiān)控系統(tǒng)原理框圖如圖1所示,系統(tǒng)由溫濕度傳感器、單片機(jī)、終端模塊、協(xié)調(diào)器模塊、PC上位機(jī)等組成。單片機(jī)采用STM32芯片,以ZigBee為技術(shù)支撐向遠(yuǎn)距離上位機(jī)傳輸信息,分為ZigBee普通節(jié)點(diǎn)與ZigBee匯聚節(jié)點(diǎn)兩部分[4]。所有節(jié)點(diǎn)使用相同信道進(jìn)行通信,在上電啟動后會形成ZigBee網(wǎng)絡(luò),普通節(jié)點(diǎn)即作為終端模塊采集信息,也可作為路由節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)。在普通節(jié)點(diǎn)中,通過控制多種傳感器采集環(huán)境信息,以多跳方式送給協(xié)調(diào)器。在協(xié)調(diào)器模塊中,各個節(jié)點(diǎn)傳輸數(shù)據(jù)經(jīng)該信道接收,傳輸給上位機(jī)進(jìn)行顯示。
1.1 單片機(jī)最小系統(tǒng)設(shè)計(jì)
單片機(jī)最小系統(tǒng)主要由單片機(jī)[5]、復(fù)位電路、時(shí)鐘電路組成。單片機(jī)采用STM32F103C8T6微控制器,它具有低電壓和節(jié)能特點(diǎn),工作電壓為2.0~3.6 V。其時(shí)鐘電路由兩個晶振和電容組成,兩個晶振頻率分別是8 MHz和32 MHz,8 MHz系晶振接在單片機(jī)5管腳OSC_IN和6管腳OSC_OUT上,經(jīng)鎖相環(huán)倍頻后,為單片機(jī)提供系統(tǒng)時(shí)鐘基準(zhǔn)頻率;32 MHz晶振接在單片機(jī)3管腳PC13?OSC_IN和4管腳PC15?OSC_OUT上。單片機(jī)7管腳NRST為復(fù)位管腳。由于系統(tǒng)內(nèi)部有數(shù)/模轉(zhuǎn)換模擬電路,故需對整個系統(tǒng)進(jìn)行分開供電,有三路電源,分別為單片機(jī)工作電源、模擬電路電源和數(shù)/模變換參考電壓輸入。
1.2 終端模塊電路設(shè)計(jì)
終端模塊主要由CC2530芯片、微控制器STM32以及溫度傳感器DHT11等組成。終端模塊主要負(fù)責(zé)完成對溫濕度數(shù)據(jù)的采集。選擇身份啟動后啟動終端模塊,終端模塊建立一個端點(diǎn),若端點(diǎn)與協(xié)調(diào)器信息描述一致,終端模塊和協(xié)調(diào)器就成功綁定,可進(jìn)行通信。終端模塊組成圖如圖2所示。
啟動設(shè)備進(jìn)入低功耗模式,通過按鍵傳送綁定請求,終端模塊將綁定協(xié)調(diào)器,定時(shí)采集溫濕度數(shù)據(jù)時(shí)間將被操作系統(tǒng)自動觸發(fā),定時(shí)時(shí)間到則開始采集溫濕度數(shù)據(jù)并按一定的格式發(fā)送出去,如果定時(shí)沒到,
則終端節(jié)點(diǎn)將一直處于低功耗狀態(tài),直到定時(shí)到或者有其他用戶時(shí)間發(fā)生。在采集溫濕度數(shù)據(jù)后,將會自動與報(bào)警溫度數(shù)據(jù)比較,如果超限則打開定時(shí)器,開始發(fā)出一定頻率的蜂鳴器鳴叫。在狀態(tài)指示上可采用LED燈指示,如啟動成功就打開LED1,綁定成功就打開LED2,正在發(fā)送數(shù)據(jù)可用LED1閃爍表示。
1.2.1 溫濕度傳感器
溫濕度傳感器采用DHT11,其工作電壓為 3~5.5 V。通電后,等待1 s以跨過不穩(wěn)定狀態(tài),這期間沒有任何指令發(fā)送。在電源引腳(VDD和GND)可加一個100 nF的電容,用于去耦濾波。DHT11實(shí)際上只有3引腳可以連接工作,其測量的濕度范圍(相對濕度)為20%~90%,溫度為0~50 ℃。DHT11通信方式為串行單線雙向通信,數(shù)據(jù)40 bit,分為整數(shù)和小數(shù)兩部分。當(dāng)啟動后的信號發(fā)送給用戶時(shí),DHT11響應(yīng)將切換到高速模式,傳輸數(shù)據(jù)和校驗(yàn)數(shù)據(jù)將被切換到低功耗模式。
1.2.2 CC2530電路設(shè)計(jì)
CC2530芯片是由TI公司設(shè)計(jì)開發(fā)的SoC芯片[6],它支持IEEE 802.15.4標(biāo)準(zhǔn)/ZigBee/ZigBee RF4CE,包括一個無線收發(fā)器、一個8051微處理器、RAM有8 kB、閃存分為32/64/128/256 kB、4種供電模式以及包括8通道12位數(shù)/模轉(zhuǎn)換器、2個通用串口模塊、21個通用GPIO等。設(shè)計(jì)的CC2530電路如圖3所示。
1.2.3 電源電路設(shè)計(jì)
STM32F103C8T6單片機(jī)和CC2530的供電電源為3.3 V,其誤差范圍[7]為±0.5 V。5 V直流電源可通過3.3 V穩(wěn)壓芯片AMS1117使5 V電壓降到3.3 V,設(shè)計(jì)的電源電路如圖4所示。
1.3 協(xié)調(diào)器模塊電路設(shè)計(jì)
協(xié)調(diào)器模塊組成圖如圖5所示,其主要由串口通信電路、CC2530芯片、單片機(jī)STM32等組成[8]??蓱?yīng)用USB接口將搜集到的數(shù)據(jù)通過串口助手傳送到上位機(jī)。協(xié)調(diào)器可設(shè)置一些指示燈用來指示其工作狀態(tài),如設(shè)備啟動成功點(diǎn)亮LED1,打開允許綁定點(diǎn)亮LED2,關(guān)閉綁定則熄滅LED2,接收到了數(shù)據(jù)就閃爍LED1等,這樣可從視覺上感覺到協(xié)調(diào)器一直處于工作狀態(tài)中。
2 軟件設(shè)計(jì)
軟件包括終端模塊軟件和協(xié)調(diào)器模塊軟件兩部分。
2.1 終端模塊的軟件設(shè)計(jì)
本文設(shè)計(jì)的終端模塊程序流程圖如圖6所示。采集溫濕度數(shù)據(jù)由終端模塊負(fù)責(zé)完成,發(fā)送給協(xié)調(diào)器,并能夠?qū)崟r(shí)檢測。
2.2 協(xié)調(diào)器模塊的軟件設(shè)計(jì)
本文設(shè)計(jì)的協(xié)調(diào)器模塊程序流程圖如圖7所示。首先建立ZigBee網(wǎng)絡(luò),判定是否接收到綁定請求,啟動協(xié)調(diào)器后,自動設(shè)置網(wǎng)絡(luò)地址為0x0000,發(fā)送采集命令,接收采集數(shù)據(jù),串口發(fā)送到上位機(jī)進(jìn)行顯示。
根據(jù)流程圖,用C語言編程,在IAR的C語言開發(fā)環(huán)境下編譯[9],當(dāng)編譯完成,出現(xiàn)零錯誤、零警告后,利用IAR輸出文件SampleApp.hex,采用FlyMcu下載軟件,將SampleApp.hex燒錄到單片機(jī)STM32F103C8T6中,可根據(jù)燒錄環(huán)境顯示的燒錄進(jìn)度判定燒錄是否完成。
3 實(shí)驗(yàn)結(jié)果
將下載軟件的單片機(jī)和相關(guān)元器件分別焊接在兩塊PCB板上,組成1個協(xié)調(diào)器和1個(可多個)終端設(shè)備(溫濕度傳感節(jié)點(diǎn)),協(xié)調(diào)器通過串口與PC機(jī)相連,由上位機(jī)(PC機(jī))顯示最終結(jié)果 [10]。協(xié)調(diào)器和終端設(shè)備合上電源后,協(xié)調(diào)器和終端模塊的LED燈開始閃爍,表明設(shè)備正在綁定,閃爍時(shí)間5 s左右。LED燈不閃爍并一直點(diǎn)亮?xí)r,表示協(xié)調(diào)器和終端模塊已綁定成功。緊接著,傳感器開始采集數(shù)據(jù),終端模塊向協(xié)調(diào)器周期性發(fā)送溫濕度數(shù)據(jù),溫濕度在上位機(jī)顯示。改變環(huán)境溫濕度可進(jìn)行多次測量,以便使設(shè)備狀態(tài)達(dá)到最佳。串口調(diào)試助手中溫濕度顯示結(jié)果如圖8所示。在圖8中,當(dāng)前的溫度為24 ℃,濕度為41%。
4 結(jié) 語
本文設(shè)計(jì)的無線溫濕度監(jiān)控系統(tǒng),由協(xié)調(diào)器模塊完成ZigBee網(wǎng)絡(luò)的建立和維護(hù),由終端模塊完成溫濕度信息的采集,數(shù)據(jù)經(jīng)過ZigBee網(wǎng)絡(luò)傳送到上位機(jī)。模塊無線傳輸時(shí),系統(tǒng)無需布線,功耗低;同時(shí)由于采用STM32單片機(jī),存儲容量大,可連接接口多,數(shù)據(jù)精度高。若加入WiFi模塊,可將數(shù)據(jù)發(fā)送到手機(jī)客戶端,可遠(yuǎn)距離觀察[11]。為進(jìn)一步拓展應(yīng)用,電源部分還可采用太陽能供電系統(tǒng)[12]增加傳感器,還可以監(jiān)測傳輸更多相關(guān)參數(shù)。
參考文獻(xiàn)
[1] 陳桂香,王海濤,張虎.通風(fēng)過程中糧堆內(nèi)熱濕傳遞及霉變預(yù)測CFD研究[J].中國糧油學(xué)報(bào),2015,30(7):85?90.
CHEN Guixiang, WANG Haitao, ZHANG Hu. CFD study on heat and moisture transfer and mildew prediction of stored grain in the ventilation process [J]. Journal of the Chinese Cereals and Oils Association, 2015, 30(7): 85?90.
[2] 王麗雅.大棚溫濕度和光照度自動控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].農(nóng)業(yè)工程,2013,3(4):48?51.
WANG Liya. Design and implementation of temperature,humidity and light intensity automatic control system for greenhouse [J]. Agricultural engineering, 2013, 3(4): 48?51.
[3] 張鋒,李凱亮,曾俊林.基于物聯(lián)網(wǎng)技術(shù)的石化廠區(qū)有毒氣體泄漏在線監(jiān)測系統(tǒng)[J].儀表技術(shù)與傳感器,2015(6):95?98.
ZHANG Feng, LI Kailiang, ZENG Junlin. Online monitoring system of toxic gas leak for petrochemical plant based on Internet of Things [J]. Instrument technique and sensor, 2015(6): 95?98.
[4] 李妤薇.基于ZigBee的無線傳感器網(wǎng)絡(luò)協(xié)議研究與設(shè)計(jì)實(shí)現(xiàn)[D].南京:南京郵電大學(xué),2014.
LI Yuwei. Research and design implementation of wireless sensor network protocol based on ZigBee [D]. Nanjing: Nanjing University of Posts and Telecommunications, 2014.
[5] 楊偉,肖義平.基于STM32F103C8T6單片機(jī)的LCD顯示系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2014,33(20):29?31.
YANG Wei, XIAO Yiping. LCD display system design based on MCU STM32F103C8T6 [J]. Microcomputer & its applications, 2014, 33(20): 29?31.
[6] 王素青,吳超.基于CC2530的環(huán)境監(jiān)測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測量與控制,2015,23(8):2650?2653.
WANG Suqing, WU Chao. Design and realization of environmental monitoring system based on CC2530 [J]. Computer measurement & control, 2015, 23(8): 2650?2653.
[7] 鄭曉慶,楊日杰,楊立永,等.多路輸出DC?DC電路設(shè)計(jì)[J].國外電子測量技術(shù),2012,31(9):31?33.
ZHENG Xiaoqing, YANG Rijie, Yang Liyong, et al. Design of multiple?output DC?DC circuit [J]. Foreign electronic measurement technology, 2012, 31(9): 31?33.
[8] 陳克濤,張海輝,張永猛,等.基于CC2530的無線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)節(jié)點(diǎn)的設(shè)計(jì)[J].西北農(nóng)林科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,42(5):183?188.
CHEN Ketao, ZHANG Haihui, ZHANG Yongmeng, et al. Design of CC2530 based gateway node for wireless sensor network [J]. Journal of Northwest A & F University (Natural science edition), 2014, 42(5): 183?188.
[9] 王曉東.基于STM32和ZigBee的智能家居下位機(jī)系統(tǒng)的研究與設(shè)計(jì)[D].曲阜:曲阜師范大學(xué),2015.
WANG Xiaodong. Research and design of intelligent home lower computer system based on STM32 and ZigBee [D]. Qufu: Qufu Normal University, 2015.
[10] 苑宇坤,譚秋林,楊明亮,等.?;愤\(yùn)輸跟蹤監(jiān)測系統(tǒng)上位機(jī)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測量與控制,2015,23(4):1134?1136.
YUAN Yukun, TAN Qiulin, YANG Mingliang, et al. Design and realization on trailing monitoring up?system for hazardous chemicals transportation [J]. Computer measurement & control, 2015, 23(4): 1134?1136.
[11] 潘琢金,李冰,羅振,等.基于STM32的UART?WiFi模塊的設(shè)計(jì)與實(shí)現(xiàn)[J].制造業(yè)自動化,2015,37(7):127?130.
PAN Zhuojin, LI Bing, LUO Zhen, et al. Design and implementation of UART?WiFi module based on STM32 [J]. Manufacturing automation, 2015, 37(7): 127?130.
[12] 張?jiān)?,高艷,王金龍.基于太陽能的野外檢測系統(tǒng)低功耗設(shè)計(jì)[J].儀表技術(shù)與傳感器,2014(1):107?110.
ZHANG Yuanliang, GAO Yan, WANG Jinlong. Low power design of field measurement system based on solar power [J]. Instrument technique and sensor, 2014(1): 107?110.