宋勇迪,張素嫻(湖州師范學(xué)院信息工程學(xué)院,浙江 湖州 313000)
遠(yuǎn)程多點(diǎn)環(huán)境參數(shù)無線監(jiān)控系統(tǒng)
宋勇迪,張素嫻
(湖州師范學(xué)院信息工程學(xué)院,浙江湖州313000)
摘要:本文設(shè)計(jì)了基于無線傳輸模塊XL105-232AP2和數(shù)字溫濕度傳感器DHT21/AM2301的遠(yuǎn)程多點(diǎn)環(huán)境參數(shù)無線監(jiān)控系統(tǒng)。整個(gè)系統(tǒng)是以AT89S52單片機(jī)為核心來進(jìn)行各終端節(jié)點(diǎn)溫濕度數(shù)據(jù)采集,并通過無線收發(fā)模塊進(jìn)行數(shù)據(jù)的傳輸,在接收端也通過AT89S52單片機(jī)對(duì)數(shù)據(jù)進(jìn)行處理,并且傳輸給液晶屏,從而實(shí)現(xiàn)無線的溫濕度監(jiān)控。文中給出了各硬件模塊的功能和特點(diǎn)進(jìn)行了詳細(xì)的說明,軟件部分給出了數(shù)據(jù)采集和數(shù)據(jù)處理的具體操作過程。
關(guān)鍵詞:無線傳輸;單片機(jī);溫濕度傳感器;數(shù)據(jù)采集
隨著當(dāng)今電子技術(shù)的發(fā)展,數(shù)字式溫度傳感器出現(xiàn)了,這使溫度測(cè)量技術(shù)發(fā)生巨變,從模擬測(cè)量方法過渡到數(shù)字式測(cè)量方法。然而溫度測(cè)量和濕度測(cè)量相結(jié)合又是一大技術(shù)突破,數(shù)字式溫濕度測(cè)量方法無論在測(cè)量精度還是實(shí)時(shí)性方面都有了很大的提高[3]。隨著網(wǎng)絡(luò)及通信技術(shù)的飛速發(fā)展,短距離無線通信以其特有的抗干擾能力強(qiáng)、可靠性高、安全性好、受地理?xiàng)l件限制少、安裝施工簡(jiǎn)便靈活等特點(diǎn),在許多領(lǐng)域都有著廣泛的應(yīng)用前景。
遠(yuǎn)程多點(diǎn)環(huán)境參數(shù)無線監(jiān)控系統(tǒng)是一種基于射頻技術(shù)的無線溫濕度檢測(cè)裝置,其中包括一個(gè)數(shù)據(jù)接收顯示模塊和若干個(gè)數(shù)據(jù)采集發(fā)送模塊,其中數(shù)據(jù)接收端主要負(fù)責(zé)N路環(huán)境參數(shù)即溫濕度數(shù)據(jù)的匯總接收處理顯示,是整個(gè)控制系統(tǒng)的核心,是負(fù)責(zé)與各采集端通信并完成顯示任務(wù)和控制功能的,數(shù)據(jù)采集發(fā)送端也就是溫濕度采集端負(fù)責(zé)對(duì)測(cè)量點(diǎn)的溫濕度測(cè)量,并根據(jù)接收端的控制要求把測(cè)量點(diǎn)的信息返回給控制系統(tǒng),他們之間是通過無線方式進(jìn)行有效的實(shí)時(shí)數(shù)據(jù)傳輸,也就是說采集端之間是不可以直接通信的[4]。數(shù)據(jù)采集網(wǎng)絡(luò)中每個(gè)采集端由一片數(shù)字溫濕度傳感器DHT21/AM 2301采集環(huán)境溫濕度數(shù)據(jù),通過XL105-232AP2微功率無線透明傳輸模塊將數(shù)據(jù)傳輸?shù)浇邮漳K,完成對(duì)環(huán)境多點(diǎn)溫度、濕度數(shù)據(jù)的采集和無線發(fā)送;接收顯示模塊同樣有一塊XL105-232AP2微功率無線透明傳輸模塊接收數(shù)據(jù),經(jīng)過單片機(jī)處理傳輸?shù)揭壕э@示屏LCD1604分別顯示出每個(gè)采集端的溫度以及濕度數(shù)據(jù),并且可通過擴(kuò)展顯示、鍵盤、RS-232等接口模塊,完成溫度、濕度數(shù)據(jù)的接收、顯示和上傳功能。
傳感器SHT11是比較好的選擇。該傳感器將CMOS芯片技術(shù)與傳感器技術(shù)結(jié)合在一起構(gòu)成高集成度、體積極小的數(shù)字式溫濕度傳感器,使得傳感器的耐久性、元件尺寸、數(shù)字化、簡(jiǎn)單和快速的系統(tǒng)應(yīng)用等性能均有較大的提高。而且使用SHT11傳感器無需外加任何轉(zhuǎn)換電路,可與微處理器直接連接實(shí)現(xiàn)濕度以及溫度的測(cè)量。SHT11傳感器分別默認(rèn)為14位、12位的測(cè)量溫度和相對(duì)濕度的分辨率,通過狀態(tài)寄存器則降至12位、8位,濕度測(cè)量范圍是0~100%RH,對(duì)于12位的分辨率為0.03%RH,測(cè)溫范圍為-40°C~+123.8°C,對(duì)于14位的分辨率為0.01°C。每個(gè)傳感器芯片進(jìn)行標(biāo)定都在極為精確的濕度室中,校準(zhǔn)系數(shù)在OTP內(nèi)存中以程序形式儲(chǔ)存,在測(cè)量過程中可自動(dòng)校準(zhǔn)相對(duì)濕度,使SHT11具有100%的互換性[5]。
數(shù)據(jù)接收顯示模塊部分接收數(shù)據(jù)采集發(fā)射模塊發(fā)送過來的溫度濕度數(shù)據(jù)之后,然后在本地LCD上顯示遠(yuǎn)端的溫度和濕度,所以該模塊的主要功能即以中斷方式從射頻接收模塊獲取得到遠(yuǎn)端發(fā)送的數(shù)據(jù),每獲得一個(gè)字節(jié)中斷一次,此方法適用于本系統(tǒng)需要發(fā)送的數(shù)據(jù)量較小的情況,當(dāng)接收到一次完整的數(shù)據(jù)之后,通知應(yīng)用將獲取的數(shù)據(jù)顯示至本地LCD屏幕,從而完成整個(gè)無線溫度濕度監(jiān)控過程。
我們可以進(jìn)行對(duì)比試驗(yàn),先對(duì)型號(hào)為L(zhǎng)CD 1602和AT 89S52的進(jìn)行初始化,然后查詢N路數(shù)據(jù)溫濕度采集端,接收并顯示出N路溫濕度采集端的溫濕度數(shù)據(jù)。查詢過程的具體步驟應(yīng)該是該模塊首先給某一路溫濕度采集端發(fā)送數(shù)據(jù)采集命令,同時(shí)監(jiān)控定時(shí)器啟動(dòng)并等待接收應(yīng)答,如果在規(guī)定的時(shí)問內(nèi)相應(yīng)的數(shù)據(jù)應(yīng)答沒有收到,將重新發(fā)送查詢命令,并進(jìn)行錯(cuò)誤計(jì)數(shù),避免數(shù)據(jù)丟失,如果錯(cuò)誤計(jì)數(shù)達(dá)到一定程度,發(fā)送方就停止發(fā)送查詢命令,進(jìn)入錯(cuò)誤處程序理,收到數(shù)據(jù)應(yīng)答后,首先對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)合格后再把數(shù)據(jù)進(jìn)行處理[2]。
數(shù)據(jù)接收顯示模塊部分接收數(shù)據(jù)采集發(fā)射模塊發(fā)送過來的溫度濕度數(shù)據(jù)之后,然后在本地LCD上顯示遠(yuǎn)端的溫度和濕度,所以該模塊的主要功能即以中斷方式從射頻接收模塊獲取得到遠(yuǎn)端發(fā)送的數(shù)據(jù),每獲得一個(gè)字節(jié)中斷一次,此方法適用于本系統(tǒng)需要發(fā)送的數(shù)據(jù)量較小的情況,當(dāng)接收到一次完整的數(shù)據(jù)之后,通知應(yīng)用將獲取的數(shù)據(jù)顯示至本地LCD屏幕,從而完成整個(gè)無線溫度濕度監(jiān)控過程。
3.1顯示模塊軟件設(shè)計(jì)
顯示模塊初始化程序流程圖顯示模塊實(shí)現(xiàn)的功能是將傳感器獲取的數(shù)據(jù)整理成符合顯示格式的字符串,并送顯到本地的LCD,流程較為簡(jiǎn)單,初始化串口的工作,也和采集發(fā)射模塊的串口初始化類似,完成對(duì)定時(shí)器設(shè)置,對(duì)串行工作方式和波特率的設(shè)置,并打開串行中斷和系統(tǒng)的全局中斷。本系統(tǒng)中,在獲取射頻接收模塊接收到的數(shù)據(jù)時(shí),采用的是中斷串行接收的方式,每獲取一個(gè)字節(jié),則產(chǎn)生一個(gè)中斷,進(jìn)入中斷服務(wù)程序,完成將接收緩沖數(shù)據(jù)賦值至全局變量,直到完成6個(gè)字節(jié)的接收后,設(shè)置接收完成標(biāo)志,在主程序中,當(dāng)接收完成標(biāo)志為1時(shí),即已經(jīng)完成一次完整的數(shù)據(jù)接收,則可以送至LCD顯示屏,將獲取的數(shù)據(jù)顯示給用戶,完成整個(gè)系統(tǒng)的功能,也就是說在接收顯示模塊中,除了主程序周期性的執(zhí)行之外,還有一個(gè)中斷一直處于活動(dòng)狀態(tài),當(dāng)系統(tǒng)接收到數(shù)據(jù)時(shí),則觸發(fā)中斷,進(jìn)入中斷服務(wù)子程序,完成獲取遠(yuǎn)端數(shù)據(jù)的任務(wù)。
當(dāng)接收模塊接收到正確的溫濕度數(shù)據(jù)后就會(huì)把下位機(jī)編號(hào)和溫濕度數(shù)據(jù)值顯示出來,比如當(dāng)LCD 1602顯示“T0:11.8°C、R0:61.5%RH”表示數(shù)據(jù)采集端T0環(huán)境的溫度值為11.8攝氏度,濕度值為61.5%,當(dāng)顯示“T0D isconnected”表示接收端與采集端T0失去聯(lián)接。
3.2數(shù)據(jù)采集發(fā)送模塊程序設(shè)計(jì)
數(shù)據(jù)采集發(fā)送模塊部分程序流程圖該模塊在系統(tǒng)開啟之初處于查詢狀態(tài),當(dāng)接收到接收控制端發(fā)送來的數(shù)據(jù)采集命令后進(jìn)行溫濕度采集,然后把數(shù)據(jù)打包發(fā)送給數(shù)據(jù)接收端,之后連續(xù)采集溫濕度數(shù)據(jù),一直送采集控制端,這樣就可以實(shí)現(xiàn)溫濕度的動(dòng)態(tài)采集與顯示。
該模塊程序設(shè)計(jì)中主程序負(fù)責(zé)初始化系統(tǒng),包括初始化LCD,初始化串口等,并形成周期循環(huán),讀取由傳感器獲取的溫度濕度數(shù)據(jù),在本地LCD上顯示(本系統(tǒng)采集模塊中未設(shè)置LCD液晶顯示器),并通過無線發(fā)送模塊發(fā)送至遠(yuǎn)端接收端,完成數(shù)據(jù)的采集和發(fā)送過程。
開始即程序的入口地址,從main開始執(zhí)行,因?yàn)樾枰诒镜仫@示溫度濕度傳感器采集的數(shù)據(jù),所以包括了初始化LCD模塊和本地顯示模塊,其中初始化LCD模塊完成初始化LCD顯示屏工作,設(shè)置顯示屏的點(diǎn)陣顯示方式,屏幕清口,并在屏幕的左邊上下兩行,分別顯示溫度濕度標(biāo)號(hào)。初始化模塊負(fù)責(zé)單片機(jī)的定時(shí)器1工作方式,串口波特率,串口工作方式為允許接收,最后打先開串行中斷,然后打開系統(tǒng)的中斷允許,完成初始化工作。在系統(tǒng)順利完成整個(gè)初始化工作之后,系統(tǒng)進(jìn)入周期執(zhí)行階段,首先讀取傳感器采集的溫度濕度數(shù)據(jù),在本地LCD上顯示結(jié)果并發(fā)送數(shù)據(jù)至遠(yuǎn)端接收端,在完成一個(gè)周期之后,保證系統(tǒng)繼續(xù)周期運(yùn)行,進(jìn)入下一個(gè)周期的采集讀取和發(fā)送,保證接收端獲取的數(shù)據(jù)有較高的實(shí)時(shí)性。下面介紹讀取數(shù)據(jù),本地顯示和數(shù)據(jù)發(fā)送模塊程序設(shè)計(jì)。
3.2.1讀取數(shù)據(jù)模塊程序設(shè)計(jì)
讀取數(shù)據(jù)模塊,即從傳感器獲得采集到的溫度和濕度數(shù)據(jù),完成數(shù)據(jù)采集功能。
3.2.2發(fā)射模塊軟件設(shè)計(jì)
數(shù)據(jù)發(fā)送模塊完成模塊功能,即將采集端在本地獲取的溫濕度數(shù)據(jù),通過無線射頻模塊,發(fā)送至遠(yuǎn)端采集端,本系統(tǒng)中,只需要將數(shù)據(jù)通過串行方式,存入無線射頻模塊發(fā)送緩存區(qū),無線射頻模塊完成將數(shù)據(jù)以無線模式發(fā)送出去,所以上面所述的發(fā)送模塊,其實(shí)是以串行方式,將數(shù)據(jù)放入發(fā)送緩存中,并在每存入一個(gè)字節(jié)時(shí)進(jìn)行適當(dāng)?shù)难舆t,保證射頻模塊能成功的發(fā)送出去。
本文針對(duì)農(nóng)業(yè)和溫室環(huán)境的特點(diǎn),在綜合考慮性能與價(jià)格等因素后,提出了一種基于數(shù)字溫濕度傳感器DHT21/AM 2301和XL105-232AP2微功率無線透明傳輸模塊的遠(yuǎn)程多點(diǎn)環(huán)境參數(shù)監(jiān)控系統(tǒng)設(shè)計(jì)方案,并探討軟硬件實(shí)現(xiàn)的可行性。使用該技術(shù)主要有以下的優(yōu)點(diǎn):一是可以實(shí)現(xiàn)地理上分散的溫室集群管理與監(jiān)控,節(jié)省人力資源;二是可以充分利用免維護(hù)的網(wǎng)絡(luò)資源,實(shí)現(xiàn)分布式遠(yuǎn)程數(shù)據(jù)采集;三是可以通過建立網(wǎng)絡(luò)數(shù)據(jù)庫(kù),實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)的共享功能。
參考文獻(xiàn):
[1]曹柏榮,馮運(yùn)達(dá).無線溫濕度測(cè)量系統(tǒng)及其應(yīng)用[J].自動(dòng)化儀表,2005,26(07):30-34.
[2]高廓,田小建.基于nRF24E1的多點(diǎn)無線溫濕度測(cè)量系統(tǒng)[J].現(xiàn)代電子技術(shù),2005(22):115-118.
[3]何希才.傳感器及其應(yīng)用電路[M].北京:電子工業(yè)出版社.2001 [4]李春茂.傳感技術(shù)[M].北京:科學(xué)技術(shù)文獻(xiàn)出版社.2006.
[5]樊建明,陳淵睿.基于SHT11的溫室多點(diǎn)測(cè)量系統(tǒng)設(shè)計(jì)[J].2006,25(11):4-8.