張雪飛, 王建春*, 彭 凱, 李鳳菊
(1.天津市農業科學院 信息研究所, 天津 300192; 2.河北工業大學 機械工程學院, 天津 300130)
近年來,設施農業物聯網在信息化、智能化、精準化方面得到快速發展,利用多種無線傳感技術、互聯網技術開展糧食生產和農作物種植環境參數監控的研究與開發[1-4]得到相關研究者的關注。智能澆灌技術也在大田和溫室大棚中得到推廣應用[5-6],主要采用多種無線通信方式,不同澆灌控制方式實現精準節水節肥控制[7]。設施溫室智能節水灌溉技術是當今發達國家研究的熱點領域,目前我國的水肥一體化自動控制系統主要依靠引進國外先進的技術和設備,設備成本高,與設施農業生產脫節,不能有效進行推廣[8-15]。因此,筆者等進行了設施農業水肥一體化節水灌溉系統的研發,以實現設施溫室的節水節肥和提高水肥資源利用率、降低農業污染,解放農業生產力的目的。
設施溫室水肥澆灌系統目標是實現精確的智能水肥灌溉,即能根據土壤墑情和時間智能設定完成水肥的滴灌。因此,需要及時獲取澆灌區域的環境參數數據和澆灌時的即時澆灌量值,才能初步實現定量澆灌。根據系統實現的目標,將系統結構分成4層(圖1)。第1層(底層)為傳感執行器層,主要由各種類型環境參數傳感器如光照傳感器、土壤溫濕度傳感器和空氣溫濕度傳感器等組成,灌溉執行器采用各種的閥門和用于控制澆灌量的流量計;第2層為數據采集控制層,該層利用單片機作為下位機采集各種傳感器數據,給執行器發送開關控制指令,打開或關閉閥門;第3層為數據傳輸層,采用Zigbee網絡技術,由協調器、路由和終端構建整個傳感控制網絡,該層利用無線傳感網絡將各種傳感器數據傳送到上位機,將上位機澆灌控制指令傳送到控制執行器的下位機;第4層為頂層,是智能網關,用于數據的展示,澆灌控制的決策及澆灌控制信息。

1.2.1 環境數據采集器 環境數據采集器的核心是TI公司的CC2530,其本身是一種增強型8051單片機,具有強大的收發特性及組網功能。傳感器均采用具有RS485接口的數字型傳感器。溫濕度傳感器內部采用SHT11傳感器,具有體積小、功耗低和精準度高的特點。土壤含水量傳感器采用FC28,功耗低,量程0~100%。傳感器均經過485接口與CC2530單片機連接,實現多傳感器動態接入采集器,單個環境數據采集器最多可以支持接入247個傳感器。每個傳感器在接入采集器前需通過撥碼開關或軟件寄存器設置唯一的編號。每個Zigbee環境采集器設置唯一的地址,用于區別設施溫室環境數據的來源。利用CC2530單片機通過串口與數字傳感器通信,獲取傳感器數據。通過485總線連接多個傳感器,構成環境數據采集器(圖2)。

1.2.2 水肥一體化灌溉控制器 水肥一體化灌溉控制器(圖3)由單片機、數字流量計、繼電器和電磁閥、比例施肥器等組成(圖3),結構類似采集器。單片機采用CC2530,既作控制主機又作無線通信主機。
數字流量計通過485接口與單片機通信,用于計量水肥澆灌量,單片機通過通用IO口經過繼電器控制電磁閥開啟或者斷開。一個水肥控制器可以同時驅動多個流量計和電磁閥,控制多組澆灌設備進行作業。一般1組澆灌設備包括1個水閥控制和1個肥閥控制。為了提高澆灌精準度,也可以采用1個澆灌控制器控制一組澆灌設備記性作業。

1.2.3 arm智能控制器 arm智能控制器(圖4)主要包括arm核心開發板及Zigbee協調器(圖4)。arm開發板采用友善之臂的Smart4418,具有高性能Cortex-A9核心板,采用三星S5PV4418作為主處理器。運行主頻高達1.4GHz,帶有600×1024的觸摸液晶屏以及以太網口。Zigbee網絡協調器采用TI公司的CC2530,方便進行自組網與zigbee其他終端和路由進行數據無線傳輸。協調器與arm控制器之間通過rs232串口進行通信,arm控制器通過協調器接收來自終端發來的傳感器數據,并發送控制指令給終端。

圖4 arm智能控制器結構
Fig.4 Structure of arm intelligent controller
1.3.1 采集終端軟件 由于CC2530單片機既有采集數據功能又有無線數據收發功能,因此需要定時進行數據采集,同時在連接入網后無線功能處于監聽狀態,隨時接收來自協調器的指令。終端采集器可以掛載多個傳感器,且傳感器的地址不一定連續,因此在設備通電后,首先掃描掛接在終端上的傳感器,并記錄其地址碼。掃描完所有地址后,即可獲知所有在線傳感器,再按照固定的頻率,通過modbus協議輪詢獲取傳感器的數據。將獲取的環境數據進行暫存,采用覆蓋方式保存傳感器新上傳的數據;終端不會主動發送數據給協調器,避免多個終端同時發送數據導致數據碰撞而發送失?。唤邮諈f調器發來的查詢指令,將傳感器數據發送給arm控制器,工作流程如圖5所示。

1.3.2 澆灌控制軟件 澆灌控制軟件用于水肥控制終端上,接收arm智能控制器通過協調器發來的灌溉指令;該指令中可以包含水、肥澆灌量,根據灌溉量,開啟電磁閥進行灌溉,并定時查詢流量計,檢測澆灌量是否達到指令設定澆灌值。若達到預定的灌溉值,則關閉終止灌溉,否則繼續澆灌作業。軟件控制流程如圖6所示。

1.3.3 智能arm控制器軟件 智能Arm控制器主要功能是負責收集監控區內的環境傳感器數據,對數據進行存儲、管理、分析決策并提供人機交互界面,發送控制指令給澆灌控制器,其功能模塊和主要工作流程見圖7。環境采集器的傳感器和澆灌控制器數據均通過Zigbee網絡及協調器與arm控制器進行傳遞,因此arm接收發送數據均通過串口中斷實現。由于多個傳感器終端節點自主發送給arm控制器傳感器數據存在數據碰撞概率,當出現一定次數后,終端與協調器之間通信發生中斷,導致某終端節點不再發送傳感器數據,陷入假死狀態。因此,采用arm控制器輪詢方式查詢各個環境采集器傳感數據的方式。即第1次環境采集器或者灌溉控制器作為終端入網后,會主動給協調器發送一次終端的自定義地址,協調器轉發arm控制器,arm控制器將記錄該地址作為在線節點地址。之后arm將進行定時掃描所有記錄的環境采集器地址,采用輪詢方式給各個環境采集器發送查詢指令,并接收這些環境采集器反饋的傳感器數據;而澆灌控制器地址則保存用于發送澆灌指令。
arm控制器軟件在基于LINUX系統的QT4.8.5版本軟件開發平臺制作完成,QT開發平臺有很好的跨平臺功能,在LINUX系統和window系統下代碼可以轉換編譯;通過arm-linux-gcc交叉編譯工具可以將qt代碼編譯成arm控制器能夠識別的ARM機程序,下載到arm機上即可運行。開發的人機交互界面包括各個環境采集器節點、各個傳感器數據顯示、灌溉設置及數據查詢等(圖8)服務。


在交互界面設計中,由于整個傳感控制網絡可能部署不同數量的終端節點,且不同終端節點上掛載數量不定的傳感器或者電磁閥,因此采用下拉方式作為人機交互;并且將各類傳感器地址進行分段編號,目前采集器節點預留了9個傳感器掛載端口,所以土壤溫濕度傳感器編號設置在1~3的范圍,空氣溫濕度編號范圍4~6,光照度編號范圍7~9,如果需要掛載更多傳感器,只需要修改相應的配置文件,增加掛載傳感器數量即可。這種方式可以較為方便地增加并顯示終端節點的編號及各個節點上各個類型傳感器編號等。
1.3.4 數據庫 整個系統每天會采集大量數據,因此需要部署數據庫對數據進行有效的存儲和管理。在arm機上移植Mysql數據庫。數據庫表中的字段囊括了需要記錄的各種參數,主要有環境溫濕度數據、土壤的溫濕度、光照度和數據記錄時間等。在arm系統下查詢主要字段(圖9a),還需建立澆灌數據表,記錄設定澆灌水量、肥量,實際澆灌水量、肥量、澆灌時間起始時間,結束時間等(圖9b)。數據庫建立后就可方便地進行數據存儲。記錄數據后可以隨時查詢歷史數據(圖10),軟件中設定最多查詢1個月內的數據。


圖10 數據庫歷史數據查詢
1.3.5 滴灌策略 為了盡可能節水節肥,提高水肥的效能,采用少量多次灌溉的原則,充分利用土壤、環境傳感器返回的數據作閉環反饋控制。在arm控制器中設置每天多次灌溉啟動的時間,并增加電磁閥開啟條件,只有當土壤含水量低于設定數值,環境濕度低于一定數值時,才會開啟電磁閥進行水量澆灌。每次的澆灌量都控制在10 L以內。施肥同樣采用此策略,少量多次為原則,減少肥量流失和環保壓力。
于2016年4月在北辰雨農合作社的試驗大棚中進行系統測試。環境采集器節點放置在大棚中多個位置;水肥一體控制器布置在澆灌管道旁邊,arm控制器掛在墻上(圖11),方便操作和觀察結果。
先給arm控制器和協調器所在的控制箱通電,然后給各個采集器終端通電,依次加入協調器構建的傳感網絡,澆灌控制器加入后構建整個測量控制網絡。根據試驗中傳感器上報的數據,可看出自研的環境傳感器能正常上報空氣溫濕度、土壤溫濕度的數據(圖12)。arm智能決策模塊集數據監測與智能灌溉集一體,通過監測數據與灌溉啟動的閾值進行對比,精準開啟灌溉,實現高效節水節肥。

圖11 溫室大棚設備裝置

設計的水肥一體化智能灌溉系統能夠實時對溫室小氣候進行監控,通過arm智能決策控制器完成數據收集、灌溉決策控制、人機交互等功能。智能傳感器終端實時掃描傳感器的數據,提供給arm決策控制器傳感器數據服務;智能控制終端接收arm決策控制器水肥澆灌指令,精準執行水肥澆灌量。經棚內試驗測試,該系統可以定時定量及根據土壤濕度智能進行水肥滴灌。后續將進一步研究滴灌量與作物生長期之間的匹配關系,進一步提高水肥的效能。