





摘 要:隨著現代生活節奏的日益加快,人們往往難以抽出足夠的時間照顧盆栽和寵物魚,導致許多魚植因缺乏照料而死亡,造成了損失。魚植的自動化管理問題至今尚未得到系統性的研究和有效解決。針對上述問題,設計了一款基于STM32的智能魚植一體化系統,可采集環境溫濕度、水體溫度、土壤濕度和水體pH值等影響魚植生長的關鍵參數。此外,系統還搭載了ESP8266模塊,使用戶可以通過微信小程序獲取單片機向阿里云平臺發送的數據并遠程操控本系統,實現一鍵換水、一鍵喂食等功能。用戶隨時隨地都能通過這套系統遠程照料魚植,保證魚植生長環境的各項指標正常。
關鍵詞:STM32;物聯網;云平臺;嵌入式;智能魚植系統;微信小程序
中圖分類號:TP391 文獻標識碼:A 文章編號:2095-1302(2025)07-00-03
0 引 言
在我國,種花養魚歷來被視為一種陶冶情操的方式。近年來,越來越多的人會在家中、宿舍或辦公室養魚養花,在修身養性的同時也為生態環境保護、經濟發展出一份力。但隨著城市生活節奏的加速,現代人照料盆栽和寵物魚的時間日益減少。不少年輕人會因為出差、假期等難以避免的原因而疏于照料魚植,不少魚植因此而死亡,造成了損失。而魚植的自動化專用設備長期以來也沒有得到系統性的研究和普遍使用。智慧種植技術僅在農業領域應用面廣,在家庭盆栽的自動控制管理中的應用很少。農業領域也存在選用的技術單一、科研智慧水平偏低、信息技術的資源數據耦合度不高等問題[1],大多應用體現在通過土壤濕度檢測來實現土壤灌溉控制。目前,我國市場上的智慧水族箱造價高昂,且只能進行比較簡單的飼喂和維持水溫的工作,無法對其余的環境指標進行控制,未達到完全智能化控制水平,導致在使用的時候仍存在局限[2]。
總體看來,我國在智慧魚植一體化領域的研究仍不夠深入,智能化技術在農業和水產業中鮮有應用。特別是在家庭、辦公室、宿舍等環境中,能夠完全實現盆栽和觀賞魚智能化管理的設備寥寥無幾[3],即魚植的生長依賴于人,無法實現“脫離雙手地種花養魚”。當人們出差、度假或疏于照顧魚植時,魚植往往面臨死亡的風險。而智能魚植一體化系統致力于解決這一問題。本設計是一款基于STM32的智能魚植一體化系統,使用傳感器獲取魚缸和盆栽的關鍵數據,對數據進行處理和上傳手機端,依靠智能化產品的強大功能及時跟蹤魚缸內情況,便于用戶提前做出相應的操作,完善用戶體驗,使養魚這一消遣活動更加符合現代年輕人的日常生活方式。
1 系統總體設計
本系統采取STM32F103ZET6單片機作為主控芯片,通過各種傳感器檢測環境數據,實現對空氣溫濕度、土壤濕度、魚缸溫度、水體pH值等環境因素的檢測及魚缸自動換水、魚缸控溫、盆栽自動灌溉等控制。通過ESP8266連接阿里云服務器并通過手機微信小程序顯示環境數據及控制魚植一體化系統。本裝置總體架構設計如圖1所示,主體涵蓋數據采集裝置、控制執行裝置和無線通信裝置。其中數據采集系統包括:盆栽土壤濕度檢測模塊、盆栽空氣溫濕度檢測模塊、魚缸水體濁度檢測模塊、魚缸水體pH值檢測模塊。控制執行系統包括:盆栽自動灌溉模塊、魚缸水體恒溫模塊、魚缸自動喂食模塊、魚缸自動換水模塊等。無線通信系統通過WiFi將單片機數據上傳至阿里云物聯網平臺,并且通過手機微信小程序接收、轉發數據,實現云平臺、單片機、智能手機三者聯調。此外,本系統還搭載串口屏。串口屏通過串口協議與單片機進行通信,獲取單片機采集到的相關參數,并且通過觸摸屏幕上的按鈕實現對單片機的控制,使用戶更好地獲取實時數據并對系統進行監控,實現人機交互。
2 系統硬件設計
系統硬件包括主控制器模塊、傳感器采集模塊、無線通信模塊、顯示模塊、盆栽灌溉和魚缸換水模塊、喂食模塊、恒溫模塊。通過對以上各模塊進行設計,實現數據采集、數據顯示、數據傳輸、遠程移動端訪問、遠程控制下位機的功能,達到智能魚植一體化系統自動監控的目的。在用戶的單片機通信系統中,WiFi模塊起到了至關重要的橋梁作用。
2.1 主控制器模塊設計
采用STM32F103ZET6單片機作為主控制器模塊,其具有高穩定性、低功耗、高性能等優點,能滿足本系統及時響應、高效處理信息的需求[4]。主控制器模塊如圖2所示。
2.2 無線通信模塊設計
在本系統中選用ESP8266 WiFi模塊作為通信模塊,其配置過程簡單高效,僅需通過發送AT指令即可完成。這款模塊具備6個引腳,除了電源和接地引腳外,只需將其RXD和TXD引腳與單片機的TXD和RXD引腳進行連接,隨后便能通過AT指令實現數據的流暢傳輸[5-6]。無線通信模塊如圖3所示。當模塊被設定為透傳模式時,它能與服務器進行穩定可靠的網絡通信,從而極大地拓寬了單片機在物聯網和遠程通信領域的應用范圍。
2.3 魚缸恒溫系統設計
由于溫度傳感器需要沒入水中對魚缸水溫進行檢測,因此本系統選用帶探頭的液體溫度傳感器DS18B20。其抗干擾性強,測試溫度的誤差非常小。DS18B20的溫度測量范圍為-55~125 ℃,工作電壓為5 V。而魚的普遍適宜溫度范圍為20~33 ℃,因此本溫度傳感器能夠滿足系統要求。當水體溫度低于閾值時,單片機會驅動升溫裝置為水體加熱;為避免持續加熱使水溫過高而導致魚缸中的生物死亡,當溫度加熱到額定溫度時系統會關閉升溫裝置[7-10]。
2.4 魚缸換水系統設計
由于魚缸中水體會隨著時間的推移而受到污染,進而影響pH值和水體含氮量。pH值和含氮量的大小是魚類健康生長的關鍵因素。本系統選用pH值傳感器、濁度傳感器對魚缸水體進行檢測。當pH值或含氮量達到一定閾值時,智能魚缸會進行換水操作。換水操作由2個水位傳感器(H、L)和2個水泵(水泵A、水泵B)共同完成。水位傳感器的主要作用是實時傳輸水位信息到單片機中,達到某些數據閾值或用戶通過串口屏、手機微信小程序操作時,則進行換水操作。本系統采用非接觸式電容型水位傳感器,靈敏度自主可調,工作電壓為5 V,安全可靠。在自動換水系統中,兩個水位傳感器分別設置在魚缸外壁的高和低位置,它們的任務是監測水位變化并向控制單元發送信號。當換水操作被觸發時,水泵A啟動并且抽取魚缸中的水。隨著水位降低,首先觸發的是高位水位傳感器H,然后是低位水位傳感器L。它們相繼向單片機發出信號,指示當前的水位狀態。當水位達到預設的下限時,水泵A停止工作,水泵B開始啟動,從儲水桶中抽水并補充到魚缸中,直到水位上升達到上限,此時水泵B自動停止。這個過程就完成了一次魚缸的換水循環。換水示意圖如圖4所示。
2.5 魚缸喂食系統設計
通過固定SG90型舵機的機械臂與魚缸上壁的一個帶可轉動圓片的小孔來作為喂食裝置,并且將投食瓶倒扣在小孔上方,讓投食瓶瓶口固定于小孔周圍,挖去投食瓶瓶底以便添加魚食。當沒有觸發喂食操作時,粘連舵機機械臂的圓片完全覆蓋小孔,沒有魚食落入魚缸中;當觸發喂食操作時,舵機機械臂帶動圓片旋轉一定角度,魚食投入魚缸中。數秒后舵機恢復初始狀態。投食裝置有三種觸發方式:通過微信小程序遠程操控投食、串口屏操控投食、單片機定時器定時投食。
2.6 盆栽自動灌溉系統設計
以單片機為核心,通過搭載高精度的土壤濕度傳感器,實現對土壤濕度參數的實時獲取與監控。土壤濕度傳感器將采集到的土壤濕度數據傳輸至單片機進行處理。當單片機分析得出當前土壤濕度低于預設的閾值,會立即啟動預設的灌溉程序。在這一程序中,單片機會操控灌溉水泵開始工作,向盆栽中輸送適量的水分。為了確保灌溉的均勻與適量,單片機在啟動水泵后會進行精確的計時。當達到預設的灌溉時間后,單片機便會再次發出指令,使灌溉水泵停止工作。
3 系統軟件設計
使用C語言作為編程語言,在Keil μVision5上編程,以STM32F103作為主控模塊。通過多種傳感器獲取必要參數,將檢測到的參數通過GPIO接口傳送到核心控制模塊中,內部核心模塊將根據傳入的信息進行相應的操作。系統軟件設計流程如圖5所示。
當系統上電后,單片機通電,核心控制模塊隨之啟動。在驅動程序初始化后,系統會執行一系列初始化操作,包括初始化GPIO引腳模式、設置時鐘使能狀態、確定串口波特率以及初始化定時器等。初始化后,系統將循環判斷是否聯網,直到系統成功聯網為止。然后系統的main函數開始調用各個模塊工作所需的子程序,如pH值檢測子程序、判定水溫過高或者過低的子程序等,對系統中所有的傳感器所檢測到的信息進行相應的程序判斷,并在判斷后返回相應的值,系統根據判斷程序的返回值執行相應的操作。系統中所有傳感器采集到的數值都會通過單片機搭載的LCD顯示屏和串口屏顯示給用戶。此外,本系統共有三種控制模式:分別是按鍵模式、串口屏人機交互模式、遠程模式。當程序正常運行成功后,用戶可以通過串口屏與單片機進行通信,如魚缸一鍵換水、一鍵投喂,盆栽一鍵灌溉、一鍵遮光等操作;也可以通過4×4矩陣鍵盤進行上述操作。當用戶距離本系統較遠時,可以通過手機微信小程序與本系統進行連接,進而進行遠程控制。微信小程序界面如圖6所示。
4 結 語
本系統基于STM32F103ZET6單片機設計了一款智能魚植一體化系統,實現了魚缸的自動恒溫、自動換水、自動喂食以及盆栽的自動灌溉等功能,同時也實現了用戶遠程控制的功能。該系統搭載串口屏可以更好地進行人機交互,使用戶不管是出差還是度假,都可以通過本系統完成智能化種花養魚,具有較高的市場價值。
參考文獻
[1]劉玉華.我國智慧農業研究的現狀、問題與發展趨勢[J].農業經濟,2021(7):247-248.
[2]康榮顯,王勛.基于物聯網的魚缸智能控制系統研究[J].網絡安全技術與應用,2022(12):100-102.
[3]徐棟梁.基于物聯網技術的智能花盆的設計與實現[J].科學咨詢(科技·管理),2021,20(8):83-84.
[4]朱向慶,何昌毅,朱萬鴻,等.基于STM32單片機的通信技術實驗系統設計[J].實驗技術與管理,2019,36(8):81-84.
[5]李金武,宋新愛.智能魚缸自動控制系統設計與實現[J].智能計算機與應用,2020,6(3):284-287.
[6]邱義.基于STM32的智能魚缸遠程控制系統設計[J].信息技術與信息化,2020,27(10):230-232.
[7]何穎,唐幸洪,張法強,等.多功能智能魚缸控制系統的研究與設計[J].電子制作,2019,55(21):45-47.
[8]曹益豪.基于單片機的智能魚缸溫控系統設計[J].機電信息,2019,15(11):11-12.
[9]劉偉,林開司,劉安勇.基于物聯網的魚缸智能控制系統設計與實現[J].淮海工學院學報(自然科學版),2016,25(4):1-4.
[10]向鎳鋅,郭平,曹旬.基于STM32智能魚缸監控系統的設計[J].科技視界,2020,45(31):97-99.
收稿日期:2024-04-24 修回日期:2024-05-28
基金項目:2023年江蘇省大學生創新創業訓練計劃(2023141600 43Y)