文獻標識碼: A
文章編號: 0258-7998(2014)05-0136-04
灌區(qū)氣象數(shù)據(jù)的及時、準確獲取是實施精確灌溉的必要條件,因此灌區(qū)的信息化十分重要。氣象數(shù)據(jù)監(jiān)測系統(tǒng)利用實時采集的氣象資料,對未來一段時間內(nèi)的氣象情況作出較為精確的預測和預報,對于農(nóng)業(yè)生產(chǎn)具有一定的指導意義[1]。隨著通信和網(wǎng)絡的發(fā)展,GPRS在農(nóng)業(yè)、工業(yè)上的應用越來越廣泛,它能充分利用網(wǎng)絡資源,具有傳輸速率快、組網(wǎng)靈活、永遠在線和按流量計費等優(yōu)點。然而,由于專網(wǎng)APN和固定IP的價格對于小型灌區(qū)的長期使用過于昂貴,因此目前采用動態(tài)IP接入Internet仍然是大部分用戶的選擇[2]。
本文提出一種低功耗、設計相對簡單的監(jiān)測系統(tǒng)。主要功能是監(jiān)測農(nóng)田的溫度、濕度、光照等氣象參數(shù)。采用MSP430單片機與QUECTEL M20無線通信模塊,設計基于GPRS的動態(tài)IP的農(nóng)田氣象數(shù)據(jù)監(jiān)測系統(tǒng)。研究內(nèi)容包括硬件設計和軟件編制,硬件設計包括搭建系統(tǒng)下位機平臺,完成采集、處理、通信電路設計;軟件編制包括下位機采集、處理、通信程序設計以及上位機數(shù)據(jù)中心軟件編制。
1 系統(tǒng)模塊設計
1.1 下位機監(jiān)測模塊設計
下位機監(jiān)測部分包括各種氣象傳感器、單片機微控制器、GPRS無線通信模塊。氣象數(shù)據(jù)傳感器負責實時采集農(nóng)田中的溫度、濕度和光照信息,并由MSP430單片機通過RS232串口實時地將氣象數(shù)據(jù)發(fā)送給GPRS M20模塊。下位機模塊采用SD卡將時間和氣象信息以文本的方式進行存儲,方便用戶以后查閱[3]。下位機硬件結構圖如圖1所示。
1.2 系統(tǒng)的低功耗設計
系統(tǒng)圍繞低功耗進行設計,包括MSP430的低功耗模式和M20的休眠模式。低功耗模式與正常工作模式切換的具體實現(xiàn)如下:用手機發(fā)送休眠命令(M)給GPRS 無線通信模塊,GPRS M20收到該命令就會將信息通過標準RS232串口傳送給MSP430控制器,接著MSP430就會將DTR0線置為高以使M20進入休眠模式,一旦M20進入休眠模式,MSP430也將進入低功耗模式。在M20處于休眠模式下,仍然可以正常接收短信,這時向M20發(fā)送一條短信,就會將M20從休眠模式喚醒(DTR0變成低電平)。一旦M20進入工作模式,MSP430也將被喚醒,從而系統(tǒng)又返回正常工作模式。通過這種設計,大大降低了系統(tǒng)的功耗。MSP430與GPRS M20之間的具體連接實現(xiàn)如圖2所示。
1.3 GPRS數(shù)據(jù)通信與動態(tài)IP問題的實現(xiàn)
本系統(tǒng)采用ADSL撥號上網(wǎng),每次撥號上線后,得到的IP地址是變化的。采用花生殼6.5工程版,通過使用花生殼動態(tài)域名的端口映射功能,在沒有固定公網(wǎng)IP的情況下,借助花生殼服務將動態(tài)公網(wǎng)IP和域名進行實時綁定,通過已激活花生殼服務的域名從外網(wǎng)訪問內(nèi)網(wǎng)服務。而且6.5工程版新增花生殼映射功能,可以直接利用它來取代路由器端口映射的操作,只要輸入內(nèi)網(wǎng)的IP和端口號,就能實現(xiàn)在外網(wǎng)輕松訪問內(nèi)網(wǎng)下路由器的功能。
GPRS無線通信模塊與MSP430微控制器間的通信采用的是AT指令集。在GPRS無線通信模塊上網(wǎng)之前,需要對DTU的參數(shù)進行設置。主要的工作有: 通過AT+IPR=9600命令設置通信波特率,波特率設為9 600 b/s;通過AT+CGDCONT=1,"IP","CMNET"命令,設置GPRS接入網(wǎng)關為移動夢網(wǎng);使用AT+CGACT=1,1命令開通GPRS功能;通過AT+QIOPEN="TCP","benbensandai.eicp.net",5566命令設置接收服務器的協(xié)議類型、域名和端口號,如果返回的結果為CONNECT OK就實現(xiàn)了模塊與上位機的正常連接;通過AT+QICLOSE命令,模塊注銷GPRS網(wǎng)[4]。
為了方便程序設計,增強程序可讀性,將建立連接所需的AT命令以字符串形式存放于AT命令緩存區(qū),所需多條AT指令長度不一且發(fā)送順序不可改變。為了有效控制每條AT指令,提高CPU利用率,需將AT指令緩存區(qū)設置為指針數(shù)組形式,在建立連接時通過循環(huán)調(diào)用字符串發(fā)送函數(shù)將這些AT命令發(fā)送,相鄰AT命令間要有2~3 s的延時,所以每發(fā)送完一條AT命令都要調(diào)用一個3 s的延時子程序,然后通過串口中斷接收函數(shù)接收AT命令返回值來判斷連接是否成功[5]。 GPRS終端與上位機通信的軟件實現(xiàn)如圖3所示。
1.4 微控制器 MSP430單片機
本文主控制器采用美國德州儀器的MSP430單片機,其處理能力強,運算速度快,片內(nèi)資源豐富,方便高效的開發(fā)環(huán)境。而它最大的特點就是超低功耗,由于系統(tǒng)運行時開啟的功能模塊不同,即采用不同的工作模式,芯片的功耗有著顯著的不同。在系統(tǒng)中共有1種活動模式(AM)和5種低功耗模式(LPM0~LPM4)。在實時時鐘模式下,可達2.5 μA;在RAM 保持模式下,最低僅為0.1 μA?;谶@個特點,將其作為監(jiān)控系統(tǒng)的主控芯片非常合適。
1.5 SD卡存儲電路
由傳感器獲取的氣象參數(shù)需要定時地存儲到SD卡中,這樣即使監(jiān)控中心出現(xiàn)突然斷電的情況,依然可以獲取到當天的氣象參數(shù),從而便于數(shù)據(jù)的整理和參數(shù)的計算。
本系統(tǒng)采用16 GB大容量的SDHC卡,以FAT32文件系統(tǒng)作為存儲形式,將所采集的氣象數(shù)據(jù)存儲在TXT文件中,該文件以當前時間命名以便于查閱。SDHC卡中存儲的氣象數(shù)據(jù)可以通過USB2.0接口進行高速的讀取。對SDHC卡的讀取和控制采用占用I/O口最少的SPI模式,SPI模式利用SDHC卡的CS(片選引腳)、MOSI(數(shù)據(jù)輸入引腳)、MISO(數(shù)據(jù)輸出引腳)、CLK(時鐘引腳)實現(xiàn)與外部的數(shù)據(jù)傳輸[6]。SDHC卡控制電路如圖4所示。
2 上位機數(shù)據(jù)中心軟件的實現(xiàn)
上位機數(shù)據(jù)中心軟件由VB6.0和Windows自帶的Access數(shù)據(jù)庫聯(lián)合開發(fā)完成,氣象數(shù)據(jù)中心主要由4個功能模塊組成,分別為用戶登錄界面、數(shù)據(jù)通信模塊、通信設置模塊和信息處理模塊。其中用戶登錄界面中的用戶信息管理部分可以實現(xiàn)用戶的增加、修改和刪除的功能,并且可以允許用戶以管理員和普通用戶兩種不同權限的身份進入系統(tǒng);數(shù)據(jù)通信模塊主要完成氣象數(shù)據(jù)的接收、顯示和處理的功能,還能將所連接客戶端的IP地址和端口號展示出來,狀態(tài)欄中可直觀、形像地顯示當前TCP連接的狀態(tài);通信設置模塊主要包括系統(tǒng)連接Internet的協(xié)議設置和端口號的設定,這是實現(xiàn)TCP/UDP連接的第一步;信息處理模塊主要將接收到的數(shù)據(jù)進行整理和存儲,并可以以Excel報表的形式導出,方便用戶的后續(xù)處理[7]。
在該監(jiān)控軟件的編寫過程中,采用Winsock控件編寫網(wǎng)絡通信程序,從而實現(xiàn)對通信的控制。具體方法是用Senddata方法發(fā)送命令,然后用Getdata方法將接收到的數(shù)據(jù)讀取出來。Access數(shù)據(jù)庫用來保存系統(tǒng)相關參數(shù)和各個觀測點的氣象數(shù)據(jù)。
最終的編寫成功的上位機軟件可以實現(xiàn)GPRS DTU終端的狀態(tài)顯示(分別為Closed、Open、Listening、Connecting、Connected、Closing、Error),下位機客戶端的數(shù)據(jù)采集,歷史氣象數(shù)據(jù)的查詢、修改和刪除,具體工作時間的設置,相關工作模式的選擇等操作[8]。用戶登錄界面和通信設置模塊如圖5和圖6所示。
3 結果和分析
實時的氣象數(shù)據(jù)監(jiān)測服務器需要一個安裝有數(shù)據(jù)控制軟件的PC。該實時的監(jiān)測數(shù)據(jù)中心軟件可以控制系統(tǒng),并且實現(xiàn)數(shù)據(jù)的完整接收、分析和存儲。當不需要采集氣象信息時,手機通過命令(M)向客戶端發(fā)送休眠命令,使系統(tǒng)處于低功耗模式;當系統(tǒng)需要采集數(shù)據(jù)時,手機發(fā)送喚醒短信,使系統(tǒng)處于工作狀態(tài),這樣的工作模式極大地降低了系統(tǒng)的功耗。實驗結果表明,服務器端監(jiān)測中心可以穩(wěn)定顯示,該系統(tǒng)運行結果良好。運行結果圖和系統(tǒng)電路圖如圖7所示。
本監(jiān)控系統(tǒng)依托中國移動的GPRS網(wǎng)絡,大大減少了重建網(wǎng)絡的高花費。針對工程具體情況編寫相應的上位機軟件,有利于數(shù)據(jù)的處理和保存,使系統(tǒng)更加經(jīng)濟和實用。
基于MSP430和GPRS的氣象數(shù)據(jù)采集和監(jiān)控系統(tǒng)不僅花費低、可靠性強,而且容易擴展和更新??紤]到移植的需要,在設計過程中應該將相應的驅動程序模塊化,以便于將其應用到環(huán)境監(jiān)測、電力監(jiān)測、交通監(jiān)控等領域[9]。
但是,本系統(tǒng)仍然有問題需要解決,基于花生殼的免費動態(tài)解析域名服務有時候會出現(xiàn)不穩(wěn)定的現(xiàn)象。因此如果數(shù)據(jù)中心的IP地址是動態(tài)變化的,最好的解決方法是上位機以短信的形式將變化的服務器IP地址發(fā)送給GPRS客戶端,如此的方案需要配備專門的上位機軟件,支持直接通過Internet向SIM卡發(fā)短信?;蛘撸掌鞫嗽黾右粋€GSM模塊,由該GSM模塊將監(jiān)控中心變化的IP地址以短信的形式發(fā)給GPRS DTU,下位機客戶端一旦收到短信,就向新的IP地址發(fā)起連接[10]。然而如此的改進, 無疑增加了系統(tǒng)的設計開發(fā)難度和費用成本。
參考文獻
[1] 聶明新,鄒宇,莫奎.基于動態(tài)IP的GPRS遠程監(jiān)控系統(tǒng)[J].武漢理工大學學報,2011,5(33):685-688.
[2] 郭志偉.基于GSM的農(nóng)田氣象信息遠程監(jiān)控系統(tǒng)設計[J].農(nóng)業(yè)機械學報,2009,40(3):161-166.
[3] 李明軍,尹文明.基于GPRS的大棚智能監(jiān)控系統(tǒng)[J].電子技術應用,2006,32(8):83-85.
[4] 余義德, 王飛. 基于SDHC卡陣列的大容量存儲系統(tǒng)設計[J]. 應用科技,2011,12(38):36-39.
[5] GURTOV A, PASSOJA M. Multi-Layer protocol tracing ina GPRS network[C]. IEEE Vehicular Technology Conference,2006,56(3):1612-1613.
[6] 孫鳴,吳鈺.基于TC45模塊的GPRS無線抄表系統(tǒng)[J].電子技術應用,2005,31(6):29-31.
[7] 沈建華,楊艷琴. MSP430系列16位超低功耗單片機原理與實踐[M]. 北京:北京航空航天大學出版社, 2008.
[8] KALDEN R,MEIRICK I.Wireless internet access based onGPRS[J].IEEE Personal Communications, 2000,7(2):8-18.
[9] 喬曉軍,沈佐銳,陳青云.農(nóng)業(yè)設施環(huán)境通用監(jiān)控系統(tǒng)的設計與實現(xiàn)[J].農(nóng)業(yè)工程學報, 2000,16(3):77-80.
[10] TSENG C L, JIANG J A, LEE R G, et al. Feasibilitystudy on application of GSM-SMS technology to field dataacquisition[J]. Computers and Electronics in Agriculture,2006,53(1):45-59.