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