王杰華,洪麗芳,許錦麗,劉曉彬,楊烈君
(寧德師范學院信息與機電工程學院,福建 寧德 352100)
中國是傳統的農業大國,農業發展市場前景廣闊,與國外發達國家相比,國內農業集約化普及率較低、基礎建設不足,農業生產的分散性導致中國農業經營成本上升、整體效率不高,同時還面臨化學品的過量使用,致使土地污染問題加重、農作物質量風險增大。土地集約化和農業科技化等問題有待深入研究,需加快完善農業科研體系,提高農業科研成果的轉化應用能力。
無線網絡技術具備低功耗、組網靈活等特性,被廣泛應用于物聯網的開發。研究以構建信息感知、智慧服務的物聯網控制系統為目標[1],以農業信息的模型、環境調控優化為出發點,針對物聯網環境下智能農業信息處理的需求,結合傳感器網絡,開展對物聯網信息融合和物聯網環境下多傳感器信息收集及關鍵技術的研究,實現物聯網農業智能控制技術的應用。
該系統將以STM32F10x處理器作為信息數據處理中心、Zigbee無線傳輸技術構建無線傳感網絡,各功能模塊協作完成對農作物生長的各項參數的采集和調控。此外,將采集經過處理轉換的參數信息及執行器狀態信息發送到云平臺及移動終端(圖1),可用于遠程監視和控制。

圖1 總體設計
應用物聯網設計的環境監控系統自頂向下,主要分為環境信息采集、生長信息監測、動態智能控制3個部分。
1)環境信息采集。實時采集空氣溫濕度、土壤溫濕度、土壤養分、二氧化碳濃度、光照度等與農作物生長環境有關的參數,通過多個傳感器感知周邊環境狀況,全方位實時動態監測農作物生長環境。
2)生長信息監測。主要以視頻監測為主,實時對農作物生長情況進行拍攝,以超聲波傳感器為輔,進行農作物高度自動檢測,根據農作物的生長繪制作物生長周期曲線圖,為后續分析農作物生長狀況提供原始數據。
3)動態智能控制。通過STM32F10x芯片,完成傳感器節點的數據采集,將經過處理的數據上傳到云平臺,通過預設值進行自動控制,也可通過顯示的數據手動調控。該控制系統根據作物的周邊環境情況自動控制溫度控制系統、光量子控制系統以及微灌和噴灑控制系統,以實現對農業物聯網應用層和農業生長環境的自主調控。
由于主控系統的芯片采用STM32F10x處理器,為使無線數據更加穩定,傳輸采用Zigbee無線技術構建,以樹狀網絡結構劃分為傳感節點、感知層、傳輸層、應用層和客戶端(圖2)。在感知層,使用CC2530創建多個網絡節點,設計節點終端和協調器實現無線網絡。

圖2 通訊系統工作流程
通過Zigbee設備構成無線傳感網絡,連接傳感節點的多個Zigbee終端節點會適當處理傳感器獲取的原始數據,然后通過RF將獲取數據發送到Zigbee路由器或Zigbee協調器上進行匯聚處理。Zigbee協調器通過串行通信將數據轉發到智能網關[2],最終把數據發送到系統移動終端,顯示環境情況(圖3)。

圖3 網絡拓撲
無線感知節點獲得的數據處理采用卡爾曼濾波原理的數據融合,是一種遞歸估計方式,不需要任何有關的歷史數據信息,估計過程僅與先前相關狀態的估計值和當前狀態的實際值相關,是線性過濾的一種比較常用的數據處理方法[3]。在無線傳感器網絡情況下,需要估計系統的當前狀態并且需要預測系統的未來狀態,卡爾曼濾波通常用于融合傳感器數據,該數據融合算法具有較少的信息丟失。
無線傳感器網絡中傳感器節點獲得的數據是離散數據,卡爾曼濾波用于感知數據的濾波可以提供統計上的最佳估量,而且這種過程只需少量的存儲空間,使得卡爾曼濾波非常適合在無線傳感器網絡中應用[4]。因此,該系統通過卡爾曼濾波來處理無線傳感器網絡數據。
卡爾曼濾波算法是一個離散控制的過程,用線性隨機微分方程表述:

再加上系統的測量值:

式中,X(k)為k時刻的系統狀態;U(k)為k時刻對系統的控制量,A和B為針對該系統的參數。Z(k)為k時刻的測量值;H為測量系統的參數;對于多測量系統,A、B、H為矩陣。W(k)和V(k)表示過程噪聲和測量噪聲,被假設成高斯白噪聲,方差Q和R不隨系統運行狀態變化而變化。
網關節點接收到Zigbee數據包后,經MAC層和NWK層的解析從數據中取出有效信息,再通過數據轉換,打包為TCP/IP數據包,并發送到云平臺[5]。項目中的網關還有協議轉換作用,由于存在Zigbee與GPRS兩種網絡的連接,在數據包發送前需經過處理器STM32F10x轉換成適合在GPRS網絡傳輸的數據包格式。
水肥灌溉系統在智能農業中對檢測的信息起反饋控制作用,系統有兩處進水口,一處進水口是從河道抽取的清水,另一處進水口是儲存的肥水,最終匯聚到一條管道(圖4)。根據農田土壤墑情信息、小氣候信息,由控制閥門進行分配,實現無人職守自動灌溉,對肥水的智能微灌進行研究。

圖4 水肥灌溉系統
土壤養分檢測的基本原理就是通過X射線熒光光譜法照射土壤,使其發出熒光,通過反射的熒光進行分析,檢測樣本成分[6],在該系統中只檢測土壤中的養分。
微灌制度需結合農作物生長狀態曲線規律和土壤中養分含量檢測,外加大數據算法計算微灌和施肥制度擬合,進行水量、肥量相結合一體化灌溉子系統。根據植物周期需水量與降水量的比值確定澆肥的次數、間隔時間,主要原則就是肥隨水走、分階段擬合。應選用螯合態微肥,在微灌溉中與元素肥混合使用時容易產生沉淀物[7]。相比于噴灑灌溉技術,滴灌用水量會比噴灑或畦灌更節水。
經試驗測試發現,DHT11傳感器測量土壤濕度并不準確,用專門檢測土壤濕度的FC-28傳感器效果較好。其檢測原理是土壤中含水量與其導電性的正相關性。在實際運行過程中發現采樣值會出現偏差較大的峰谷值,這是因為濕度的檢測過程有一定的遲滯性。選擇中位值平均濾波法,即連續采樣N個數據后,去除最大、最小值,將剩下的數據取平均的方法,以防止脈沖干擾,濾波公式為:

式中,M0為輸出土壤濕度;Mi為連續采樣濕度;n為采樣次數。
由于農作物一般比較嬌嫩,在溫度較高情況下澆水會導致燒根、燒葉情況。因此,不能機械地檢測到濕度不夠就直接進行澆灌,還需考慮土壤墑情、農業技術及土壤溫度在一定范圍內,才會啟動自動灌溉系統。
對于集約化農業生產,農田的面積一般比較廣闊,因此對于溫濕度的監測點應采用DHT11傳感器多點分布,實現對土壤溫度實時采集[8]。考慮到環境因素、主控板和傳感器的運行狀態會產生熱量,導致直接安放在主控板的傳感器采樣值偏大,會使得數據的分析不正確以及控制產生誤差。CS32F103內置溫度傳感器,當內部傳感器運行產生溫度時,對溫度進行補償,以減弱傳感器升溫帶來的影響[9]。溫度補償公式為:

式中,T0為輸出溫度;Ti為傳感器采樣溫度;Tc為芯片溫度;Tt為溫度補償閾值;ρ為溫度補償系數。
移動終端用Android系統實現移動終端軟件的設計,移動終端的作用不僅僅顯示接收的數據,還可以進行手動控制和參數的設置、處理和自動控制,實現多種控制功能。
程序初始化進行系統自檢,連接網絡和感知層。自檢完畢,連接各傳感器、各聯網部分、屏幕顯示和無線傳送部分,加載預定的參數值,隨后調用資源數據,檢查是否有來自網絡的控制指令并接收。同時檢查是否有語言控制的指令和屏幕觸控的指令[10]。當系統連接穩定后,在應用層、傳輸層、感知層、傳感器節點之間進行各數據的傳送和指令的傳遞控制(圖5)。
系統的硬件主要由STM32F10x作為主控處理器,依托Zigbee設備構成無線傳感網絡,以多點布局傳感器的方式實時采集周邊環境參數(表1)。結合信息融合、數據信息處理方式,實現自動化控制效果。
移動互聯時代的到來正深刻改變著農業的發展,“互聯網+農業”的研究使農業生產更智能化,精準農業在提高生產效率的同時能夠有效減少人力使用,實現真正的自動化。在物聯網的基礎上,該系統對農作物的生長狀態進行精準的自動控制和智能化管理,為農業發展提供一種科學研究依據。

圖5 移動端一般流程

表1 傳感器參數