《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 基于GSM/GPRS的溫室環(huán)境遠程監(jiān)控系統(tǒng)設計
基于GSM/GPRS的溫室環(huán)境遠程監(jiān)控系統(tǒng)設計
來源:微型機與應用2012年第18期
黃 培,徐立鴻,王樂達,蔚瑞華
(同濟大學 電子與信息工程學院,上海201804)
摘要: 針對農(nóng)業(yè)生產(chǎn)中部分溫室地點偏僻、位置分散等特點,設計了一種通過SMS短消息業(yè)務和GPRS網(wǎng)絡對溫室群進行遠程監(jiān)控的系統(tǒng),并介紹了系統(tǒng)結構和軟硬件設計。該系統(tǒng)利用嵌入式技術構建了溫室現(xiàn)場采集和控制終端,利用GPRS無線通信技術使溫室現(xiàn)場終端和遠程Server工作于C/S模式。操作者亦可通過SMS短消息的方式對溫室實施監(jiān)控。
Abstract:
Key words :

摘  要: 針對農(nóng)業(yè)生產(chǎn)中部分溫室地點偏僻、位置分散等特點,設計了一種通過SMS短消息業(yè)務和GPRS網(wǎng)絡對溫室群進行遠程監(jiān)控的系統(tǒng),并介紹了系統(tǒng)結構和軟硬件設計。該系統(tǒng)利用嵌入式技術構建了溫室現(xiàn)場采集和控制終端,利用GPRS無線通信技術使溫室現(xiàn)場終端和遠程Server工作于C/S模式。操作者亦可通過SMS短消息的方式對溫室實施監(jiān)控。
關鍵詞: GSM;GPRS;農(nóng)業(yè)環(huán)境;遠程監(jiān)控

    為合理利用農(nóng)業(yè)資源,提高農(nóng)業(yè)生產(chǎn)效率,將現(xiàn)代電子﹑計算機﹑通信和自動控制等技術引進到農(nóng)業(yè)生產(chǎn)領域是發(fā)展現(xiàn)代農(nóng)業(yè)的必由之路。在農(nóng)業(yè)環(huán)境監(jiān)控網(wǎng)絡化、智能化的發(fā)展趨勢下,由于部分農(nóng)業(yè)生產(chǎn)環(huán)境地點偏僻、位置分散等因素的制約,采用有線的方式對其進行監(jiān)控面臨眾多的瓶頸問題,例如以太網(wǎng)接入不便、RS-485總線傳輸距離有限等。
    近年來興起了很多無線組網(wǎng)技術,如將ZigBee技術用于水產(chǎn)養(yǎng)殖環(huán)境監(jiān)測[1]、溫濕度數(shù)據(jù)采集[2]等。但是ZigBee技術在實際應用中存在很多缺點,例如易受干擾、通信距離短、不適合遠程監(jiān)控等。移動公網(wǎng)GSM/GPRS通信技術在工農(nóng)業(yè)生產(chǎn)中的應用日益受到人們的關注。GSM/GPRS有覆蓋域廣﹑接入迅速﹑按量計費等優(yōu)點,在遠程突發(fā)性數(shù)據(jù)傳輸中具有很好的優(yōu)勢。
    本文通過采用GSM/GPRS無線網(wǎng)絡通信技術與嵌入式技術相結合的方法,設計了一種對溫室群進行遠程監(jiān)控的系統(tǒng),使操作者可通過GSM網(wǎng)絡提供的SMS短消息業(yè)務或GPRS兩種方式獲取溫室現(xiàn)場狀態(tài)和下發(fā)控制命令。溫室現(xiàn)場具備緊急情況下自動控制的功能。系統(tǒng)由于加入了通過手機短消息進行監(jiān)控的方法,為溫室遠程控制提供了一種更為靈活的方式。
1 系統(tǒng)架構
    系統(tǒng)架構分為三部分:控制端(分為控制中心Server和移動控制端)、GSM/GPRS無線網(wǎng)絡傳輸層和溫室現(xiàn)場終端??刂浦行腟erver負責溫室現(xiàn)場環(huán)境參量的顯示和存儲,并可通過GPRS網(wǎng)絡下發(fā)命令。移動控制端指操作者通過手機短消息實施監(jiān)控的方式,若操作者不在控制中心,可通過手機發(fā)短消息查詢溫室環(huán)境參量,并下發(fā)控制指令,保證遠程監(jiān)控實施的靈活性。溫室現(xiàn)場終端負責3個方面的任務:(1)溫室現(xiàn)場環(huán)境參量的采集和無線發(fā)送;(2)控制端指令的接收和執(zhí)行;(3)終端內運行溫室控制算法,擁有對部分執(zhí)行機構的直接控制權,執(zhí)行緊急情況下自動控制的功能。系統(tǒng)示意圖如圖1所示。

    控制中心Server具有固定公網(wǎng)IP地址。上位機界面基于Visual C++開發(fā),具備數(shù)據(jù)實時顯示和存儲的功能,通過ADO技術連接Access數(shù)據(jù)庫,方便操作人員查詢歷史數(shù)據(jù)。溫室現(xiàn)場終端和控制中心Server工作于C/S模式,Server端建立一個監(jiān)聽Socket,在Socket上建立消息響應函數(shù)來接收溫室現(xiàn)場終端的連接請求,并用來接收GPRS數(shù)據(jù)。當兩者TCP連接建立后,Server端通過掃描指定端口,讀取溫室現(xiàn)場終端上傳的溫室環(huán)境參量信息。
2 硬件設計
    由于溫室環(huán)境的復雜性和特殊性,在溫室現(xiàn)場終端硬件設計中需要考慮如下兩個因素:
    (1)控制終端是整個系統(tǒng)信息交互的中心,既要定時上傳傳感器數(shù)據(jù),又要接受遠程指令的查詢和控制,數(shù)據(jù)流量較大,對MCU的內存和處理速度有一定要求。
    (2)被控溫室在無人值守的情況下,為應對異常情況的出現(xiàn),溫室控制終端需具備自動復位的能力。
    基于這兩種因素,終端MCU選用STC12C單片機,STC12C是單時鐘/機器周期(1 T)單片機,速度比普通8051快8~12倍。內置看門狗復位電路,當看門狗沒有被定時清零時,將引起復位,從而防止程序陷入死循環(huán)。終端硬件設計采用嵌入式技術,MCU搭載傳感器、GPS模塊和GPRS模塊等。終端硬件架構如圖2所示。

    MCU通過串口分別連接GPS模塊和GPRS模塊。GPS模塊采用Ubolx公司的高精度UbloxNEO6M。通過GPS模塊在服務器端顯示溫室的位置信息,同時截取GPS幀里的時間戳,為每一幀上傳至服務器的傳感器數(shù)據(jù)加上時間標記。
    傳感器用于監(jiān)測溫室內重要的環(huán)境參量,包括溫度、濕度、光照、二氧化碳等。其中溫濕度傳感器采用單總線數(shù)字式傳感器DHT11。DATA引腳用于微處理器與DHT11之間的通信和同步,采用單總線數(shù)據(jù)格式,工作后可以一次完整傳輸40 bit溫濕度數(shù)據(jù)。數(shù)據(jù)格式為:8 bit濕度整數(shù)數(shù)據(jù)+8 bit濕度小數(shù)數(shù)據(jù)+8 bit溫度整數(shù)數(shù)據(jù)+8 bit溫度小數(shù)數(shù)據(jù)+8 bit校驗和。
    GPRS模塊采用SIMCOM公司的SIM300,內嵌TCP/IP協(xié)議棧,支持AT指令集。該模塊負責無線通信鏈路的建立,它通過串口與MCU通信,串口工作于模式1,波特率設置為9 600 b/s。當串口接收到數(shù)據(jù)或者需要發(fā)送數(shù)據(jù)時產(chǎn)生串口中斷,MCU響應中斷執(zhí)行相應處理程序。GPRS模塊負責傳感器數(shù)據(jù)上傳和遠程指令接收兩方面的工作。MCU將傳感器數(shù)據(jù)按通信協(xié)議封裝成幀,交付GPRS模塊定時發(fā)送。GPRS模塊接收到手機短消息指令或控制中心Server指令時,交付MCU進行解析。
    溫室現(xiàn)場終端通過GPIO口,驅動繼電器或電機執(zhí)行溫室天窗開關、遮陽網(wǎng)開關、卷簾收放等動作。
3 軟件設計
    系統(tǒng)軟件設計圍繞兩個核心問題:傳感器數(shù)據(jù)的無線發(fā)送和遠程指令的接收并執(zhí)行?;谶@一思路,采取模塊化的程序設計以保證良好的可維護性。系統(tǒng)任務由各子程序模塊配合協(xié)作完成。例如分別有模塊執(zhí)行GPRS網(wǎng)絡TCP通信鏈路的建立、溫室控制算法、通信協(xié)議的執(zhí)行以及短消息指令的分析等。圖3為系統(tǒng)工作流程圖。

3.1 TCP無線通信鏈路建立
    GPRS是在現(xiàn)有GSM網(wǎng)絡中增加GPRS網(wǎng)關支持節(jié)點GGSN和GPRS服務支持節(jié)點SGSN來實現(xiàn)的[3]。圖4為通過AT指令使溫室現(xiàn)場終端的GPRS模塊和控制中心Server建立TCP連接的過程。

    這一過程的實現(xiàn)用到的AT指令如下:
    AT+CGATT=1(附著GPRS服務)
    AT+CGDCONT=1,"IP","CMNET"(定義PDP 場景)
    AT+CGACT=1,1(激活或解除PDP 移動場景)
    AT+CIPCSGP=1,"CMNET",選擇接入點
    AT+CIPSTART="TCP","Server的 IP地址",
    "Server的端口號",嘗試TCP連接。
    控制中心Server需具有公網(wǎng)IP地址,當成功建立TCP連接后,可用AT+CIPSEND發(fā)送數(shù)據(jù)到Server。如果要關閉TCP連接可用AT+CIPCLOSE命令。
3.2 通信協(xié)議和優(yōu)先級
    由于控制對象是一個溫室群,每個溫室布置有多種類型傳感器,系統(tǒng)制定了完整的通信協(xié)議和數(shù)據(jù)校驗機制來保證控制中心Server和溫室現(xiàn)場終端的正確握手。
    為每個被控溫室分配一個獨有的一級ID,溫室內的各個傳感器分配獨有的二級ID,每幀上傳數(shù)據(jù)的格式為:幀頭0x21+溫室ID+時間標記+傳感器ID+傳感器數(shù)據(jù)+CRC+幀尾0xFF。
    由于為溫室提供了SMS和GPRS兩種遠程控制方法,溫室終端也嵌入了溫室控制算法,使終端擁有對部分執(zhí)行機構的控制權,以進行緊急情況的判斷處理。為了避免操作的沖突性,系統(tǒng)為每種控制方式分配了不同的優(yōu)先級,優(yōu)先級從高到低依次為:溫室終端、控制中心Server和移動控制端。當出現(xiàn)重復操作指令時,以優(yōu)先級最高的為準。不符合通信協(xié)議的指令和數(shù)據(jù)將被直接過濾,避免誤操作和重復操作情況的發(fā)生。
3.3 溫室控制算法

 


    如果將全部的控制權交由控制端(Server端和移動控制端)發(fā)出,對整個系統(tǒng)而言是十分危險的。例如光照傳感器測出當前溫室內光照強度過大,而此時控制端命令發(fā)生傳輸延遲或命令丟失的情況,這就會導致溫室現(xiàn)場端因為等待不到遠程命令而不作為的情況。植物很可能因此被強烈的陽光灼傷。
    在系統(tǒng)設計中,溫室現(xiàn)場終端擁有對部分執(zhí)行機構的直接控制權,終端內運行溫室控制算法,將選定的重要溫室環(huán)境參量輸入溫室控制算法進行運算,根據(jù)運算結果判斷是否動作相關執(zhí)行機構,實現(xiàn)緊急情況下自動控制的功能。
    以溫室控制算法中的遮陽網(wǎng)控制算法為例,現(xiàn)場終端得到光照傳感器測得的光照值后,會將其與程序內設定的適合作物生長的光照值做比較,如果實際值高于設定值,終端會驅動電機關閉遮陽網(wǎng),反之驅動電機打開遮陽網(wǎng)。圖5所示為溫室遮陽網(wǎng)控制算法的流程圖。

3.4 短消息指令分析
    SMS(短消息)是GSM系統(tǒng)提供的一種業(yè)務,由于采用了短消息中心的存儲和轉發(fā)機制,保證了較高的可靠性[4-5]。下面為基本SMS設置的精簡程序。
    static void init_sms()
    {  send_string_uart1("AT+CMGF=0\x00D\x00A");
    send_string_uart1("AT+CSCS=\"UCS2\"\x00D\x00A");     //設置字符集
    send_string_uart1("AT+CSMP=17,167,0,241\x00D\x00A");}
//設置短消息存儲模式
    GPRS模塊上電啟動后,通過AT指令進行基本SMS的設置,如“AT+CSCS=UCS2” 設置所使用字符集為UCS2,“AT+CMGF=0”設置使用PDU模式。
    對于移動控制端指令,需統(tǒng)一消息幀頭,以方便溫室終端的提取和分析。本系統(tǒng)中所有的短消息指令都以“wenshictr”開頭。如果操作者發(fā)短消息“wenshictr+hum=?”至某溫室詢問濕度值,該溫室現(xiàn)場終端收到后, MCU通過AT+CMGR指令讀出消息幀,去除幀的時間標記等內容,將控制指令提取出來,然后將實時濕度值經(jīng)過UCS2編碼,打包成PDU幀的格式通過“AT+CMGS”指令回復給操作者。當指定參量超出閾值,通過“ATD<電話號碼>”指令可實現(xiàn)電話報警的功能。
    本系統(tǒng)在溫室現(xiàn)場經(jīng)過驗證,運行良好,GPRS傳輸數(shù)據(jù)穩(wěn)定可靠,實時性較好。但由于移動公司的限制,發(fā)送數(shù)據(jù)的周期最好設置在幾分鐘以內。因為一定時間內如果通信鏈路沒有產(chǎn)生流量,移動公司會取消分配給GPRS模塊的網(wǎng)內IP。本系統(tǒng)設計的初衷是針對偏僻分散溫室群的監(jiān)控,但也可用于其他需要遠距離監(jiān)控的場合,具有良好的可移植性。
參考文獻
[1] 宦娟,劉星橋,程立強,等.基于ZigBee的水產(chǎn)養(yǎng)殖水環(huán)境無線監(jiān)控系統(tǒng)設計[J].漁業(yè)現(xiàn)代化,2012,39(1):34-38.
[2] 李永成,凌青,吳剛,等.基于ZigBee的溫濕度數(shù)據(jù)無線采集監(jiān)測系統(tǒng)設計[J].微型機與應用,2012,31(7):61-63.
[3] 盧偉,楊建華,袁雪堯.基于GPRS的嵌入式數(shù)據(jù)采集與遠傳系統(tǒng)[J].微計算機信息,2011,27(1):12-13.
[4] 朱萬貴,鄭國君,顧新建,等.基于SMS的遠程監(jiān)控系統(tǒng)的設計與實現(xiàn)[J].制造業(yè)自動化,2003,25(12):32-34.
[5] 周國祥,周俊,苗玉彬,等.基于GSM的數(shù)字農(nóng)業(yè)遠程監(jiān)控系統(tǒng)研究與應用[J].農(nóng)業(yè)工程學報,2005,21(6):87-91.

此內容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。