滕紅麗 李承輝 仝浩遠 楊祥強 賈書恒*
(1、河南農業大學理學院,河南 鄭州450002 2、河南省通信工程局有限責任公司,河南 鄭州450002)
我國是傳統農業大國,農業用水量大,占水資源總量的一半以上,而且農田用水灌溉效率低下和用水浪費的問題普遍存在。據資料[1,2]顯示,目前,我國農業土地平均浪費水資源10t/hm2,農田灌溉水有效利用系數僅為0.53,遠低于發達國家0.80 的平均水平。因此,加強農業用水管理,發展節水灌溉,對實現農業可持續發展、保護生態環境具有重要的現實意義和深遠的歷史意義。
本文提出一種基于ZigBee 技術的無線傳感網絡智能節水灌溉系統,可以根據作物的需水情況進行精準灌溉,系統具有組網簡單、靈活、成本低、數據傳輸安全可靠、可維護性高、適用性好等特點,能夠節約水資源、滿足我國智能節水灌溉的迫切需求。
系統由傳感器節點、電磁閥控制器、風機控制器、路由節點、網關和上位機組成,如圖1 所示。圖中的1 號~X 號傳感器節點測量溫室內環境參數和土壤環境參數;每個溫室設置一個路由節點,該路由節點收集本溫室內的傳感器節點信息、下發上位機送來的灌溉指令和抽濕指令、轉發其他節點的指令和數據;溫室內路由節點將本溫室內的參數信息通過其他路由節點再轉發給網關,通過以太網上傳給上位機;上位機對接收的信息數據進行分析并存儲,得到當前作物的灌溉決策。當需要灌溉時,上位機發出灌溉指令,通過網關、路由節點轉發后下發給無線電磁閥控制器,由無線電磁閥控制器驅動電磁閥動作,開始進行灌溉作業。當上位機根據灌溉情況決策為灌溉用水已經滿足需求時,再通過網關和路由節點下發停止灌溉的指令給無線電磁閥控制器,停止灌溉。當上位機判斷出溫室內濕度不適宜、作物不需水時,下發抽濕指令給無線風機控制器,驅動風機動作。ZigBee 網絡采用網狀結構,1~X號傳感器節點、電磁閥控制器、風機控制器是ZigBee 網絡中的終端節點,只收發數據,不轉發數據,設計時采用精簡功能設備RFD,網關是ZigBee 網絡中的協調器,和路由節點一樣都能轉發數據,采用全功能設計FFD。
ZigBee 網絡中,因各節點分布分散,不可能采用市電作為供電電源,因此,節點功耗是設計時首先要考慮的問題。網關節點采用MSP430 系列單片機作為節點的主控芯片,無線收發模塊采用低功耗、具有睡眠模式的CC2530 芯片。終端節點、路由節點的控制核心采用CC2530。CC2530 是用于2.4 GHz IEEE 802.15.4、ZigBee 和RF4CE 應用的內核為增強型的8051 單片機的片上系統(SoC)解決方案。它以非常低的成本建立強大的網絡節,提供了101dB 的鏈路質量,不僅具有優秀的接收器靈敏度,而且還具有健壯的抗干擾性。CC2530 有8 kB 的RAM 、32/64/128/256 KB 的閃存、2 個USART、12 位ADC 和21 個通用GPIO,等廣泛的外設集。
終端節點功能主要是對溫室環境參數、土壤參數信息的收集以及對溫室風機、灌溉用電磁閥進行控制,包括傳感器節點、電磁閥控制器節點和風機控制器節點。傳感器節點主要由處理器模塊、無線通信模塊、傳感器模塊和電源模塊組成。電磁閥控制器節點由處理器模塊、無線通信模塊、電磁閥驅動電路和電源模塊組成。風機控制器節點由處理器模塊、無線通信模塊、風機驅動電路和電源模塊組成。它們都通過ZigBee 協議與本溫室的路由節點通信,將3 種節點表示在一個結構圖上,如圖2 所示。

圖2 終端節點結構圖

圖3 溫室內路由節點

圖1 系統整體結構圖
傳感器節點測量環境參數和土壤環境參數,包括溫室溫度、濕度、光照度、CO2濃度,作物生長區土壤的含水量、土壤溫度、土壤電導率,在本節點進行簡單的數據處理后,將這些信息經路由節點轉發給網關,送至上位機。傳感器節點上電后立即搜尋并請求加入網絡,同時該節點也會將自己綁定到本溫室內的路由節點,為該節點分配一個唯一的網絡地址。然后進入“休眠- 定時喚醒,采集數據——休眠”的低功耗工作模式。根據一般情況下作物環境參數短時間變化不大的特點,系統設計傳感器節點15 分鐘完成一次數據采集。
電磁閥控制器節點、風機控制器節點與傳感器節點工作流程類似,不同的是,節點加入網絡后,進入休眠狀態,若上位機或溫室內路由節點有灌溉或抽濕指令送來,則被喚醒,執行作業,判斷是否有結束指令送來,若有,停止灌溉或抽濕,再次進入休眠狀態。
路由節點有兩種類型:一種是各溫室內的路由節點,另一種是只進行數據轉發的一般路由節點。從可靠性上考慮,若上位機到溫室之間的通訊出現故障,為保障單個溫室還能獨立正常運行,溫室內的路由節點在設置的極限情況下能向電磁閥控制器和風機控制器發出作業指令,其硬件結構如圖3 所示,除電源模塊和無線收發模塊外,還有E2PROM存儲器、按鍵模塊和液晶顯示模塊。使用按鍵模塊可以進行參數設置、查詢,灌溉、抽濕的閾值設置等與處理器的交互。顯示模塊包括液晶顯示和LED顯示燈,用來顯示本溫室內的環境參數,灌溉、抽濕閾值,電磁閥、風機狀態,本節點的電源、通信等狀態等。E2PROM保存本溫室的環境參數歷史數據,設置的灌溉、抽濕閾值等信息。一般路由節點只有電源和無線通信模塊。
一般路由節點上電后先初始化硬件系統和軟件架構需要的各個模塊,然后搜索網關,若找到,路由節點申請加入網絡,并等待網關響應。網關收到路由節點的入網請求后,若允許加入,路由節點獲得由網關分配的一個唯一的網絡地址,然后路由節點等待接收與之相連的子節點的入網請求,同時轉發來自網關、其他路由節點和子節點經本節點的數據包。
網關在ZigBee 網絡中充當協調器的作用,即組建整個ZigBee 網絡、匯聚傳感器節點數據、傳送灌溉指令和抽濕指令,在上位機和終端節點之間轉發數據和命令。每個Zigbee 網絡有且只有一個網關,不同ZigBee 網絡的網絡ID 號不一樣,以免引起沖突。網關始終處于監聽狀態,發現有節點加入ZigBee 網絡時,由網關節配地址并計算其路由信息,更新路由轉發表,實現新節點的入網。網關為不能掉電的設備,沒有低功耗狀,網關結構圖在圖3 的基礎上增加了RS232 通信模塊和以太網通信模塊。網關的處理器模塊使用MSP430 單片機。在系統運行前,首先需要通過上位機用RS232串口通信模塊對網關進行配置,設置好IP 地址、網關、通信端口等參數,才可以使用以太網口和上位機進行數據通信。
MSP430 單片機上電后,進行軟硬件的初始化,開始運行ZigBee 協議棧執行網絡的創建,包括設置網關的短地址為0、設置網絡的PANID、設置網絡的最大深度、設置網關可以處理的具有路由功能的子節點的最大個數、選擇通信信道等。ZigBee 網絡創建完成后,開始監聽網絡,等待無線網絡和以太網分別發送來的數據,并判斷數據是從什么網絡中傳來的,若是以太網傳來的命令,則需進行指令解析,將指令傳送到微處理器、電磁閥控制器或風機控制器,若是無線網絡傳來的數據,則使用ZigBee 協議棧進行解析,然后打包為以太網交互數據,傳送給上位機。
上位機監控軟件采用組態王進行開發,單個溫室的監控界面如圖4 所示。上位機實現了終端節點數據的采集、歷史數據的存儲與查看、灌溉和抽濕指令的下發。在工作過程中,上位機不斷接收信息,將溫室環境和土壤環境實時的顯示在上位機界面中。同時,系統自動記錄接收到的數據,寫在Excel 表中,作為記錄,可用于用戶分析。根據接收到的參數信息,執行灌溉算法和抽濕算法,判斷出需要灌溉和抽濕時,發送灌溉指令和抽濕指令給指定的溫室。
本文研究設計了一種基于ZigBee 無線傳感網絡的溫室智能節水灌溉系統,此系統的各節點能夠自組網,形成自愈型網狀網。系統充分利用了ZigBee 設備低能耗、低成本、可靠性高、自組網、網絡容量大等優點,在一定灌溉范圍內根據作物的需水情況進行灌溉,從而達到精準灌溉的目的。