張 軍,吳建鋒
(杭州電子科技大學(xué)新型電子器件與應(yīng)用研究所,浙江杭州310018)
溫濕度檢測(cè)與控制技術(shù)被廣泛應(yīng)用于工農(nóng)業(yè)生產(chǎn)中,如溫室、烤煙樓、大棚等很多地方都會(huì)對(duì)溫度和濕度進(jìn)行定時(shí)監(jiān)測(cè),以保證生產(chǎn)要求或植物在最佳環(huán)境下生長(zhǎng)。如果采用人工定時(shí)測(cè)量,不但要耗費(fèi)大量的人力,而且不能夠做到實(shí)時(shí)監(jiān)控,特別在某些高溫場(chǎng)所還有可能造成安全事故。傳感器無(wú)疑是測(cè)量與控制系統(tǒng)中重要的組成部分。但是伴隨傳感器而來(lái)的是布線的復(fù)雜和不便,大量的數(shù)據(jù)線纜還存在著短路、斷線隱患,成本高、易老化等問(wèn)題,給系統(tǒng)的調(diào)試和維護(hù)增加了難度。無(wú)線數(shù)據(jù)通信技術(shù)以其組網(wǎng)簡(jiǎn)單、使用方便、擴(kuò)展性強(qiáng)的優(yōu)點(diǎn)在實(shí)際應(yīng)用中被廣泛采用。為此,設(shè)計(jì)了一種基于無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSN)的溫濕度檢測(cè)系統(tǒng)[1-3]。
無(wú)線傳感器網(wǎng)絡(luò)是由大量微型、智能、低功耗傳感器以某種網(wǎng)絡(luò)協(xié)議構(gòu)成的無(wú)線網(wǎng)絡(luò),能夠協(xié)作地實(shí)時(shí)監(jiān)測(cè)、感知和采集網(wǎng)絡(luò)分布區(qū)域內(nèi)的各種環(huán)境或監(jiān)測(cè)對(duì)象的信息,并對(duì)這些信息進(jìn)行處理,獲得詳盡而準(zhǔn)確的信息,傳送到需要這些信息的用戶。它綜合了傳感器技術(shù)、嵌入式計(jì)算技術(shù)、分布式信息處理技術(shù)和無(wú)線通信技術(shù),是信息感知和采集的一場(chǎng)革命。
系統(tǒng)由測(cè)控主機(jī)和若干無(wú)線溫濕度傳感器節(jié)點(diǎn)組成,如圖1所示。其中測(cè)控主機(jī)主要由上位機(jī)、電源、無(wú)線收發(fā)模塊nRF9E5組成,通過(guò)MAX3232轉(zhuǎn)換電路,和PC機(jī)進(jìn)行串口通信。它能夠接收遠(yuǎn)程各節(jié)點(diǎn)信息,監(jiān)控節(jié)點(diǎn)運(yùn)行情況,并根據(jù)上位機(jī)要求發(fā)送命令字到指定節(jié)點(diǎn),控制各節(jié)點(diǎn)的功能。無(wú)線溫濕度傳感器節(jié)點(diǎn)主要由電源、溫濕度傳感器、無(wú)線收發(fā)模塊nRF9E5組成,能夠采樣并發(fā)送數(shù)據(jù)到測(cè)控主機(jī),接收并執(zhí)行測(cè)控主機(jī)發(fā)送來(lái)的指令,并且可作為中轉(zhuǎn)站間接傳輸數(shù)據(jù)[4-10]。本文主要介紹無(wú)線溫濕度傳感器節(jié)點(diǎn)的硬件結(jié)構(gòu)和軟件設(shè)計(jì)方法。
圖1 系統(tǒng)結(jié)構(gòu)圖
該系統(tǒng)的傳感器節(jié)點(diǎn)電路如圖2所示。
圖2 傳感器節(jié)點(diǎn)電路圖
核心芯片采用了Nordic公司的nRF9E5。nRF9E5是Nordic公司于2004年推出的系統(tǒng)級(jí)RF芯片,其內(nèi)置nRF905 433/868/915MHz收發(fā)器、8051兼容微控制器和4輸入10位80ksps A/D轉(zhuǎn)換器,數(shù)據(jù)傳輸速率100kbps。工作電壓1.9~3.6V,功耗低。nRF9E5還具有載波檢測(cè)功能。它在發(fā)送數(shù)據(jù)前,先進(jìn)入接收模式偵聽(tīng),當(dāng)出現(xiàn)nRF9E5工作信道內(nèi)的射頻載波時(shí),載波檢測(cè)引腳(CD)被置高。這個(gè)特性很好地避免了同一工作頻率下不同發(fā)射器的數(shù)據(jù)包之間的碰撞[4]。
傳感器采用溫度傳感器DS18B20與濕度傳感器HS1101。DS18B20是美國(guó)Dallas公司推出的單線數(shù)字式溫度傳感器,工作電壓3.0~5.5V,溫度測(cè)量范圍-55~+125℃,在-10~+85℃范圍內(nèi)測(cè)量時(shí)精度為±0.5℃。DS18B20溫度傳感器的檢測(cè)轉(zhuǎn)換結(jié)果以16位二進(jìn)制的補(bǔ)碼形式存放在溫度寄存器中,如表1所示,其中S為符號(hào)位,溫度為正時(shí)S=0,溫度為負(fù)時(shí)S=1,其他位為數(shù)據(jù)位,數(shù)據(jù)位越多溫度分辨率越高,9位數(shù)據(jù)溫度分辨率為0.5℃,12位數(shù)據(jù)溫度分辨率為0.062 5℃。它將現(xiàn)場(chǎng)采集到的溫度數(shù)據(jù)直接轉(zhuǎn)換成數(shù)字量輸出到nRF9E5的GPIO口P0.0。HS1101型濕度傳感器是HUMIREL公司生產(chǎn)的變?nèi)菔较鄬?duì)濕度傳感器,工作電壓3.5~12V。該傳感器具有檢測(cè)速度快、高精度、高可靠性、長(zhǎng)期穩(wěn)定性和使用方便、體積小等特點(diǎn)。HS1101型傳感器在不同的相對(duì)濕度中的電容值不同,利用這個(gè)特點(diǎn)與555芯片構(gòu)成非穩(wěn)態(tài)電路,產(chǎn)生頻率隨濕度變化的脈沖信號(hào),接入nRF9E5的計(jì)數(shù)器T0口P0.5,輸出頻率的典型值如表2所示。每個(gè)傳感器節(jié)點(diǎn)采用6F22 9V電池供電。
表1 DS18B20溫度寄存器結(jié)構(gòu)
表2 HS1101典型頻率值(參考點(diǎn):25℃,相對(duì)濕度:55%,輸出頻率:6.660kHz)
測(cè)控主機(jī)的電路與圖2基本相似,不同之處是去掉兩個(gè)傳感器,然后通過(guò)P0.1、P0.2外接MAX3232電平轉(zhuǎn)換電路,和上位機(jī)進(jìn)行串行通訊。
本系統(tǒng)中,每個(gè)節(jié)點(diǎn)具有數(shù)據(jù)采集與路由功能。為了分辨出數(shù)據(jù)來(lái)自哪個(gè)節(jié)點(diǎn),收到的數(shù)據(jù)是溫、濕度值還是命令字,特設(shè)計(jì)數(shù)據(jù)協(xié)議如表3所示。
表3 數(shù)據(jù)協(xié)議格式
Preamble為引導(dǎo)字節(jié),Add為接收機(jī)地址,Payload為有效加載數(shù)據(jù)(包括接目的機(jī)地址Rxid、本機(jī)地址Txid、源發(fā)送地址Sid及Data字:當(dāng)選擇字S=0時(shí),Data為溫、濕度數(shù)據(jù),S=1時(shí),Data為命令字),CRC為校驗(yàn)碼。
在整個(gè)系統(tǒng)中無(wú)線通信的頻率采用一個(gè)頻道433.2MHz作為通信載波頻率,所以整個(gè)系統(tǒng)的通信采用分時(shí)技術(shù),測(cè)控主機(jī)采用掃描方式逐點(diǎn)采集數(shù)據(jù),節(jié)點(diǎn)采用中斷方式采集溫濕度,發(fā)送采集的溫濕度數(shù)據(jù)和轉(zhuǎn)發(fā)來(lái)自上位機(jī)和其它節(jié)點(diǎn)的數(shù)據(jù)流。首先,測(cè)控主機(jī)向系統(tǒng)中某一節(jié)點(diǎn)發(fā)出溫濕度轉(zhuǎn)換命令,接著節(jié)點(diǎn)對(duì)測(cè)控主機(jī)發(fā)出的地址信息進(jìn)行處理,如果目的機(jī)地址Rxid與本機(jī)地址Txid相符,則進(jìn)行溫濕度轉(zhuǎn)換,然后上傳給主機(jī);如果地址不相符則轉(zhuǎn)發(fā)命令包;如果收到其它節(jié)點(diǎn)的數(shù)據(jù)包則轉(zhuǎn)發(fā)給主機(jī)。傳感器節(jié)點(diǎn)程序主要由初始化主程序和中斷子程序兩部分構(gòu)成。主程序包括單片機(jī)系統(tǒng)初始化、nRF905子系統(tǒng)配置初始化等。中斷子程序主要包括:(1)采集子程序,用來(lái)采集溫濕度;(2)接收中斷子程序,用來(lái)接收上位機(jī)和其它節(jié)點(diǎn)傳遞的數(shù)據(jù)和命令;(3)發(fā)送中斷子程序,用來(lái)發(fā)送采集的溫濕度數(shù)據(jù)和轉(zhuǎn)發(fā)來(lái)自上位機(jī)和其它節(jié)點(diǎn)的數(shù)據(jù)流。
在PC機(jī)上,用VC++編寫(xiě)上位機(jī)程序,把從傳感器接收到的數(shù)據(jù)描繪成曲線,并顯示當(dāng)前值。用SQL Server制作數(shù)據(jù)庫(kù),可以對(duì)歷史數(shù)據(jù)進(jìn)行查詢。如圖3所示,置于空調(diào)前的一個(gè)溫度傳感器節(jié)點(diǎn)發(fā)回來(lái)的數(shù)據(jù)曲線圖中,節(jié)點(diǎn)溫度從32℃降到了19℃。
圖3 上位機(jī)部分界面
本文針對(duì)當(dāng)前溫濕度檢測(cè)中面臨的檢測(cè)點(diǎn)分散、布線困難和實(shí)時(shí)性差等特點(diǎn),設(shè)計(jì)了基于WSN的溫濕度檢測(cè)系統(tǒng),可以顯示各測(cè)試點(diǎn)的實(shí)時(shí)溫度濕度,還可以通過(guò)RS232接口將數(shù)據(jù)上傳到PC機(jī)存儲(chǔ),以便進(jìn)一步分析處理。系統(tǒng)具有如下優(yōu)點(diǎn):(1)采用了低功耗的集成化器件,提高了系統(tǒng)穩(wěn)定性和可靠度,縮減了系統(tǒng)體積;(2)信號(hào)傳輸采取了曼徹斯特編解碼、GFSK調(diào)制、CRC校驗(yàn)等技術(shù),保證了數(shù)據(jù)傳輸?shù)臏?zhǔn)確性;(3)節(jié)點(diǎn)在樓宇內(nèi)傳輸距離大于30m,在室外空曠處可達(dá)200m以上;(4)在危險(xiǎn)區(qū)域和大面積檢測(cè)中布置容易,能夠?qū)崿F(xiàn)低成本連續(xù)在線檢測(cè),較傳統(tǒng)在線檢測(cè)系統(tǒng)具有更大的優(yōu)勢(shì)。
[1] 高廓,田小建,田寧君.基于nRF24E1的多點(diǎn)無(wú)線溫濕度測(cè)量系統(tǒng)[J].現(xiàn)代電子技術(shù),2005,(22):115-118.
[2] 李守勇,董天臨.溫度濕度無(wú)線測(cè)控系統(tǒng)設(shè)計(jì)[J].傳感器技術(shù),2005,24(12):64-68.
[3] 于爾,唐厚君.低功耗高性能無(wú)線溫濕度測(cè)量系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2005,(2):31-33.
[4] 季一錦,尹明德.一種基于nRF9E 5的無(wú)線監(jiān)測(cè)局域網(wǎng)系統(tǒng)的設(shè)計(jì)[J].國(guó)外電子元器件,2004,(12):22-25.
[5] 饒?jiān)迫A,代莉,趙存成,等.基于無(wú)線傳感器網(wǎng)絡(luò)的環(huán)境監(jiān)測(cè)系統(tǒng)[J].武漢大學(xué)學(xué)報(bào),2006,52(3):345-348.
[6] Nordic Semiconductor.Datasheet nRF9E5rev1_2[DB/OL].http://www.nvlsi.com,2005-01-15.
[7] Cheng M X,Cardei M,Jinhua Sun,et al.Topology control of ad hoc wireless networks for energy efficiency[J].IEEE transactions on computers,2004,53(12):1 629-1 635.
[8] Akyildiz L F,SuW L,Sankarasubramaniam Y,et al.A survey on sensor networks[J].IEEE Communications Magazine,2002,40(8):102-114.
[9] Mainwaring A,Polastre J,Szewczyk R,et al.Wireless sensor networks for habitatmonitoring[C].Atlanta:ACM international workshop on wireless sensor networks and applications,2002:589-599.
[10] 于海斌,曾鵬,梁韡.智能無(wú)線傳感器網(wǎng)絡(luò)系統(tǒng)[M].北京:科學(xué)出版社,2006:283-319.