(西南交通大學 機械工程學院,成都610031)
隨著我國經濟的快速發展,作為一個傳統的農業大國,提高它的經濟效益是現階段農業發展的迫切需求。基于此,發展智能溫室大棚變得十分有意義。科技的進步使無線傳感網絡在此領域中具有廣闊的應用前景,ZigBee技術作為無線網絡中的一種協議標準,更是以其低功耗、低成本、高可靠性等優點[1]而廣泛應用于工業、醫療、農業等領域中。在此,采用ZigBee技術實現下位機與上位機的無線通信,有效地減少了溫室大棚的地理位置[2]、物理路線、復雜環境因素的影響,提高了數據的傳輸效率[1-2]。該系統采用上位機WinCC友好的人機交互界面,對下位機上傳的數據實時監控,根據相關的數據處理分析,發送命令給工控機從而做出相應的處理措施。系統的實時性好,用戶操作方便,符合溫室大棚智能管理的需求[3]。
根據溫室大棚系統的要求,將該系統劃分為4個模塊[4],分別為數據采集模塊、數據傳輸模塊、數據處理模塊、控制模塊,如圖1所示。

圖1 溫室大棚系統整體構架Fig.1 Overall framework of the greenhouse system
數據采集模塊由多個溫室大棚子系統構成,每個子系統由多個ZigBee的無線網絡協調器以及多個傳感器節點所組成。傳感器節點所采集的數據以無線的方式傳到ZigBee的網絡協調器中,經過串口通信將數據傳到ARM板上,然后實時地顯示出來,最后經過嵌入式網關將數據傳輸到上位機,通過上位機對數據的監控與分析,發送相應的命令給工控機,從而做出相應的應對措施。
數據采集模塊如圖2所示,各節點上分別連有溫濕度傳感器、光照傳感器、CO2濃度傳感器、測土壤pH值傳感器,分別采集溫室大棚的溫濕度、光照強度、CO2濃度以及土壤的酸堿性等相關數據[5],所有分布式節點的數據都匯聚在ZigBee的網絡協調器上,最后將這些數據通過串口傳到ARM板上。

圖2 數據采集模塊構架Fig.2 Frame of data acquisition module
在各節點向網絡協調器傳送數據的時候,網絡協調器只需要輸入各節點的MAC地址,將各節點加入到該協調器的網絡上,無需對節點進行任何配置,節點上也不需要任何配置接口,連接非常方便。各節點的數據傳送到網絡協調器上,再經過串口通信傳到ARM板上。
目前,市場上的無線射頻發送芯片的種類很多[2],工作頻段從433 MHz,968 MHz到ZigBee的2.4 GHz等有多個頻段。在此采用TI公司推出的CC2530芯片。符合IEEE802.15.4標準的2.4 GHz射頻發射器,用來實現ZigBee應用的單片RF收發器。該芯片的工作頻率范圍是2400~2483.6 MHz,支持數據傳輸率到250 kb/s,它集成了業界領先的RF收發器,增強工業的8051MCU,可編程FLASH存儲器、8 kB RAM及其它強大功能,具有高度集成、低成本、低功耗、低電壓等特點,能夠進行魯棒的無線通信。因此,采用CC2530芯片可以滿足溫室大棚系統的無線數據接收與發射的要求。將CC2530芯片的P0口設為優先級高的SPI串口,經SPI通信接口將各傳感器所采集的信息傳到CC2530的射頻電路上[3,6],電路結構如圖3、圖4所示。

圖3 DHT11溫濕度傳感器連接結構Fig.3 DHT11 temperature and humidity sensor connection structure

圖4 BH1750光照傳感器連接結構Fig.4 BH1750 light sensor connection structure
另外,pH值傳感器和CO2傳感器與CC2530的連接結構圖與圖3,圖4所示的2個傳感器類似,這里不再贅述。圖4之所以加有1個100 nF的電容,是因為傳感器上電后要保持1 s以越過其不穩定的狀態,在此期間無法發送任何指令,增加1個電容可以起到去耦濾波的作用。
所設計的數據采集系統主要是溫室大棚系統中傳感器對大棚內環境信息的采集,主要的操作流程如下:對CC2530芯片進行GPIO口、時鐘的初始化;設置ADC的工作模式、時鐘、采樣周期、觸發方式、數據對齊方式。完成ADC的參數配置后就可以等待采樣數據了。當有中斷源觸發中斷時,就會進入中斷服務子程序啟動A/D轉換,對4個傳感器所連接的通道進行檢測,接收傳感器所采集的數據。其程序流程如圖5所示。

圖5 數據采集節點程序流程Fig.5 Data acquisition node program flow chart
底層數據采集完畢,數據采集終端節點開始向ZigBee網絡協調器發送數據。RFD節點的這個工作過程大致分為3個階段:啟動階段、發送階段、接收階段。
啟動階段創建一個basicRfcfg_t的數據體結構,這個結構體中的參數包含有節點的PANID,RF通道等參數。接著調用basicRfZint()的函數進行協議的初始化。
發送階段創建一個buffer,將要傳入的數據放入playload中,最多可以放103個字節;將playload放入buffer中,調用basicRfsendPacket(u16destAddr,u8*plaiload,u8length)函數發送。等待接收端的應答,若返回的是SUCCESS,則發送成功,否則發送失敗。basicRfsendPacket()函數調用起來十分方便,只需要傳遞3個參數,即接收端的地址、playload指向發送緩沖區的指針以及發送數據長度length,就可以將數據發送出去。
接收階段上層通過檢測函數basicRfPacketIsReady(),實時檢測是否收到一個數據包。如果收到數據, 則調用 basicRfReceive(u8pRxData,u8len,u16*pRssi)將接收的數據復制到buffer中,然后讀取buffer中的數據即可,接收端的函數也只需要配置3個參數:接受的數據、接收數據的長度、指向接受的緩沖區的指針。
ZigBee網絡協調器[7]接收數據后,經過串口通信將數據傳到ARM芯片上,ARM接收到信息后可以實時地顯示出來,并設置其參數閾值,當超過預定值,則可以以短信的方式發給用戶。最后將這些采集完的數據打包通過嵌入式網關發送給上位機[7]。匯聚節點程序流程如圖6所示。

圖6 匯聚節點程序流程Fig.6 Sink node program flow chart
上位機軟件采用了WinCC組態軟件。WinCC是一個集成人機界面和監控管理的系統,是結合西門子公司在過程自動化領域中的先進技術和Microsoft PC軟件技術的強大功能的產物。它提供了適用于工業的圖形顯示、消息報警、過程值歸檔以及報表打印等模塊,具有高性能的過程耦合、快速的畫面更新,以及可靠的數據管理功能。能夠滿足客戶的復雜要求。
所采用的組態軟件WinCC,通過ARM的通信模塊實現連接,自動動態采集子系統的信號,對監控的參數進行實時報警,實現遠程監控[8-9]。針對溫室大棚系統的特點,靈活設計動畫動態顯示、流程控制、數據采集、網絡數據傳輸、工程報表、數據與歷史曲線和實時曲線顯示等諸多功能,并能保存歷史數據為系統分析使用,系統功能如圖7所示。

圖7 WinCC人機交互界面功能Fig.7 WinCC human-computer interactive interface function
所研究的溫室大棚系統中充分利用了ZigBee無線技術的低功耗、低成本、高可靠性的優點,解決了實際生活中溫室大棚系統布線問題;采用了操作性和交互性良好的上位機軟件WinCC,使得用戶可以方便地隨時查看各個溫室大棚子系統的環境參數信息[8],WinCC根據采集到的信息能夠進行實時監控[9],根據監控的信息實時地反饋給工控機,從而能夠保證自動地去調節和控制溫室大棚系統,使整個系統真正能夠發揮其在實際生活中的作用。
[1]張偉濱.基于Zigbee溫室大棚遠程監控系統研究與實現[D].黑龍江:東北石油大學,2014.
[2]張勝.基于ZigBee無線傳感網和模糊控制的溫室番茄智能灌溉系統設計[D].浙江:浙江大學,2011.
[3]龍建明,熊剛,張爭剛,等.基于STC89C52的溫室大棚溫濕度控制器[J].計算機與現代化,2015,31(3):88-90.
[4]張青山.段建東基于ZigBee的開關柜觸頭溫度在線監測預警系統[J].高壓電器,2015,58(4):29-35.
[5]譚成兵.基于ZigBee技術的溫室大棚環境監控系統應用探究[J].電子測試,2015,33(4):110-112.
[6]王素青,吳超.基于CC2530的環境監測系統的設計與實現[J].計算機測量與控制,2015,23(8):2650-2653.
[7]張新,陳蘭生,趙俊.基于物聯網技術的智慧農業大棚設計與應用[J].中國農機化學報,2015,36(5):90-95.
[8]田野,徐保強,于欣欣,等.溫室大棚環境遠程監控及自動灌溉系統的設計[J].機械工程與自動化,2015,44(3):149-151.
[9]馬海.基于ZigBee無線傳感器網絡的遠程數據監測的設計與實現[D].湖北:武漢理工大學,2010.