




















摘要:為了解決傳統溫室環境控制依賴人工操作、效率低下的問題,文章設計并實現了一種基于物聯網(IoT) 和Spring?Boot的智慧農業環境控制管理系統。該系統利用傳感器實時采集溫室環境數據,并通過MQTT協議將數據傳輸至系統后臺。系統后臺基于SpringBoot框架構建,集成了用戶管理、溫室數據處理、日志管理、異常播報和自動控制等功能模塊,實現了對溫室環境的精準控制、實時監控和智能化管理。系統已在阿里云服務器上穩定運行一年,擁有一定規模的用戶群體,能夠有效提高種植效率,降低人工成本。
關鍵詞:智慧農業;物聯網;SpringBoot;智能控制
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2024)31-0134-06
開放科學(資源服務)標識碼(OSID) :
0 引言
隨著物聯網、云計算、大數據等新一代信息技術的快速發展,智慧農業作為農業現代化發展的重要方向,近年來在全球范圍內得到了廣泛關注和應用[1-2]。智慧農業通過將先進的信息技術與農業生產過程深度融合,實現了農業生產的精細化、智能化和高效化管理,有效提高了農業生產效率和產品質量[3]。例如,中科三安于2019年建成并投產的山西長治育苗工廠取得了較快發展和顯著成效,其自動化室內智慧育苗車間較傳統育苗技術相比,縮短了育苗時間10~20天。
溫室環境控制是實現農業精細化管理的重要環節,傳統溫室環境控制主要依賴人工操作,存在效率低下、控制精度差、人力成本高等問題[4]。為解決上述問題,本文設計并實現了一種基于物聯網(IoT) 和SpringBoot 的智慧農業環境控制管理系統。該系統提供了溫室的實時數據監控、歷史數據查詢、溫室環境因子控制調節、異常數據告警等應用功能,為農業生產過程監測提供便利。項目基于最新的SpringBoot 架構,結合VUE3+ElementUI技術,優化了頁面展示效果,同時提供的定時拍照模塊為病蟲害監測實現和農產品可信溯源系統構建提供了技術支撐。
1 系統分析
1.1 系統開發目標
本研究的總體目標是設計一套能夠保障植株高質量生長,同時盡可能減少人工干預的溫室系統。其應用場合主要是研究型企業、學校實驗室、研究所等小型試驗場地。在系統實現中,設計基于SpringBoot 后臺的管理系統。該系統能夠接收MQTT服務器發送的環境因子數據[5],對數據進行解析和持久化存儲,并將獲取的數據與專家知識庫進行比對,判斷是否偏離動態閾值[6]。如有偏離則發送控制指令進行矯正。系統交互過程如圖1所示。
項目以食用菌為種植作物,實驗室內已具備植株生長所需的基本內部條件和養分,實驗過程僅考慮影響植株生長的外部環境因素。實驗溫室的基本要求是:房間內須設置能夠采集溫度、濕度、二氧化碳濃度、光照強度的傳感器,并配備調節溫室環境的風扇、加熱器、加濕器和照明設備。本項目使用的溫室面積約3平方米,內部劃分為3個小型種植間,每個房間采用相同的控制策略,以增強系統控制能力的可信度,如圖2所示。
1.2 系統用例分析
用例圖用于描述用戶與系統的交互方式,展示用戶與系統功能單元之間的關系,以及不同用戶與用例之間的關聯。如圖3所示,智慧農業環境控制管理系統的用例圖定義了三種用戶角色,分別是超級管理員(SuperAdmin) 、普通管理員(Admin) 和普通用戶(User) 。
上述用例圖描述了三種角色所具有的權限模塊,具體分析可知:超級管理員具有全部權限;普通管理員具有切換網關權限,可以管理網關下的全部房間,對應于農場主的角色;普通用戶僅能查看特定網關下的房間環境數據,對應于農場員工的角色。
1.3 功能性需求分析
功能性需求分析涉及對系統必需的功能進行詳細審查和闡述,是軟件開發流程中的核心部分。
1) 用戶登錄與安全認證。系統應提供用戶登錄界面,并通過JWT認證機制確保安全訪問。登錄過程中應包含驗證碼認證,以防止惡意嘗試和攻擊。
2) 用戶管理。支持查詢用戶信息,以便超級管理員監控和審核用戶。實現用戶的增加、修改、刪除功能,滿足系統用戶管理的需求。支持重置密碼功能,保證用戶賬戶安全。
3) 環境信息管理。實現房間環境信息的查詢和導出功能,便于監控和管理房間數據。
4) 房間控制參數管理。該功能允許具有相應權限的用戶查詢、添加、修改和刪除房間控制參數。在開啟自動控制后,系統將根據設置的溫濕度、二氧化碳濃度、光照時間等參數智能調節房間的環境因子,使得房間的環境因子穩定在設定值。
5) 攝像頭管理。實現首頁中攝像頭的添加、修改和刪除功能,同時支持定時拍照功能。
這些功能性需求是環境智能控制系統的核心組成部分,保證系統能夠有效、準確地支撐環境控制管理平臺的常規運營和管理。
1.4 非功能性需求分析
非功能性需求分析涉及對系統或軟件的性能、安全性、可靠性、可用性、可維護性以及兼容性等方面的詳細分析和描述。這種分析對系統的設計、開發、運行至關重要,與功能性需求同等重要,因為它們共同決定了系統的整體表現和用戶滿意度。
1) 設計系統時,應確保其具有高度可用性,以支持業務的持續運行,減少系統故障可能引起的運營中斷。
2) 系統應能夠準確執行各項功能,確保數據的一致性和準確性,防止數據在傳輸過程中丟失和損壞。
3) 系統設計需要考慮到未來的擴展性,包括添加新功能、增加用戶數量以及處理更大的數據量。系統應能夠無縫集成新的服務或模塊,以滿足未來的業務發展需求。
4) 系統的界面設計應直觀、用戶友好,確保用戶可以簡單明了地操作系統。
1.5 系統開發技術棧
1) 前端開發部分。Vue3:Vue 3引入了許多新特性和改進,包括更快的渲染性能、更小的打包體積以及更好的TypeScript 支持。引入了Composition API,提供了一種新的方式來組織和重用邏輯,使得代碼更加清晰和易于維護。ElementUI:該組件庫專門針對Vue 3的響應式系統和組合式API進行了優化,確保了與Vue 3的完美兼容性和高性能表現。Echarts:專門用于構建可視化圖表的JavaScript庫工具,在項目中用于呈現首頁的環境信息變化曲線。
2) 后端開發部分。后端代碼的開發工具為IDEA(IntelliJ IDEA) ,系統采用Maven、Git等進行項目管理,具體技術棧如下:SpringBoot:作為本項目的主要架構,SpringBoot簡化了Spring應用程序的配置和部署過程,使開發者能夠快速構建獨立的、生產級別的Spring應用。其能夠快速集成其他框架,本項目通過集成Spring Security實現了用戶操作數據時的權限管理。MyBatis Plus:用于實現數據的CRUD(增刪改查)操作,MyBatis Plus具有豐富的內置功能,包括分頁和事務等。Websocket:項目采用Websocket技術實現報警信息傳輸。與HTTP協議相比,Websocket支持雙向通信,具有更高的靈活性和效率。
2 系統設計
2.1 系統軟件總體架構
系統自上而下分為用戶層、視圖層、業務邏輯層和數據庫層。用戶層將用戶分為三類,分別賦予不同的權限。視圖層負責渲染數據,為用戶提供直觀界面。業務邏輯層根據業務需求劃分功能模塊,處理用戶請求并與數據訪問層交互。數據層負責數據存儲。智慧農業環境控制管理系統的總體架構如圖4所示。
系統通過訂閱MQTT服務器實現環境因子的數據采集,經過一系列數據處理與分析,完成數據展示、智能控制和異常告警等功能,具體流程如圖5所示。
總體包括數據的格式化處理、持久化存儲、基于知識庫的智能調節和異常告警等功能,符合主流環境控制管理系統的設計需求,系統功能簡潔實用。
ER圖設計在智慧農業環境控制管理系統中具有關鍵作用。ER圖能夠清晰展示系統中的數據實體及其屬性。在智慧農業管理系統中,主要數據實體包括用戶、網關和環境信息等,每個實體均具有特定屬性。通過ER圖(如圖6所示),可直觀地展現這些實體和屬性間的關系,有助于理解系統的數據結構。
2.2 用戶管理模塊
用戶管理模塊主要負責賬戶管理及權限分配。其功能包括:超級管理員注冊下級賬號并按照權限分配對應的區域、網關和房間;管理員刪除下級賬戶;賬戶所有人修改密碼;以及賬號的登錄與退出登錄,如圖7所示。
2.3 溫室數據處理模塊
溫室數據處理模塊的主要功能包括接收、解析和存儲來自MQTT網關服務器的數據。MQTT協議是專門針對物聯網開發的輕量級傳輸協議,為連接硬件設備提供實時、可靠的消息服務,其通信原理如圖8 所示。
每個農場均分配一個唯一的主題,MQTT服務器通過接收硬件端上報的主題數據,將其轉發給訂閱該主題的client。系統通過訂閱相應主題接收硬件上報的JSON格式環境因子值后,進行數據解析和處理。完成數據解析處理與持久化后,擁有房間權限的用戶可查看溫室環境數據,包括最新環境因子值、房間歷史數據記錄、刪除數據及導出Excle表格數據。如圖9 所示。
2.4 日志管理模塊
日志管理模塊的數據來源貫穿各個業務模塊,用于收集用戶操作信息,包括登錄日志、賬戶分配日志、數據操作日志、智能控制日志和控制器操作日志等。管理員可查看下級子賬號的控制器操作日志、智能控制日志,并可執行日志刪除操作;同時支持基于內容或賬號的模糊日志查詢,如圖10所示。
2.5 異常播報模塊
異常播報模塊的主要功能是在房間環境因子偏離正常值時,執行異常播報與通知。該模塊主要通過前端頁面滾動展示異常的具體信息,當環境因子長時間處于異常狀態時,則通過向房間所有人的郵箱發送告警信息進行通知。該模塊包括獲取異常信息、推送異常信息和告警通知,如圖11所示。
2.6 控制參數設定模塊
該模塊主要用于設定智能控制的控制參數及其啟用狀態。開啟智能控制后,系統將根據食用菌品種和專家知識庫自動設定溫室的適宜生長環境因子值。當溫室環境偏離設定值時,系統自動向MQTT服務器發送控制指令,網關接收并解析指令后,由硬件端的控制器執行相應操作。該模塊主要包括加熱管、加濕器、燈光、風扇的控制及智能控制功能的啟用,如圖12 所示。
3 系統實現
系統用戶分為超級管理員、管理員和普通用戶三種角色,每類用戶具有不同權限。農作物主要在各個房間內生長,一個區域下設有多個網關,一個網關下設有多個房間,管理員為普通用戶分配具體的可監控房間號。每個網關均配備監控設備以實時觀察農作物生長狀況,每個房間均配置硬件設備,包括溫度感應器、濕度感應器和二氧化碳濃度感應器等??刂苽鞲衅鏖_關及監控攝像頭需要管理員以上用戶權限,智能控制標準(包括二氧化碳濃度標準、濕度標準等)由管理人員設定。系統對每個操作均生成相應日志記錄,并持久化保存于數據庫中。
3.1 登錄頁面
用戶在系統登錄頁輸入賬號密碼后提交,系統后臺通過JWT進行密碼校驗和權限鑒定,驗證通過后渲染該權限對應的頁面欄,如圖13所示。
3.2 首頁
用戶成功登錄系統后進入首頁,如圖14所示。頁面頂部為固定組件,包括系統名稱及區域、網關、房間的切換下拉框,最右端設有用戶個人中心,可進行密碼修改或系統退出操作。頁面左側為系統導航欄,用戶通過點擊不同導航按鈕可跳轉至相應頁面。頁面中央展示農作物生長環境信息,包括溫度、濕度、光照強度和二氧化碳濃度,以及當前網關下攝像頭拍攝的作物生長狀況監控畫面,同時顯示當日溫室各環境因子的變化曲線圖。頁面右下端設置房間環境因子的異常信息警告,當登錄用戶所管理的房間出現異常時,系統將自動發送異常報告信息。
上述頁面展示了jdmq第20號網關4號房間的環境數據總覽,其中包括最新的溫度、濕度、光照強度和二氧化碳濃度數據。其中,5號標記點顯示的是該房間的實時監控畫面,6號標記點展示的是溫室近30條上報數據的環境變化曲線,7號標記點顯示的是當前的異常告警信息。
3.3 房間環境信息頁面
通過左側導航欄可以跳轉至環境信息頁面,如圖15所示。當前房間下各個環境因子的歷史變化以表格形式進行展示,方便用戶直接讀取數據。在頂部的導航欄切換網關和房間之后,下方的數據內容也會隨之更新,同時每條數據均設有對應的刪除按鈕,頁面底部設有分頁查詢的切換按鈕,可以設定每頁查詢的最大數據量。
3.4 房間控制參數頁面
通過左側導航欄跳轉至控制參數設置頁面,如圖16所示。該頁面顯示當前網關下智能控制的開關狀態,每個網關的智能控制具有開啟和關閉兩種狀態。當處于開啟狀態時,系統將根據專家知識庫中的信息設定該作物的適宜生長環境條件和閾值,并啟用自動控制功能。當處于關閉狀態時,系統將在右側顯示所有傳感器的開關狀態和手動控制按鈕,用戶可根據實際情況進行手動操作控制。
上述頁面中,序列號6為已啟動自動控制,其他均為手動控制管理中。
3.5 用戶信息頁面
通過左側導航欄跳轉至用戶信息管理頁面,如圖17所示。超級管理員和管理員可進行用戶的增加或刪除操作,并可查看當前賬號下現有用戶已分配的區域、網關和房間等信息;普通用戶僅能查看個人信息。
點擊添加用戶按鈕后,系統將為當前用戶角色分配子賬號(如圖18所示),子賬號的權限級別低于當前用戶一級,即超級管理員分配的賬戶為普通管理員,普通管理員分配的賬戶為普通用戶。完成用戶信息設置后,即可進行區域和網關的分配。
3.6 攝像頭信息頁面
僅超級管理員具有攝像頭信息頁面的操作權限,可在本頁面設定每個網關下的攝像頭配置信息并啟用定時拍照功能。定時拍照的圖片將存儲于OSS服務器中,為其他產品中的溯源和合成短視頻等功能提供資源支持。頁面展示如圖19所示。
上述頁面中,序列號1的網關已關閉自動拍照功能,其他網關均處于自動拍照開啟狀態,拍照間隔時間可在頁面中進行自定義設置。該功能主要為后期的農產品可信溯源工作提供技術支撐,通過定時拍照記錄農作物的生長過程,增強用戶對產品質量的可信度。
3.7 日志頁面
在日志頁面中,系統記錄的日志內容包括用戶登錄日志和硬件設備調整日志,如圖20所示。
4 結束語
本文設計并實現了一種基于物聯網(IoT) 和SpringBoot的智慧農業環境控制管理系統。該系統實現了溫室環境的精準控制、實時監控和智能化管理功能,有效提高了種植效率并降低了人工成本。未來,本系統將進一步優化功能,引入LSTM等機器學習算法以實現溫室環境的預測性控制,同時開發移動端應用程序,便于用戶進行遠程溫室環境管理。
參考文獻:
[1] 許藝,李新旭,楊哲,等.我國連棟玻璃溫室番茄長季節栽培產量與荷蘭存在差距的原因分析[J].中國蔬菜,2020(10):1-8.
[2] CETIN O,FAYRAP A,YOLCU R.Sustainability and moderniza?tion of agricultural irrigation:A comparative assessment of two irrigation schemes[J].Irrigation and Drainage,2024,73(1):284-293.
[3] 許亞良,劉新穎,楊其長.植物工廠秧苗繁育關鍵技術裝備與產業化[J].農業工程技術,2022,42(4):12-15.
[4] 李航,董安明,禹繼國,韓玉冰.基于前后端分離架構的智慧農業物聯網系統設計[J].現代電子技術,2022,45(14):63-68.
[5] 何鋒,蘭慧.基于手機遙控的智能魚缸控制系統的設計[J].電腦知識與技術,2024,20(18):40-42.
[6] 祝悅.植物工廠育苗生長監測與管理系統研究[D].杭州:浙江大學,2023.
【通聯編輯:謝媛媛】
基金項目:江西省科技項目:基于生長信息的食用菌生長周期智能調節控制算法研究(項目編號:GJJ2200447)