《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 基于GSM/GPRS的溫室環(huán)境遠程監(jiān)控系統(tǒng)設計
基于GSM/GPRS的溫室環(huán)境遠程監(jiān)控系統(tǒng)設計
來源:微型機與應用2012年第18期
黃 培,,徐立鴻,王樂達,,蔚瑞華
(同濟大學 電子與信息工程學院,上海201804)
摘要: 針對農業(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 :

摘  要: 針對農業(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;農業(yè)環(huán)境,;遠程監(jiān)控

    為合理利用農業(yè)資源,,提高農業(yè)生產(chǎn)效率,將現(xiàn)代電子﹑計算機﹑通信和自動控制等技術引進到農業(yè)生產(chǎn)領域是發(fā)展現(xiàn)代農業(yè)的必由之路,。在農業(yè)環(huán)境監(jiān)控網(wǎng)絡化,、智能化的發(fā)展趨勢下,由于部分農業(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通信技術在工農業(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)場終端,。控制中心Server負責溫室現(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ù)字農業(yè)遠程監(jiān)控系統(tǒng)研究與應用[J].農業(yè)工程學報,,2005,,21(6):87-91.

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