遼寧建筑職業學院 自動控制系,遼寧 遼陽 111000
我國是農業大國,同時也是農業設施大國,設施農業起步較晚,但發展較快。設施農業同普通農業相比,產業化程度高,效益好,接受新技術的能力強。
據不完全統計,目前我國日光溫室和塑料大棚種植面積分別達到330,000hm2和670,000hm2,很多中小型農戶或者企業仍然采用人工查看溫濕度計并派人值守的方法來監測農業生產,其效率低下,人工成本高。隨著信息技術的發展,傳統農業中人員密集型的數據采集與監測和有人值守的共組方式將被電子信息監控系統所取代,實現監控現場無人值守,監控中心集中監控、集中管理、集中維護的現代無線通信系統[1][2]。
溫室環境是封閉和相對獨立的生態環境,在這樣的環境中,有很多因素制約著溫室作物的生長,其中的溫濕度指標直接關系到農作物的產量和質量,是溫室大棚種植的重要參考指標。
本文基于51內核單片機和GSM短信模塊,針對中小型農戶溫室大棚種植特點,設計并開發一種適用于溫室大棚溫濕度監測短信報警系統,解決了人工監測效率低下以及無人值守監測不及時等問題,同時也便于對大棚內溫濕度參數及時掌握,對歷史數據進行存儲、分析,是電子信息技術在傳統農業和農業信息化方面的有益探索和實踐。
根據系統設計要求,能夠對溫室大棚內溫濕度參數進行實時連續采集和分析,對關鍵參數點進行檢測和報警,根據實際需要,系統設計溫度檢測范圍在-20℃~ 60℃,精度為±0.5℃,濕度檢測范圍在0~100%RH,精度為±3%RH,并具備較強的抗干擾能力。系統觸發報警后,應以短信形式發送報警消息,同時發出聲光電報警信號。系統GSM網絡工作頻段在GSM900/1800MHz雙頻網絡,通信狀態下整體電流小于150mA,待機狀態下電流小于50mA。此外,系統應具備存儲數據的功能,以便階段時間內對大棚溫濕度參數進行提取和分析。
根據系統設計要求,給出總體設計方案:以STC15系列增強型單片機IAP15W4K32S4為核心,使用數字式溫濕度傳感器DHT21來采集數據,通過TC35i-GSM模塊發送狀態數據短信,接收命令設置短信。使用DS1302作為時鐘信號發生器,使用SD卡保存數據,用于日后數據分析和溫度曲線的繪制;同時配備LCD12864液晶顯示屏用作人機交互,可顯示測量數據、顯示系統時間、顯示系統參數;配備按鍵以實現手動發送信息,手動設置系統參數功能等功能。系統結構框圖如圖1所示。

單片機在每一個監控點完成對溫濕度信號的采集,根據設置的上下限預警值,將此事件的性質和必要的數據信息通過GSM短信息形式發送給監控中心及系統設置的手機里,以便相關人員及時掌握情況并采取措施將參數調整回合理范圍。短信息(SMS)數據傳輸業務在數據量不大、需要長時間連接或者所監控的節點位置經常變化的情況下,對于那些實時性要求不高的遠程監控對象,具有系統可靠性高、地域空間限制小、開發成本低、開發周期短等明顯優點[3][4]。
在單片機的選擇上,使用宏晶科技有限公司最新推出的STC15系列新型Flash單片機,與傳統8051指令兼容,但在片內資源、操作性能和運行速度上做了很大的改進[5]。開發過程中選用IAP15W4K32S2單片機,其特點如下:增強型8051內核,每個機器周期只需要1個系統時鐘,速度比傳統8051快8~12倍;內部高精度R/C振蕩器,可省略外部晶振,內部時鐘頻率5~35MHz可選;內部集成高可靠復位電路,8級可選復位門限電壓,可省略外部復位電路;具有ISP(在系統編程)/IAP(在應用編程)功能,片機本身就是仿真器,為調試提供極大方便;32KB片內Flash程序存儲器;IO端口可設置四種模式,即準雙向/弱上拉、強推挽/強上拉、僅為輸入/高阻以及開漏模式。
短信模塊選擇使用TC35i-GSM模塊。TC35i是德國西門子公司的一款雙頻900/1800MHz高度集成的GSM模塊,它可以安全可靠地實現語音、數據、短信息服務等功能,它的工作電壓是3.3~5.5V,在GSM網絡日臻完善的今天,TC35i是一款優秀品質的產品,它集成度高,可以在短時間內花費較少的成本開發新產品[6]。TC35i電路注冊主要包括:基帶處理器、射頻電路、內存、供電電路、天線等?;鶐幚砥魇荰C35i的核心組件,它具有該模塊所有的數字和模擬功能,主要實現數據信息和語言信息的處理[7]。TC35i模塊框圖和實物圖如圖2所示。

TC35i模塊工作可靠,性能穩定,接口簡單,可以直接與單片機串口連接,電路圖如圖3所示。
溫濕度傳感器選擇DHT21數字式溫濕度傳感器,這是一款體積小、精度高、響應靈敏、性價比高的傳感器,非常適合農業現場環境使用。DHT21內部包含一個NTC測溫元件和一個電容式感濕元件,能夠直接輸出校準過的數字信號,信號傳輸距離可達20m以上,抗干擾能力強。四腳封裝的DHT21接口簡單,其與單片機連接電路如圖4所示。
數據存儲介質選擇使用SD卡,SD卡具有價格低廉、存儲容量大、使用方便、通用性與安全性強等優點,已經成為最為通用的數據存儲卡。工業控制器及數據采集等設備也常需要使用SD卡提高數據存儲的靈活性。SD卡的接口可以支持兩種操作模式:SD模式和SPI模式。通過這兩種模式都可以實現數據的傳輸,SD模式是SD卡標準的讀寫方式,其采用6線制,使用CLK、CMD、DAT0~DAT3進行數據通信,數據傳輸速率高,但是協議復雜,只有少數單片機才提供此接口;而SPI方式采用4線制,使用CS、CLK、DataIn、DataOut進行數據通信。單片機對SD卡進行讀寫時一般都采用 SPI模式。因為大多數中高檔單片機都提供SPI接口,易于實現。
SD卡的操作模式選用SPI模式,單片機通過軟件編程實現SPI模式的數據傳輸。在SPI模式下,單片機與SD卡的連接主要有4根線:包括時鐘線,兩根數據傳輸線和一根片選線。引腳1作為SPI片選線,引腳2作為SPI總線的數據輸入線,引腳7作為數據輸出線,引腳5用作時鐘線(CLK)。除了電源和地,保留引腳可懸空。SD卡SPI模式下與單片機的連接圖如圖5所示。
聲光報警電路如圖6所示,當檢測到溫濕度參數高于或者低于上下限時,單片機P26引腳輸出低電平驅動紅色指示燈點亮,同時P27經過三極管驅動蜂鳴器發出報警聲,當溫濕度參數恢復到正常范圍后報警自動解除,停止聲光報警。

溫濕度監測及報警的邏輯流程是在程序控制下完成的,主程序包括系統初始化、監測溫濕度數據、判斷是否超過報警上下限值、發送報警信息、數據存儲、報警狀態存儲、LCD顯示、響應參數設置和控制命令等功能。主程序流程圖如圖7所示。
在系統初始化階段,主要完成GSM模塊、LCD模塊、SD卡的初始化,讀取EEPROM中存儲的參數值對系統狀態進行初始化。
溫濕度數據采集程序基于DHT21單總線時序,單片機在讀取DHT21數據之前需要先給一個18ms以上的低電平,單片機發送一次開始信號后,DHT21從低功耗模式轉換到高速模式,等待主機開始信號結束后,DHT21發送響應信號,送出40bit的數據,并觸發一次信號采集。因為DHT21對時序要求嚴格,運行該子程序時應關閉中斷,不調用延時函數,以避免對時序的干擾。
TC35i模塊操作接口是基于AT指令集。AT指令一般應用于終端設備與控制器設備之間的連接與通信。AT指令簡單易懂,采用標準串口來收發AT命令,大大簡化了對設備的控制,將相應的操作轉換成簡單串口編程。AT指令以AT作首,字符結束的字符串,指令響應數據包在其中,每個指令執行成功與否都有相應的返回。使用AT指令控制TC35i模塊發送短息需要四個步驟:發送短信格式設置指令、發送短信目標號碼設置指令、填寫短信內容、發送短信結束符。
發送短消息常用Text和PDU(Protocol Data Unit,協議數據單元)模式。使用Text模式收發短信代碼簡單,實現起來十分容易,但最大的缺點是不能收發中文短信;而PDU模式不僅支持中文短信,也能發送英文短信。系統默認為TEXT格式,使用中通常需要發送中文字符,可設置選擇使用PDU模式,在初始化階段添加發送相應指令(”AT+CMGF=0 ”)進行格式轉換。

單片機通過串口向TC35i模塊發送指令“AT+CMGS=”xxxxxxxxxxx””來設置短信目標地址,其中x部分就是目標電話號碼;然后通過串口向TC35i模塊設置發送短信內容,最后發送短息結束符0x1A,等待接收到返回值“OK ”即可。
SD卡的軟件設計主要包括兩部分內容:SD卡的上電初始化過程和對SD卡的讀寫操作。SD卡在進行通信和數據讀寫時采用標準的SPI接口。SD卡的命令列表都以CMD和ACMD開頭,分別指通用命令和專用命令,后面接命令的編號。
SD卡上電后,主機首先向SD卡發送74個時鐘周期,以完成SD卡上電過程。然后SD卡自動進入SD總線模式,并在SD總線模式下向SD卡發送復位命令CMD0,此時應設置片選信號CS處于低電平態,使SD卡進入SPI總線模式。SD卡進入SPI工作模式后會發出應答引號,若主機回應信號為01,即表明SD卡已進入SPI模式,此時主機即可不斷地向SD卡發送命令字CMD1并讀取SD卡的應答信號,直到應答信號為00,表明SD卡完成初始化過程。
完成 SD 卡的初始化后,就可以對 SD 卡進行讀寫操作。讀寫操作都是通過指令來完成的[8]。SPI總線模式支持單塊(CMD24)和多塊(CMD25) 寫操作,多塊操作是指從制定位置開始寫下去,直到SD卡收到一個停止命令CMD12才停止。單塊寫操作的數據塊長度只能是512字節,SD卡對每個發送給自己的數據塊都通過一個應答命令確認。扇區讀操作則相對簡單,先寫入命令,在得到相應的回應后,開始數據讀取。
采用實地測試方法,在溫室大棚負載環境下進行測試。設定溫度上下限為15℃~28℃,設定濕度上下限為35%RH ~ 40%RH,測量時間間隔設定為1min;如果觸發報警,短信報警時間間隔設定為15min。將系統測量數據與專業測量儀器讀數進行比較,每隔半小時記錄一次數據,測試結果見表1所示。

表1 溫濕度測量數據表(溫度單位:℃,濕度單位:%RH)
經過實地測試分析,檢測系統測量結果與專業測量工具相比誤差較小,溫度測量最大誤差0.3℃,濕度測量最大誤差0.5RH%。當測量值超過報警上下限時,報警短信觸發,系統測試結果良好,能夠滿足設計要求。
本文以單片機為核心,配合溫濕度傳感器及GSM無線通信模塊,設計開發了一套適合于溫室大棚內使用的溫濕度參數檢測裝置??蓪崿F常規溫濕度連續在線檢測、報警、顯示等功能。具有結構簡單、成本低廉、操作便利、不受通信線路及地區限制,可靠性高,抗干擾能力強等特點,便于維護和擴展。該系統應用領域也可進行推廣,對于覆蓋范圍廣,數據量較少,監測點分散的監測監控領域具有一定的參考價值。