溫濕度自記儀中無(wú)線(xiàn)通信系統的設計
0引言
針對室內環(huán)境溫濕度的監測問(wèn)題,本文利用單片機和無(wú)線(xiàn)通信短距離無(wú)線(xiàn)通信技術(shù)設計了一款溫濕度無(wú)線(xiàn)測量系統。溫濕度自記儀的系統由接收數據的上位機無(wú)線(xiàn)筆記本和以MC9S12xs128為核心的下位機控制顯示模塊組成,上位機模塊和下位機模塊間通過(guò)無(wú)線(xiàn)通信無(wú)線(xiàn)網(wǎng)絡(luò )進(jìn)行數據交互。上位機主要通過(guò)Java語(yǔ)言編程,實(shí)現對無(wú)線(xiàn)通信網(wǎng)絡(luò )上數據的實(shí)時(shí)監聽(tīng)、顯示并存儲;下位機主要以單片機為核心實(shí)現數據的實(shí)時(shí)采集、校正、顯示以及上傳處理后的數據。其中單片機主要負責完成溫濕度采集、LCD顯示以及SCI傳輸數據等功能。
1溫濕度自記儀中無(wú)線(xiàn)通信系統的系統構成
1.1溫濕度記錄儀的系統構成和系統框圖
本系統由AM2301、MC9S12xs128單片機、USR 無(wú)線(xiàn)通信 MODII無(wú)線(xiàn)通信模塊及無(wú)線(xiàn)筆記本組成。其中AM2301在本系統中負責感知環(huán)境的變化并將檢測的信號通過(guò)SDA信號線(xiàn)傳送給MCU。MC9S12xs128mal為本設計系統的核心部分,負責接收前端傳感器采集的信號、將校準后正確的溫濕度數值在LCD上顯示并將該數據通過(guò)無(wú)線(xiàn)通信 MODII無(wú)線(xiàn)模塊發(fā)送到上位機。無(wú)線(xiàn)通信 MODII為RS-232轉無(wú)線(xiàn)通信模塊,該無(wú)線(xiàn)模塊可將數據通過(guò)無(wú)線(xiàn)通信向外發(fā)送。無(wú)線(xiàn)筆記本為上位機接收端,利用Java編程接收無(wú)線(xiàn)通信傳輸來(lái)的數據并將其顯示及存入文件。系統框圖如圖1所示。
1.2溫濕度記錄儀的系統硬件設計
1.2.1傳感器模塊
本文采用AM2301單總線(xiàn)數字溫濕度傳感器,該傳感器是一款含有校準數字信號輸出的溫濕度復合傳感器,具有傳輸距離遠、全部自動(dòng)化校準、數字單總線(xiàn)輸出等優(yōu)點(diǎn)。AM2301傳感器讀單總線(xiàn)的流程圖如圖2所示。
1.2.2MCU模塊
Free scale公司的MC9S12xs128mal的16位單片機為測量系統的核心控制器,該控制器實(shí)現傳感器的初始化,以及后續的數據采集、處理和發(fā)送。MC9S12xs128有112個(gè)引腳,采用LQFP封裝方式,內部總線(xiàn)時(shí)鐘頻率最高可達40MHz。
1.2.3無(wú)線(xiàn)通信無(wú)線(xiàn)模塊
無(wú)線(xiàn)發(fā)送模塊采用的是USR 無(wú)線(xiàn)通信 MODII,該模塊是一款可將串口數據和無(wú)線(xiàn)通信網(wǎng)絡(luò )數據相互轉換和傳輸的設備。該無(wú)線(xiàn)模塊符合IEEE802.11b/g標準,支持Ad-hoc模式和基礎模式。RS-232波特率范圍9600~115200band,可設數據位和奇偶校驗位。
2溫濕度自記儀中無(wú)線(xiàn)通信系統的軟件設計
2.1溫濕度記錄儀的整體設計流程
軟件設計包括上位機和下位機程序設計兩部分。上位機程序是在eclipse環(huán)境下采用Java語(yǔ)言編程,通過(guò)調用Socket套接字監聽(tīng)、接收數據。下位機程序在CodeWarrior環(huán)境中編譯,通過(guò)C語(yǔ)言對單片機的編程實(shí)現了對I/O口接收數據的相關(guān)處理�?傮w軟件流程圖如圖3所示。
2.2數據采集和校正
該功能通過(guò)對MC9S12xs128mal的C語(yǔ)言編程實(shí)現,主要包括AM2301的初始化、讀取AM2301數據、校正數據。具體過(guò)程為:PJ1端口向AM2301的SDA寫(xiě)入初始化指令,等待讀取SDA傳來(lái)的40位數據,通過(guò)校正位判斷讀取的溫濕度值是否正確。其中校正溫濕度數值代碼如下:
2.3數據的顯示和發(fā)送
該功能由MC9S12xs128、LCD12864以及無(wú)線(xiàn)通信無(wú)線(xiàn)通信模塊實(shí)現,包括在LCD12864上顯示和向無(wú)線(xiàn)模塊發(fā)送溫濕度數據。具體過(guò)程為:MCU將正確的數據通過(guò)IIC串口操作模式寫(xiě)到LCD12864漢顯液晶模塊上;采用查詢(xún)發(fā)送方式通過(guò)調用SCI發(fā)送函數將數據發(fā)到串口端口;通過(guò)和RS-232相連的無(wú)線(xiàn)通信無(wú)線(xiàn)模塊將數據通過(guò)無(wú)線(xiàn)通信發(fā)送到網(wǎng)絡(luò )上。其中串口發(fā)送函數代碼如下:
2.4數據的接收和保存
該功能由Java編程實(shí)現,包括調用Socket建立網(wǎng)絡(luò )連接和接收顯示并存儲數據。具體過(guò)程為:調用Buffered Input Stream將接收到的數據顯示在控制臺,通過(guò)調用File Output Stream將溫濕度數據寫(xiě)到txt文件中保存。其中調用Socket建立網(wǎng)絡(luò )連接代碼如下:
3溫濕度自記儀中無(wú)線(xiàn)通信系統的實(shí)驗調試
按照圖1所示搭建硬件電路,將數據采集和傳輸程序燒錄到單片機。上位機采用Java語(yǔ)言在eclipse環(huán)境中編程接收無(wú)線(xiàn)通信傳輸過(guò)來(lái)的溫濕度數據,將數據在eclipse控制臺實(shí)時(shí)顯示,如圖4所示。并將接收到的數據自動(dòng)寫(xiě)入txt文檔中保存,以便后續數據處理。實(shí)驗表明:通過(guò)下位機的數據處理和發(fā)送及上位機對Java Socket的調用實(shí)現了無(wú)線(xiàn)通信的無(wú)線(xiàn)通信,并能保證數據實(shí)時(shí)、準確傳輸。
4結束語(yǔ)
本文采用無(wú)線(xiàn)通信技術(shù)將室內溫濕度自記儀測量結果傳輸到筆記本終端,實(shí)現了短距離無(wú)線(xiàn)傳輸和接收。本系統在實(shí)際應用中取得了良好的效果,解決了室內布線(xiàn)繁亂的問(wèn)題,實(shí)現了無(wú)線(xiàn)網(wǎng)絡(luò )的數據交換。開(kāi)發(fā)的系統數據傳輸速度快、可靠性高。在以后的研究工作中,將對系統的低功耗設計做進(jìn)一步研究。