張俊 李銀 張紫瑞 李學孺



關鍵詞:樹莓派3B+;傳感器;物聯網;springboot;uniapp
0 引言
在當今快速發展的社會,人們的生活節奏越來越快,工作壓力和生活壓力日益增加,很多人無法兼顧工作和家庭。在這樣的情況下,很多家庭中的花卉也受到了忽視和冷落。花卉是我們生活中不可或缺的一部分,花卉有著為家庭環境增添色彩和生氣,吸收有害物質,如甲醛、苯等有害物質的作用。但由于忙碌的生活節奏,人們常常無法給予它們足夠的關注和照顧。這也導致了許多花卉的生長狀況不佳,很難長時間地保持良好的生長狀態。
隨著物聯網技術的不斷發展,智慧家庭的概念越來越受到人們的關注。智慧家庭是指通過智能化技術,將家庭內部的設備、設施、服務等聯網,以達到安全、舒適、便利、高效的生活方式[1]。在智慧家庭中,智能花卉澆灌系統是一個非常實用的應用場景。智能花卉澆灌系統能夠實現對花卉生長環境的監測和控制,可以根據土壤濕度情況自動給花卉澆水,避免了因疏忽和忙碌導致的澆水不足或過度澆水的問題,還可以遠程監控花卉的生長狀況,及時了解花卉的狀態并做出調整,幫助花卉更加健康生長[2]。
本文將著重介紹智能花卉澆灌系統的設計與實現,以及使用樹莓派3B+、物聯網和傳感器技術來實現該系統的過程。同時,本文還將介紹后端使用springboot框架,前端使用Uniapp框架開發的微信小程序的相關內容。
1 總體方案設計
本系統由硬件和軟件兩部分組成,硬件部分以樹莓派3B+作為主控制器通過連接溫濕度傳感器(DHT11) 、土壤濕度傳感器(YL-69) 、樹莓派官方攝像頭以及水泵實現對花卉的生長狀況監測,如果土壤濕度超出閾值則開啟水泵進行澆水,通過攝像頭提供的畫面可以實時監測花卉的生長狀態。軟件部分由spring boot、mybatis、uniapp 構成,實現了樹莓派數據上傳至服務器,對數據進行持久化存儲,后端提供接口給微信小程序調用,展示當前花卉環境數據以及土壤濕度并可以對花卉進行實時監控[3]。如圖1所示。
2 系統硬件設計
2.1 系統硬件的整體框圖
本系統主要由樹莓派主機板(3B+) 、溫濕度傳感器(DH11) 、土壤濕度傳感器(YL-69) 以及樹莓派官方攝像頭構成。溫濕度傳感器、土壤濕度傳感器通過杜邦線連接到樹莓派的GPIO引腳,攝像頭直接插入樹莓派CSI接口。樹莓派通過自帶的Wi-Fi模塊傳輸數據到后端[4]。如圖2所示。
2.2 樹莓派3B+
樹莓派3B+是一款基于ARM架構的小型單板計算機,由英國樹莓派基金會(Raspberry Pi Foundation) 設計和生產。它是樹莓派系列中的一款產品,是樹莓派2的升級版,于2018年3月發布。樹莓派3B+采用了Broadcom BCM2837B0處理器,主頻為1.4GHz,集成了1GB LPDDR2 SDRAM內存,可以運行各種Linux操作系統、Python等開發語言和應用軟件[5]。
該款單板計算機擁有4個USB 2.0接口、一個千兆以太網接口、一個HDMI視頻輸出接口、3.5毫米音頻接口和GPIO引腳等多個接口,方便用戶進行各種擴展和連接。這樣的配置完全滿足本系統中操作系統文件和數據存儲以及相關程序的運行[6]
2.3 傳感器
本系統需要監測花卉周圍環境溫濕度,采用了DHT11傳感器,幫助判斷花卉生長環境是否適宜,還需要實時監測土壤濕度,采用了YL-69傳感器,當土壤濕度低于一定閾值時自動開啟澆水功能。還需要通過攝像頭實時監控,直觀地看到花卉的生長狀況。
采用了樹莓派官方攝像頭。
1) DHT11傳感器是一種數字溫濕度傳感器,具有簡單、經濟實惠等特點。它可以測量環境的溫度和濕度,精度較高,溫度精度為±2℃,濕度精度為±5%RH。DHT11采用單總線通信,輸出數字信號,方便與其他數字設備集成[7]。
2) YL-69是一種土壤濕度傳感器,可以測量土壤中的水分含量。它采用電阻式測量原理,可以通過測量傳感器電阻值來計算土壤濕度。YL-69的使用范圍廣泛,可以應用于花卉、植物、農作物等領域,幫助種植者及時了解土壤濕度情況,有助于提高作物產量和品質[8]。
3) 樹莓派官方攝像頭是一款專為樹莓派設計的高清攝像頭,由樹莓派基金會推出,具有廣泛的應用場景和極高的可擴展性。它支持五百萬像素,1080p 的高清攝像和錄像,同時具有高幀率和低延遲的特點,用戶可以通過Python等編程語言控制攝像頭進行拍照、錄像等操作。同時,樹莓派官方也提供了基于樹莓派的操作系統Raspbian,以及開源的攝像頭驅動程序和API接口,方便用戶進行二次開發和擴展。
3 系統軟件設計
本系統的軟件設計主要包括樹莓派端和管理端兩部分,樹莓派端和管理端是智能花卉澆灌系統的兩個重要組成部分。樹莓派端主要負責花卉澆水、溫濕度監測、實時監測花卉等工作,而管理端主要負責查看花卉數據,保存數據等工作。
在軟件設計中,使用Python編寫樹莓派端的傳感器控制、攝像頭控制以及網絡通信腳本,能夠充分利用Python的簡潔、易學和功能豐富等特點,快速地開發和實現樹莓派端的各項功能。
而在前端方面,采用UniApp編寫微信小程序,能夠使得系統具有良好的跨平臺和兼容性,能夠在各類移動設備上快速運行和響應。
在后端方面,使用Spring Boot框架開發,能夠充分利用Spring Boot的簡潔、高效和易用等優點,快速地開發和實現后端的各項功能,同時還能夠實現系統的快速部署和運行。
綜上所述,本系統的軟件設計采用了Python、Uni?App和Spring Boot等技術,能夠快速地開發和實現各項功能,提高系統的效率和可靠性,從而更好地滿足用戶的需求和期望。
3.1 樹莓派端設計
樹莓派端主要由Python語言編寫的傳感器控制、視頻監控、網絡通信腳本三個模塊組成。Python有著擁有大量的開源庫和豐富的文檔資源,能夠方便地進行開發和調試,可以輕松地實現對多種傳感器和設備的控制,包括DHT11和YL-69傳感器,以及樹莓派攝像頭等設備。
在Python眾多庫中GPIO庫提供了樹莓派對傳感器數據的傳輸控制,Adafruit_DHT庫提供了環境溫濕度的監測API,motion庫提供了視頻監控功能,request 庫提供了訪問遠程服務器的能力。本系統合理地使用這些庫,完成了對環境數據獲取,并進行數據處理再到數據傳輸到服務器的功能。實現了智能家庭花卉澆灌系統的核心功能。
3.2 后端設計
后端是智能花卉澆灌系統的重要組成部分,主要由數據處理和數據存儲兩個模塊組成。
數據處理模塊是對采集到的數據進行處理和分析,其中包括對花卉進行自動澆水的判斷和對視頻流進行編解碼和傳輸等工作。自動澆水是智能花卉澆灌系統的重要功能之一,通過對溫濕度等數據的監測和分析,能夠判斷花卉是否需要澆水,從而實現對花卉的自動化管理。
數據存儲模塊則負責將處理后的數據用Mybatis 持久化框架存儲到數據庫(MySQL) 中,并通過SpringBoot提供接口供前端調用。Mybatis是一款優秀的持久化框架,能夠快速地將Java對象映射到數據庫中,從而方便地進行數據存儲和查詢。同時,Spring Boot 是一款輕量級的開發框架,能夠快速地構建和開發后端服務,并提供一系列的自動化配置和優化,從而提高系統的性能和穩定性。
綜上所述,后端是智能花卉澆灌系統的重要組成部分,其中數據處理模塊和數據存儲模塊分別負責對采集到的數據進行處理和存儲,能夠提高系統的效率和可靠性,從而更好地實現對花卉的管理和自動化控制。
1) 后端采用了Spring Boot 框架,該框架是基于Java 語言開發,提供了大量的開箱即用的功能和插件,如內嵌的 Tomcat 服務器、Spring Security 等,開發者可以通過簡單的配置和引入依賴,即可使用這些功能。數據存儲模塊使用了MySQL數據庫進行數據存儲,并使用了MyBatis框架進行數據訪問。
2) MyBatis是一款輕量級的持久化框架,可以很容易地集成到Spring、Spring Boot等主流的Java開發框架中,同時MyBatis提供了很好的參數綁定功能,能夠有效地防止SQL注入等安全漏洞,保障了系統的安全性,更好地滿足系統的需求,并提高系統的可靠性和可用性[9]。
3.3 前端設計
1) 前端主要包括用戶界面和與后端交互的接口。用戶界面包括了監測頁面、澆水頁面和視頻監控頁面,用戶可以在頁面上實時查看環境溫濕度、花卉土壤濕度、自動澆水狀態和視頻監控畫面等信息。
2) 前端使用了UniApp框架進行開發,主要基于Vue.js語言開發。與后端的交互采用了RESTful API 接口進行通信,前端通過調用接口獲取后端數據,并對數據進行處理和展示[10]。
綜上,本系統的軟件設計主要包括樹莓派程序和管理端兩個部分,后端采用了Spring Boot框架進行開發,Python語言編寫傳感器控制代碼,前端采用了Uni?App框架進行開發,兩者通過RESTful API接口進行通信。系統流程如圖4所示。
4 系統運行截圖及核心代碼
4.1 系統運行截圖
微信小程序主要有三個界面,進入頁面、主頁面,和視頻監控頁面。進入頁面為系統名稱加系統logo 構成,主頁由banner和花卉環境,花卉狀態,以及最后一次收集數據時間構成,視頻監控頁展示花卉實時狀態。
4.2 系統核心代碼
5 結束語
物聯網技術可以在家庭中發揮重要的作用,帶來諸多好處。以智能花卉澆灌為例,智能花卉澆灌系統可以通過傳感器獲取花卉生長環境的溫濕度和土壤濕度等信息,然后通過物聯網技術將這些數據傳輸到云端進行分析和處理。在這個過程中,智能花卉澆灌系統發揮了以下好處:
1) 實現自動化控制:智能花卉澆灌系統可以通過物聯網技術實現遠程控制,使花卉澆水的過程更加自動化。用戶可以通過手機等終端設備遠程監控花卉生長環境,并控制澆水系統的開關,實現自動化澆水。
2) 實時監控:通過物聯網技術,智能花卉澆灌系統可以實時監測花卉生長環境的溫濕度和土壤濕度等指標,并將這些數據傳輸到云端進行分析和處理。用戶可以通過手機等終端設備隨時了解花卉生長環境的狀態,并及時采取措施[11]。
3) 節省能源:智能花卉澆灌系統可以根據花卉生長環境的需要智能控制澆水,避免水資源的浪費。同時,系統還可以通過物聯網技術實現遠程控制,避免了不必要的人工澆水[12]。
4) 提高花卉生長效果:通過物聯網技術實時監測花卉生長環境,系統可以根據花卉的需求進行智能化控制,提高花卉的生長效果。同時,用戶還可以通過遠程控制系統,及時對花卉的生長環境進行調整,提高花卉生長效果。
綜上所述,智能花卉澆灌系統發揮了重要作用,實現了花卉生長環境的智能監測和控制,節省了水資源,提高了花卉的生長效果,為用戶帶來了更加便捷、高效和智能化的生活體驗。