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