摘 要 智能農業(yè)是物聯(lián)網(wǎng)應用的重要領域之一。主要探討智能溫室通過ZigBee星型網(wǎng)絡拓撲組建傳感網(wǎng)絡,使用CC2530作為終端節(jié)點和協(xié)調器,通過RS485接口與上位機建立通信關系,上位機分析傳感網(wǎng)絡上傳數(shù)據(jù),并與作物的種植方案核心庫比對、查詢后,向與RS485總線相連的各類控制器發(fā)送控制指令,調節(jié)溫室的各項參數(shù),達到智能、健康、節(jié)能農產品生產的目的。
關鍵詞 智能溫室;ZigBee網(wǎng)絡;RS485串行接口;Visual C++
中圖分類號:TP39;TP29 文獻標志碼:A 文章編號:1673-890X(2014)04-013-07
知網(wǎng)出版網(wǎng)址:http://www.cnki.net/kcms/detail/50.1186.S.20150226.1630.030.html 網(wǎng)絡出版時間:2015/2/26 15:34:04
物聯(lián)網(wǎng)經(jīng)過十余年的發(fā)展,物聯(lián)網(wǎng)核心技術已經(jīng)有了比較成熟的技術支撐。作為人口大國的中國,食品問題越來越成為人們最為關注的問題?;谏鲜鲈蛟O計的智能溫室監(jiān)測和控制系統(tǒng),最大程度地體現(xiàn)出農業(yè)智能化,可以實現(xiàn)對智能溫室光照、濕度、溫度、CO2濃度、肥力和病蟲害控制的自動化管理,從而減少人工成本。本文旨在探討智能溫室采用ZigBee星型網(wǎng)絡拓撲[1]組建傳感網(wǎng)絡,通過精細化控制,最大程度地減少病蟲害發(fā)生的機率,降低農藥使用量,并通過上位機可視化界面方便種植人員實時查詢智能溫室和作物的各類信息,及時、合理地提示種植人員安排好種植作業(yè)時間,以真正達到智能、健康、節(jié)能農產品生產的目的。
1基于ZigBee網(wǎng)絡的智能溫室監(jiān)測 系統(tǒng)的設計
本文所設計的基于ZigBee網(wǎng)絡的智能溫室監(jiān)測系統(tǒng),智能溫室設計面積為40 m×40 m,采用星型網(wǎng)絡拓撲結構,如圖1所示。由環(huán)境監(jiān)測節(jié)點(終端節(jié)點)、協(xié)調器和上位機構成監(jiān)測平臺。
由于ZigBee技術采用的是2.4 GHz高頻信號,而終端節(jié)點和協(xié)調器的電路組成中除CC2530的射頻電路外還有其他低頻電路,為了消除低頻電路對高頻信號的影響,本系統(tǒng)采用了模塊化的PCB設計方法[2],把射頻電路與低頻電路分別設計在2塊不同的PCB上,二者通過排針相互連接。既確保高頻電路盡量少受低頻數(shù)字信號干擾,同時簡化設計復雜度,增強了節(jié)點電路的通用性。
1.1無線核心模塊(射頻電路)的設計
不論是協(xié)調器,還是終端節(jié)點都具有相同無線核心模塊(射頻電路),作為整個節(jié)點硬件系統(tǒng)的核心。它主要由CC2530芯片、時鐘電路、濾波電路、微帶天線、外接天線構成。為保證無線核心模塊的通信距離和可靠性,本系統(tǒng)所設計的電路嚴格參照TI公司提供的參考電路。電路原理圖如圖2所示。
無線核心模塊通過排針把模塊的電源輸入、芯片復位引腳以及17個I/O端口引出,與外圍電路(低頻電路底板)的母排相連。
1.2協(xié)調器的設計
協(xié)調器是整個ZigBee傳感監(jiān)測網(wǎng)絡的核心,其中無線核心模塊負責傳感網(wǎng)絡的建立、管理和數(shù)據(jù)傳輸;RS485接口與上位機進行通信,傳輸從傳感網(wǎng)絡獲得的傳感器數(shù)據(jù);利用LED指示燈實時地顯示網(wǎng)絡狀態(tài),協(xié)調器的硬件結構框圖如圖3所示。
從圖3可見,協(xié)調器的組成除了無線核心模塊(射頻電路)外,還包括協(xié)調器外圍電路,外圍電路主要包括電源電路、RS485接口電路、LED指示電路等。下面分別對外圍電路的各部分進行具體設計。
1.2.1 電源電路
協(xié)調器是ZigBee網(wǎng)絡的核心,它必須保持持續(xù)工作不能中斷,所以協(xié)調器采用外接直流電源。由于除RS485所使用的元器件為5 V供電外,包括無線核心模塊(射頻電路)在內的其他模塊均為3.3 V供電,所以,選取5 V的外接直流電源為協(xié)調器供電。直流電源輸入5 V電壓后,經(jīng)LM1117 DC-DC轉換后降為3.3 V。協(xié)調器電源電路原理圖如圖4所示。
1.2.2 RS485接口電路
協(xié)調器與上位機之間的通信是通過RS485接口來實現(xiàn)的。RS485接口電路圖如圖5所示。
協(xié)調器使用SN75176作為RS485接口的電平轉換芯片。為消除共模電壓及其他外部干擾,需采用光電隔離器件實現(xiàn)ZigBee信號和RS485信號的隔離傳輸。SN75176的輸出引腳A、B上分別連接了阻值為1 kΩ的上拉下拉電阻,其目的是保證在A、B開路的情況下RS485的差動電壓絕對值不小于200 mV。
1.2.3指示電路
指示電路采用紅、綠、黃、藍4種顏色的4個LED指示燈顯示網(wǎng)絡的運行狀態(tài)和進行錯誤報警、超限報警等。指示電路原理圖如圖6所示。1.3終端節(jié)點的設計
終端節(jié)點是ZigBee傳感監(jiān)測網(wǎng)絡中數(shù)據(jù)采集的執(zhí)行者,它負責采集現(xiàn)場數(shù)據(jù)。在本文所設計的ZigBee傳感監(jiān)測網(wǎng)絡中,終端節(jié)點使用無線核心模塊與協(xié)調器節(jié)點進行通信,由傳感器執(zhí)行數(shù)據(jù)采集,利用LED指示燈顯示其本身的網(wǎng)絡狀態(tài)和工作狀態(tài)。終端節(jié)點的硬件結構框圖如圖7所示。
從圖7可見,終端節(jié)點的組成除無線核心模塊(射頻電路)外,還包括終端節(jié)點外圍電路,外圍電路主要包括電源電路、傳感器電路、LED指示電路等。其中LED指示電路與協(xié)調器節(jié)點相同,具體請參閱“1.2.1”節(jié)。下面主要闡述電源電路和傳感器電路的設計。
1.3.1電源電路
根據(jù)智能溫室中可能采用能耗較大的傳感器,但比較容易更換電池的實際,設計終端節(jié)點的供電模塊時選取大容量電池供電,電池為4.2 V,4200 mAh。選取XC6206P332MP-3.3V作為終端節(jié)點的電壓轉換芯片,為無線核心模塊供電。XC6206P332MP-3.3V功耗低、精度高,且價格便宜,符合ZigBee協(xié)議的要求。終端節(jié)點的供電電路如圖8所示。
電池的充電電路采用外接直流電源經(jīng)由二極管D1分壓后,電壓降至4.3 V左右。為電池充電時,只需與5 V直流電源連接即可。
1.3.2 傳感器電路
在設計基于ZigBee網(wǎng)絡的智能溫室監(jiān)測系統(tǒng)時,為了精確掌握農作物的生長環(huán)境和生長情況,必須依賴各種先進的傳感器,用于監(jiān)測溫度、濕度、光照和CO2等。其各自的傳感器電路設計如下。
1.3.2.1基于MLX90614的非接觸式紅外測溫電路
MLX90614是一款非接觸式紅外線溫度感應器,由紅外熱電堆感應器和定制的信號調節(jié)2部分組成。MLX90614信號調節(jié)部分使用了先進的低噪聲放大器,實現(xiàn)溫度的高精度測量。溫度測量范圍為-40~85℃,解析度為0.02℃;MLX90614是一種低功耗傳感器,且擁有節(jié)能關斷工作模式,符合ZigBee網(wǎng)絡的低功耗要求。基于MLX90614的非接觸式紅外測溫電路原理圖如圖9所示。
MLX90614與無線核心模塊連接時,需將相應的引腳與CC2530的通用I\O口連接。
1.3.2.2基于DHTll的溫濕度傳感器電路
DHTll數(shù)字溫濕度傳感器應用專用的數(shù)字模塊采集技術和溫濕度傳感技術,確保產品具有較高的可靠性、穩(wěn)定性。DHTll采用單線制串行接口,讀取溫度和濕度時均通過1條數(shù)據(jù)線按先后順序讀出。
DHTll的測量范圍為10%~90%RH、0~50℃,具有精度高、體積小、功耗低、信號傳輸距離遠的特點,適合用于精準農業(yè)的溫濕度監(jiān)測?;贒HTll的溫濕度傳感器檢測電路如圖10所示。
DHTll采用2針單排引腳與無線核心模塊(射頻電路)連接,供電電壓為3.3 V。
1.3.2.3紅外線光敏傳感器
紅外線光敏傳感器包括光學系統(tǒng)、檢測元件和轉換電路。紅外線光敏傳感器檢測電路如圖11所示。
1.3.2.4土壤濕度傳感器
土壤濕度傳感器(HA2001)主要用來測量土壤容積含水量,進行土壤墑情監(jiān)測及農業(yè)灌溉指導。土壤濕度傳感器檢測電路如圖12所示。
1.3.2.5紅外CO2濃度傳感器
紅外CO2濃度傳感器采用單束雙波長非發(fā)散性紅外線測量方法,根據(jù)不同的氣體吸收不同波長的光,CO2對紅外線(波長為4.26 m)最易吸收的原理,將空氣吸入測量室,測量紅外線(波長為4.26 m)光通量,從而測量出CO2濃度。紅外CO2濃度傳感器檢測電路如圖13所示。
1.4星型網(wǎng)絡的組建
本文中組建智能溫室傳感監(jiān)控網(wǎng)所使用的星型網(wǎng)絡拓撲,以協(xié)調器為網(wǎng)絡中心,其他的終端節(jié)點只能與協(xié)調器通信,若終端節(jié)點間需要通信,則需通過協(xié)調器轉發(fā)實現(xiàn)。協(xié)調器負責發(fā)起建立和維護整個網(wǎng)絡。與之相連的其他終端節(jié)點必須分布在協(xié)調器的覆蓋范圍內。
要構建智能溫室傳感監(jiān)控網(wǎng),就必須根據(jù)ZigBee網(wǎng)絡的協(xié)議,構建星型網(wǎng)絡拓撲,保證協(xié)調器與終端節(jié)點的正常通信。ZigBee網(wǎng)絡協(xié)議的架構圖如圖14所示,根據(jù)架構圖可知,ZigBee網(wǎng)絡的協(xié)議分為兩部分:(1)IEEE802.15.4定義的物理層和MAC層技術規(guī)范;(2)ZigBee聯(lián)盟定義的網(wǎng)絡層、應用程序支撐子層和引用層技術規(guī)范。ZigBee協(xié)議棧是ZigBee廠商為用戶提供的一種將各個層定義的協(xié)議集合在一起,以函數(shù)的形式實現(xiàn)通信的集成方法,并給用戶提供API,方便用戶調用。本文使用TI公司提供的基于ZigBee 2007的協(xié)議棧Z-Stack-cc2530-2.3.0,完成ZigBee網(wǎng)絡的構建和維護[3]。
ZigBee無線網(wǎng)絡協(xié)議棧的功能可分為無線網(wǎng)絡模塊和服務器模塊兩部分[4],其功能模塊劃分如圖15所示。
在組建ZigBee星型網(wǎng)絡時,協(xié)調器節(jié)點初始化設備后,設定ZigBee無線網(wǎng)絡的個域網(wǎng)ID號和通信信道等網(wǎng)絡初始化信息。終端節(jié)點上電之后,首先初始化硬件設備,然后掃描網(wǎng)絡,查找到網(wǎng)絡之后自動加入網(wǎng)絡。這樣隨著終端節(jié)點不斷加入網(wǎng)絡,最終自組織形成ZigBee無線網(wǎng)絡。網(wǎng)絡流程如圖16所示。
在采用ZigBee無線網(wǎng)絡棧實現(xiàn)智能溫室監(jiān)測星型網(wǎng)絡時,終端節(jié)點和協(xié)調器應通對Z-Stack協(xié)議棧對CC2530進行無線網(wǎng)絡模塊的初始化和服務器模塊的初始化[5]。本文通過TI提供的SampleApp工程構建網(wǎng)絡。
1.4.1 終端節(jié)點初始化
首先對終端節(jié)點的無線網(wǎng)絡模塊初始化,使用osal_start_timerEX( )函數(shù),定義函數(shù)中的SampleApp_TaskID(任務ID號),完成對任務ID號的初始化。定義SAMPLEAPP_PERIODIC_CLUSRID為3,來確定終端節(jié)點通過點播的方式向協(xié)調器發(fā)送信息。根據(jù)智能溫室的監(jiān)測特點,使用SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUTCL,定義終端節(jié)點向協(xié)調器循環(huán)發(fā)送數(shù)據(jù)的周期為1800 s,并利用afAddrType_t枚舉類型建立枚舉Point_To_Point_DstAddr,定義通信為點對點通信,將Point_To_Point_DstAddr.addr.shortAddr設為0x0000,從而確認終端節(jié)點發(fā)送的對象是協(xié)調器(地址為0x0000)。
然后對終端節(jié)點服務模塊初始化,根據(jù)不同的傳感器,配置不同的驅動,保證終端節(jié)點準確接收傳感器發(fā)來的信息,并打包成Z-Stack協(xié)議棧可以發(fā)送的數(shù)據(jù)類型。
1.4.2 協(xié)調器初始化
在對協(xié)調器初始化時,首先初始化無線網(wǎng)絡模塊,定義osal_start_timerEX( )函數(shù)中的SampleApp_TaskID(任務ID號)為終端節(jié)點中設定的任務ID。然后初始化服務模塊。建立SampleApp_MessageMSGCB(aflncomingMSGPacket_t*pkt),定義RS485接口的數(shù)據(jù)傳輸速率(波特率)、奇偶校驗類型、數(shù)據(jù)位數(shù)、停止位數(shù),完成RS485接口初始化,并利用該函數(shù)通過協(xié)調器上的RS485接口向上位機傳輸終端節(jié)點的MAC地址和由終端節(jié)點接收的數(shù)據(jù)。
2基于Visual C++的數(shù)據(jù)顯示和處理系 統(tǒng)設計
2.1利用Visual C++顯示協(xié)調器接收到的數(shù)據(jù)
RS485串行通信的核心在于串行通信方式(發(fā)送、接收和握手)的控制。Visual C++為我們提供了一種好用的ActiveX控件Microsoft Communications Control(即MSComm)來支持應用程序對RS485接口的初始化及管理和訪問。利用MSComm控件編程進行串行通信,在成功加載MSComm控件后,首先利用控件的CommPort屬性和Setting屬性,對上位機上的RS485接口初始化,完成對RS485接口的定義,根據(jù)協(xié)調器中定義的數(shù)據(jù)傳輸速率(波特率)、奇偶校驗類型、數(shù)據(jù)位數(shù)、停止位數(shù)設置上位機上RS485接口的通信參數(shù)。然后利用InPut屬性打開RS485接口。
MSComm控件提供的在運行觸發(fā)事件或發(fā)生錯誤時,觸發(fā)OnComm事件,可以通過事件的CommEvent屬性,判斷MSComm控件當前的觸發(fā)事件或發(fā)生錯誤的具體類型,進而通過硬件握手協(xié)議,應對各種錯誤事件和接收數(shù)據(jù)具體過程。通過CMscomm Demo View類中的SendData( )函數(shù)實現(xiàn)RS485接口數(shù)據(jù)發(fā)送。
當完成串行通信后,應關閉RS485接口,系統(tǒng)將會清空RS485接口上的收發(fā)緩存,重置標志位,以確保RS485接口資源得到及時的釋放[6]。
2.2利用Visual C++處理RS485接口接收數(shù)據(jù)
在實現(xiàn)對智能溫室監(jiān)測數(shù)據(jù)的讀取后,上位機應對智能溫室監(jiān)測數(shù)據(jù)進行相應的處理和顯示,本文設計的顯示和控制界面如圖17所示。
在這個顯示和控制系統(tǒng)中,根據(jù)農業(yè)屬于經(jīng)驗科學的特點,引入了監(jiān)測數(shù)據(jù)與種植作物歷年來總結作物各關鍵生長時間節(jié)點數(shù)據(jù)、每日數(shù)據(jù)比對。從而合理地給出種植作物的各項農業(yè)作業(yè)實施時間建議,提示農業(yè)作業(yè)具體操作流程。并通過數(shù)據(jù)比對得出對智能溫室的各項環(huán)境變量的控制數(shù)據(jù),發(fā)送到各類控制終端,實施智能化農業(yè)作業(yè),以達到對智能溫室光照、濕度、溫度、CO2濃度、肥力和病蟲害控制自動化管理的目的。
在對智能溫室的各項環(huán)境變量進行控制時,根據(jù)農業(yè)環(huán)境變量的改變是一個比較緩慢、漸進過程的數(shù)據(jù)特點,采用比例積分控制,實現(xiàn)對智能溫室環(huán)境變量的閉環(huán)控制,積分時間常數(shù)設定為3600 s或更長時間。其控制模型的系統(tǒng)框圖如圖18所示。
2.3利用Visual C++向RS485接口發(fā)送控制指令
利用建立RS485接口通信時,設立的CMscomm Demo View類中的SendData( )函數(shù),實現(xiàn)對剛剛采集的各項環(huán)境變量的控制數(shù)據(jù)的發(fā)送。由于所發(fā)指令涉及到多個終端設備,應在每個發(fā)送數(shù)據(jù)包中添加地址信息,實現(xiàn)發(fā)送過程中分地址發(fā)送數(shù)據(jù)。
3實現(xiàn)各類控制終端的控制
本設計采用的RS485總線,是向各類控制終端發(fā)送控制指令,這就要求各類控制終端的串行端口具有統(tǒng)一的數(shù)據(jù)通信協(xié)議,設置各類控制終端的RS485接口傳輸速率(波特率)、奇偶校驗類型、數(shù)據(jù)位數(shù)、停止位數(shù)與上位機RS485接口的通信參數(shù)保持一致,以保證通信的正常運行。根據(jù)設計系統(tǒng)中分地址發(fā)送數(shù)據(jù)的設計要求,各類控制終端在收到數(shù)據(jù)包,進行數(shù)據(jù)包解析時,控制終端的地址分配如表1所示。
3.1智能溫室室外遮陽幕系統(tǒng)
為保證智能溫室室內光照保持適宜的光照強度,避免過強太陽輻射引起室內溫度升高,智能溫室設室外遮陽幕,并通過推桿電機實現(xiàn)對室外遮陽幕的啟閉。系統(tǒng)的主要參數(shù)如下:使用電機類型,直流推桿電機;行程,4.00 m;升降速度,0.50 m/min;單程運行時間,10.00 min;電源電壓,380 V;電機功率,0.75 kW;限位方式,電機帶限位器。
3.2智能溫室通風降溫系統(tǒng)
智能溫室通風采用自然通風系統(tǒng)、循環(huán)通風系統(tǒng)、強制通風系統(tǒng)和濕簾風機降溫通風系統(tǒng)。
3.2.1 自然通風系統(tǒng)
自然通風包括沿智能溫室屋脊方向交錯開窗的屋頂窗和智能溫室兩側墻的自然通風窗。通風窗設有開窗電機系統(tǒng),實現(xiàn)自然通風窗啟閉。
3.2.2 循環(huán)通風系統(tǒng)
為保證智能溫室內溫度、濕度環(huán)境的均勻性,智能溫室配置環(huán)流風機,每2臺按開間方向組織氣流。環(huán)流風機的參數(shù)如下:主軸轉速,1450 r/min;風量,4820 m3/h;全壓,149 Pa;功率,370 W;送風距離約定,45 m。
3.2.3 強制通風系統(tǒng)
在智能溫室南山墻設置強制通風風機,風機采用低壓大流量軸流風機,能耗1.1 kW/臺。每臺風機排風量42000 m3/h。這樣的排風量可保證室內夏季通風溫差在3~10℃以內。
3.2.4 濕簾風機降溫系統(tǒng)
當室外溫度超過28~34℃時,啟動濕簾降溫。水泵向濕簾供水,空氣通過濕簾降低溫度,與機械通風相配合,帶走智能溫室內多余熱量,降低智能溫室溫度。濕簾安裝在智能溫室的北山墻,濕簾設有電動卷膜電機開窗系統(tǒng)。風機使用安裝在智能溫室南山墻上的強制通風風機。
3.3智能溫室補光系統(tǒng)
智能溫室采用人工補充光照,用以滿足作物光周期的需要。
3.4智能溫室采暖加溫系統(tǒng)
在智能溫室中設有采暖加溫機,以保證隆冬時節(jié)智能溫室的環(huán)境溫度。
3.5智能溫室噴灌、滴灌系統(tǒng)
智能溫室的供水系統(tǒng)可分為水利灌溉和營養(yǎng)液、農藥灌溉2個部分。為了滿足營養(yǎng)液、農藥設施要求,在供水系統(tǒng)水源處設有營養(yǎng)液、農藥添加攪拌池。
噴灌系統(tǒng)采用大面積自壓噴灌系統(tǒng),倒掛式噴頭。該噴頭工作壓力為2~3.5 kg/cm2,流量為104 L/h,噴頭噴灑半徑為4 m,管道兩端噴頭間距為3.2 m,采用電動閥門控制其工作。
滴灌系統(tǒng)可分為地上滴灌系統(tǒng)和地下滴灌系統(tǒng)。采用電動閥門控制其工作。
3.6智能溫室人工照明系統(tǒng)
智能溫室的照明采用防水防塵燈,共設6盞照明燈。
4結語
本設計在初步試驗中,基本實現(xiàn)了對智能溫室光照、濕度、溫度、CO2濃度等的自動化管理。測試人員利用上位機可視化界面能夠查詢到智能溫室的各種信息,及時、合理地安排農作物的種植,為實現(xiàn)智能、健康、節(jié)能的農產品生產積累了有益的經(jīng)驗。
參考文獻
[1]ZigBee Specification[S].ZigBee Alliance,2006,11.
[2]Kim D H, Song J Y, Lee S H,et al.Development and evaluation of ZigBeenode for USN[J].International Journal of precision engineering and manufacturing,2009,(10):53-57.
[3]IOTer.ZigBee技術概述,技術特點及協(xié)議棧結構[DB/OL].http://www.5lian.cn/html/2012/gainianjiexi_ 0213/30133.html,2010-07-08.
[4]彭剛,劉戎,王方年,等.無線傳感器網(wǎng)絡研究概述[J].廣西科學院學報,2007,23(4):369-372.
[5]秦旭.基于ZigBee技術的無線通信棧的研究[D],哈爾濱:哈爾濱理工大學,2011.
[6]陳艾春.基于VC++串口通信[J].黑龍江科技信息,2010,(1):82.
(責任編輯:丁志祥)