摘要:提出了基于GPRS的環境溫濕度監測系統的設計方案。針對對溫度濕度有要求的環境,通過帶有高精度溫濕度傳感器的數據采集終端采集環境溫濕度數據,后經由GPRS無線模塊將數據傳輸到監控室電腦實時顯示。采用TCP點對點入網連接方式,主要針對沒有網絡環境的監控中心,客戶無需申請公網IP地址或開通專用APN,只需在監控端接上一個接收模塊,即可方便地實現遠距離數據傳輸。整個數據采集終端由MSP-430單片機進行控制,不用改動硬件,只通過對軟件的修改調整,即可滿足不同GPRS入網方式下的通信,擁有良好的擴展性能。實驗測試表明,該系統精度高,運行穩定,滿足系統設計要求。
關鍵詞:溫濕度監測;GPRS;SIM300;430單片機
當今現代化建設和國民經濟發展迅速,社會對生產環境和生活環境意識的要求也越來越高。人們的日常生活和周圍環境的溫濕度息息相關,石油、化工、航天、制藥、檔案保管、糧食存儲等領域對溫濕度也有著較高的要求。因此,對溫濕度的監測和控制已成為生產過程中非常重要的技術。無線網絡的飛速發展使得遠程數據傳輸得到廣泛的應用,GPRS通信技術以其不需要架設通信線路、組網靈活方便、覆蓋面廣等獨特的優勢使其在無線數據傳輸系統中越來越被重視。
為此,本文提出了一種基于GPRS的環境溫濕度監測系統,采用MSP430單片機及SIM300無線通信模塊構成數據采集終端,能夠連續實時的對監測現場的環境溫濕度進行監控,監控中心的上位機軟件用C++編程實現,能夠對數據采集終端進行遠程控制。
1 監測系統總體構成
本方案針對沒有網絡環境,或者網絡環境不穩定,無法直接接入Intemet的監測中心,無需公網IP地址,也無需申請APN專線,采用兩個GPBS無線模塊進行發送和接收,通過GPRS內網的點對點TCP連接即可完成數據通信。
監測系統由數據采集終端和監測中心服務端兩部分構成。數據采集終端負責溫濕度數據的采集和發送。監測中心服務端由一個GPRS無線模塊作為接收端,將接收到的數據傳給監測中心PC機,通過上位機軟件分析處理,實現采集數據的實時顯示、曲線顯示、數據存儲等功能。系統整體結構如圖1所示。
2 系統硬件設計
系統硬件即數據采集終端,以MSP430單片機為核心,包括一個高精度的溫濕度傳感器AM2303,電源模塊,串口模塊,GPRS通信模塊SIM-300等。MSP430單片機由I/O口采集數字溫濕度傳感器AM2303的信號,經分析處理,再通過RS-232串口將溫濕度數據發送給SIM300無線模塊由其通過GPRS網絡發送至監控中心服務端。硬件結構框圖如圖2所示。
2.1 電源模塊
系統外部輸入電壓為5 V,由于溫濕度傳感器AM2303供電電壓為3.3~6V,MSP430單片機工作電壓為3.3 V,GPBS無線模塊SIM300工作電壓為4.2 V,因此本系統需要提供3.3 V和4.2 V電壓。溫濕度傳感器AM2303直接采用5 V輸入電壓:3.3 V電源部分采用SM公司的SM1117芯片來實現;對于SIM300模塊采用的4.2 V供電,由于該電源部分的輸出電流必須達到2 A,因此采用MICREL公司的MIC29302芯片。具體電路圖分別如圖3、圖4所示。
2.2 溫濕度傳感器模塊
AM2303數字溫濕度傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感器。傳感器包括一個電容式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。
校準系數以程序的形式儲存在OTP內存中,傳感器內部在檢測信號的處理過程中可隨時調用這些校準系數。AM2303采用單線制串行接口,系統集成簡單。測溫與測濕的范圍分別為-40~125℃和0~99%RH。
2.3 GPRS無線模塊
GPRS無線模塊采用SIMCOM公司的SIM300模塊,SIM300是一款三頻段GSM/GPBS模塊,能夠提供GPRS多信道類型多達10個。該模塊內部還集成了TCP/IP協議棧,并且擴展了TCP/IP AT指令,便于用戶開發數據傳輸設備。系統采用ZIF連接器外接SIM卡,單片機通過發送AT指令與SIM300進行通信,實現連接網絡、數據發送等功能。
3 系統軟件設計
系統軟件由下位機軟件和上位機軟件兩部分組成,下位機軟件即數據采集終端的軟件采用C語言編寫,上位機軟件即監測中心服務端軟件采用Bodand公司的C++Builder作為開發平臺。
3.1 數據采集終端軟件設計
整個數據采集終端軟件部分包括初始化程序、數字溫濕度傳感器采集程序、串口程序、網絡連接命令收發程序、測試程序等若干部分。總體程序流程圖如圖5所示。
MSP430單片機通過RS-232串口以AT指令形式與SIM300無線模塊進行通信。若單片機發送指令正確,則SIM300模塊將返回“OK”,錯誤則返回“ERROR”或者其他格式的指令,單片機通過判斷無線模塊返回的指令來決定下一步執行的程序,直到成功連接上GPRS網絡。網絡連接程序流程圖如圖6所示。
本系統采用TCP點對點連接方式進行GPRS連接,數據采集終端需要先獲得服務端的IP地址,所以服務端以短信形式發送本地IP給數據采集終端,數據采集終端提取IP地址后再進行本地設置,發起連接。
數據采集程序部分由數據采集和數據轉換兩部分構成。數據采集從傳感器獲得40 bit溫濕度數據,數據轉換主要進行十進制轉換,ASCII編碼和正負溫度判定。溫濕度傳感器AM2303采用單總線數據格式,一次通信時間5 ms左右,主機(MCU)發送一次開始信號后,AM2303從低功耗模式轉換到高速模式,等待主機開始信號結束后,AM2303發送響應信號,送出40 bit的數據,并觸發一次信號采集。AM2303通信時序如圖7所示。
3.2 監測中心服務端軟件設計
本文中監測中心軟件開發平臺采用C++Builder進行編程設計。在服務端外接一個GPRS無線模塊作為接收端,使用C++Bulkler中的MSCOMM串口控件完成串口通信,進行數據讀取,同時可對回傳數據進行分析、實時顯示及圖形化顯示,還可控制數據采集終端的采集時間間隔,達到遠程監控的目的。監測中心軟件還建立了數據庫,可調用和查看存盤的數據及圖形記錄,并進行打印。軟件界面由實時監控單元、歷史數據單元和GPRS連接單元3部分組成。監測中心界面如圖8所示。
4 實驗結果與分析
使用本系統對標準的溫度源及濕度源進行測量,測量結果如圖9、圖10所示。
從圖中數據可以看出,測溫誤差不超過±0.2℃,濕度誤差在25℃的理想條件下不超過±2%RH,在低溫環境下不超過3%RH,能滿足實際應用的需求。同時通過長時間穩定性試驗,長期采集數據穩定,掉線率低,且因為沒有直接接入Internet,流量少,若每隔一分鐘采集一次數據,連續采集一個月數據流量不超過45M。
5 結束語
本系統主要針對沒有網絡環境的監測中心,硬件接入簡單。通過對軟件的修改也可滿足不同GPRS接入方式的應用,擴展性能較好,同時具備掉線自動重連,電池電量監測等功能,能夠廣泛應用于各種溫濕度監測環境。