劉智臣
(湖南生物機電職業技術學院,湖南 長沙 410000)
隨著農業信息化的發展,現代信息技術的應用已涵蓋農業生產各個環節,逐步呈現農業生產平臺化、農業資源共享化、農業業務協同化等特點,并產生了一些新模態的數字農業,圍繞數字農業的建設是近年農業發展的重要課題。因此,建立農業基礎數據平臺,加強數字技術與農業生產、經營、服務等體系的深度融合,需要借助新技術。在此背景下,農業大數據技術逐步進入農業大舞臺,它能更好地利用農業數字資源,助力數字農業建設,促進現代高效農業的發展[1-2]。
采集農業基礎數據是一項比較困難的工作,因為農業數據包含面廣、數據源繁多,不僅包括農業生產、科技信息、農機裝備、市場供需、氣象災害、病蟲害防疫防治、價格變化等一系列變動數據,還包括農作物生長所特有的數據,因此農業基礎數據具有區域性、多樣性、差異性、動態性、不確定性等特點。由于農業生態數據的采集需要貫穿于農業生產鏈全過程中,因此面對大量的連續的結構和非結構化的數據,如何快速獲取、準確提煉、深入挖掘、安全存儲等問題需要被解決。另外,如何對獲取的農業生產相關的環境、設施等數據進行關聯性分析,構建與自然災害、環境、氣候等因素相關的預警系統,加強農業數據的管理、動態監控與分析,為農業生產者提供基于市場分析、風險規避的最佳生產指導方案,這些問題的解決均需要構建穩定有效的技術平臺支撐。
基于此,本文提出一種農業大數據生產決策系統,它通過物聯網采集各類農業生產相關的數據[3-4],可對數據進行存儲及關聯性分析[5],從而應用于農業生產,為農業生產者提供生產指導或方案。
系統總體目標是構建一個數據平臺,能夠持續采集農業生產各個環節的基礎數據,并提供外部數據指令或數據,進行關聯性分析。數據可以進行實時分析,也可以存儲起來,用于以后分析處理。系統由采集子系統、存儲子系統和處理子系統三部分組成,其中,采集子系統用來獲取農業生產各個環節的基礎數據,存儲子系統用來存儲農業基礎數據,處理子系統用來清洗、分析和處理數據,并給出生產指導。系統總體設計如圖1所示。

圖1 決策系統總體設計
采集子系統通過傳感器模塊獲取外部數據源的數據,并將數據進行格式轉換后,再由傳輸控制模塊通過網絡,傳送到存儲子系統;存儲子系統通過存儲控制模塊將數據存放到外部存儲設備,也可以通過傳輸控制模塊將數據直接傳送給處理子系統;處理子系統接收到這些數據后,會進行關聯性分析,在分析過程中仍然可以接收其他輸入數據,以便進行進一步的關聯性綜合分析;綜合分析得到的結果通過可視化模塊展現在人機交互界面上;用戶通過人機交互界面獲得相關農業生產指導信息。
采集子系統用來捕獲外部數據,這些數據主要包括農業生產相關的環境、設備等數據。由于農業生產數據范圍比較廣,而且環境復雜,因此系統采用基于Zigbee的物聯網技術實現數據采集。物聯網數據采集子系統的具體構建如圖2所示。由于Zigbee網絡具有多跳、無中心、自組織的特點,可用于構建農業生產環境下的數據采集網絡,因此采集子系統使用Zigbee模塊互聯各個采集節點,再利用STM32處理器作為采集節點的控制器。STM32功能強大,能夠外接如溫濕度、紅外、超聲、RFID等多種傳感器[6-7],并內置了Zigbee無線傳輸模塊。在實際應用中,可根據農業數據采集區域的大小,設置不同數目的Zigbee采集節點。

圖2 數據采集子系統設計
采集節點通過Zigbee互聯,最終將數據傳送給匯聚節點。匯聚節點使用ARM處理器實現傳輸相關的功能,包括網關的協議轉換功能,因此需要將Zigbee協議與其他無線協議進行轉換。匯聚節點通過無線傳輸模塊連接到互聯網,無線傳輸模塊可以選擇WIFI或者2G/3G/4G/5G等模塊,通過這些設計實現,農業數據將被采集上傳到互聯網。
數據采集完成后需要存放到存儲子系統,存儲子系統最好單獨構建,這樣有利于實現大數據的分析處理。在構建存儲子系統時,可以搭建Hadoop集群采用分布式存儲系統[8-9],后續使用spark、python技術完成數據的分析處理;或者也可以直接采用商用化的存儲系統,如阿里云,這樣不僅能專注于開發自己的數據分析系統,還能降低成本并簡化數據存儲搭建工作;因此,存儲子系統采用了基于阿里云平臺的存儲服務方案。
數據存儲子系統通過存儲控制模塊將采集的數據按照指定格式存入存儲設備,數據采集子系統與存儲子系統通過傳輸控制模塊互聯,處理子系統通過傳輸控制模塊與存儲子系統進行數據交互,存儲控制模塊可將存儲設備中的數據提供給處理子系統用于數據分析和處理。
數據處理子系統通過傳輸控制模塊從數據存儲子系統獲得標記后的數據,可對它們進行分析處理,通過可視化模塊將處理結果展現在人機交互界面上。數據分析模塊除了使用存儲設備中的數據外,還可以接收來自其他輸入設備的數據,從而對數據進行關聯性綜合分析。另外,處理子系統可對存儲子系統中的數據進行修改,或將處理結果存放到存儲子系統中,作為歷史參考數據。
數據分析模塊需要根據農業生產的應用需求,完成對數據的分析處理,需要綜合考慮環境、設備、生物生長、市場行情、價格變化等因素,從而分析出最佳的生產指導方案。在數據的綜合分析環節,可以建立自己的數據模型加以訓練,以便得到更精準的結果。
整個系統完整的數據處理流程,如圖3所示。數據被采集完成后,如果當前并未進行實時數據分析,那么先進行存儲;否則,提取數據后進行實時數據分析。如果有外部輸入的指令或其他數據,那么進行關聯性綜合數據分析;也可以將指令或其他數據先存儲,以便后續分析使用。數據分析的結果可以選擇存儲起來,也可以選擇在人機交互界面實時展示。

圖3 數據處理流程
在整個數據處理流程中,數據的傳輸和存儲是兩個重要的環節,需要設計相關的數據格式實現。采集的原始數據與分析處理后的數據,也需要按照格式存放在不同的數據庫中。
1)數據傳輸格式。在數據傳輸過程中,需要考慮Zigbee網絡和無線互聯網絡的數據傳輸情況。Zigbee網絡屬于數據采集子系統,是物聯網感知網絡,它的數據傳輸格式如圖4所示,其中,每個匯聚節點控制一個采集或傳感器網絡,并有一個唯一的絕對地址,用來標識采集數據所屬的農業生產區域;在傳感器網絡中,傳感器節點在該網絡范圍內,有唯一的相對地址。傳感器節點將采集到的數據先傳遞給匯聚節點,然后由匯聚節點傳送到互聯網上。采集的數據必須標識數據類型,比如溫度、濕度、轉角、距離等,明確是哪種生產設備,并給出采集的時間戳。校驗和用來進行數據正確性校驗。數據狀態用來標識該數據是初始采集數據還是分析處理后的數據等。

圖4 Zigbee數據傳輸協議格式
無線互聯網的實現方法有很多,如果采集距離不長、覆蓋范圍不廣,可以采用WIFI無線網絡連接;否則可以考慮采用2G3G4G5G等互聯技術[10]。互聯網的數據傳輸協議與圖4所示的格式差不多,但是不需要傳輸傳感器地址,而需要添加數據庫類型和名字字段,用來標識其存放的位置,具體如圖5所示。

圖5 互聯網數據傳輸協議格式
2)數據存儲格式。按采集的初始數據、分析處理后的數據、指令或其他輸入數據三種狀態來設計數據庫,每種數據庫對應存儲一種狀態的數據,并配置不同的數據庫名字。這三個數據庫,均包含匯聚節點地址、數據類型、數據、數據狀態、設備類型、時間戳、數據庫名字及類型等字段,不同數據庫所對應的字段配置值是不同的。處理子系統根據自己的應用要求,分別從這三類數據庫中獲取數據,進行綜合數據分析。
為了驗證以上設計思路的可實現性和正確性,可按圖6搭建環境進行驗證。

圖6 驗證環境
采用蔬菜或水果大棚作為采集子系統的農業基礎數據采集區域,匯聚節點實現Zigbee和WIFI的數據協議轉換,最終通過5G校園網接入阿里云平臺(包含存儲子系統),而處理子系統也通過WIFI接入互聯網,實現綜合數據分析處理[11-13]。以采集大棚內的農業基礎環境數據土壤溫濕度為例,將采集的數據顯示在處理子系統中的可視化人機交互界面上,如圖7所示。

圖7 農業基礎環境數據溫濕度展示
測試結果證明,本文提出的農業大數據生產決策系統的設計實現方案是正確可行的,通過物聯網采集農業生產環節中的各類環境和設備數據,供數據關聯性分析和展示;不足之處在于,數據綜合分析的模型尚未完整建立,后續還需要繼續深入研究。