摘要:隨著近年來物聯網技術的發展,相關的技術已經廣泛應用于人們的生產和生活中。文章針對長期無人在家時花卉植物的澆水問題,設計了一套基于物聯網的智能澆花系統。系統采用STM32與51增強型單片機作為控制器,esp8266物聯網模塊作為通信設備,底層采用MQTT協議,連接到物聯網云平臺—機智云,共同構成一個具有實用和推廣價值的澆花系統。
作者簡介:張曉光(1980—),男,吉林梅河口人,講師,碩士;研究方向:電子信息工程,自動化,單片機與嵌入式系統的教學與應用。
鮮花可以裝點生活,讓家更有自然美感,然而,有時候遇到工作繁忙或出差旅行等情況,家里的這些植物就可能因為沒有人照顧而缺水枯死,為了解決這個問題,就需要一種可以自動澆花的設備。市面上現有的澆花設備分為兩種[1]。第一種是采用虹吸式的原理來澆花;第二種采用定時開啟電磁閥的方式澆花。這兩種方式都過于簡單或不夠靈活。
本文設計一套基于物聯網的智能澆花系統,可以根據傳感器檢測數據及環境溫度等因素自動澆花,又可以通過物聯網遠程控制植物的狀態進行手動澆花,能夠很好地解決澆花問題。
1 系統總體方案
解決無人在家的澆花問題,需要從兩個方面考慮。(1)要知道土壤的濕度,以此作為判斷是否需要澆水的依據。(2)要具備遠程數據交換及控制的能力。主人不在家里時,要么自動澆水,要么遠程控制澆水。
本系統采用主機與從機協調工作的方式。從機負責土壤濕度及環境溫度采集,并對這些數據進行初步處理,將結果發送給主機,主機進行運算和決策,并且將數據通過WiFi模塊上傳到物聯網平臺。用戶可以在手機、平板或個人電腦上通過網絡及APP獲得家中花卉植物的狀態數據,并且根據當前的狀態數據發出澆花指令或修改參數。控制命令由終端發出并通過物聯網云平臺發給智能澆花系統。
隨后由主機將數據和命令送到從機,從機將內容和狀態顯示在液晶屏12864上。此外,從機也負責控制執行機構—水泵。之所以選擇水泵的方案,是因為采用水泵時,可以提前在水箱中調入肥料或營養液,并且水泵方案不用將水管從水龍頭上引出來,這使系統具有較大的靈活性,可以擺在任何地方。而整個系統的供電也采用太陽能供電系統,同樣滿足了系統擺放位置的靈活性。通信方面本系統的主機采用STM32系列單片機,配合ESP8266WiFi模塊[2],實現與物聯網云端的通信。系統的原理框如圖1所示。
2 硬件組成及功能設計
系統主要由控制器、傳感器、顯示器、電源、以及通信等部分構成。這些部分又可以分成如下幾個模塊,各部分作用及簡介如下。
2.1主機模塊
主機由STM32單片機系統與ESP8266WiFi模塊構成。STM32是基于ARMCortexM處理器內核的32位閃存微控制器,集高性能、實時性、數字信號處理、低功耗、低電壓于一身,同時保持高集成度和開發簡易的特點。
主機采用速度更快,配置更高的STM32可以更好地處理大量的數據、協議與網絡的通信。而且方便以后拓展多媒體功能。主機配合ESP8266負責與物聯網云端進行通信,同時也把數據和控制命令傳給從機。
2.2從機模塊
從機模塊采用STC12C5A60S2作為控制器。它是增強型51單片機。因為這款芯片引腳排布完全和89C51相同,對于熟悉51的用戶來說開發就更加容易了。并且它內置A\D轉換功能,共8路10位精度ADC,具有雙串口,包含2路PWM,同樣晶振的情況下,速度是普通51的8~12倍。由于包含這些功能,可以在不增加硬件的基礎上方便后續開發和擴展。
從機的作用包括連接顯示器,顯示器采用12864液晶,連接各種傳感器,控制水泵驅動器,并且通過串口與主機進行數據交換。概括來說,從機負責數據采集及外設控制,并且將數據傳給主機。接收主機的控制命令,并協調工作。
圖1智能澆花系統總體方案框
2.3電源模塊
本系統的供電采用太陽能電池板配合蓄電池。電池采用電壓12V大容量免維護蓄電池,太陽能電池板采用18V功率10W。太陽能電池板通過控制器與蓄電池相連,控制器可以保證蓄電池充電的安全。在系統供電中,還要提供12V轉5V再轉3.3V的電源,用來給不同的控制板供電。
2.4傳感器模塊
傳感器主要包括兩種:土壤濕度傳感器和溫濕度傳感器。
土壤濕度傳感器的原理,是采用兩個電極插入土壤里,由于土壤中含水分多少影響傳感器兩電級間的導電性能[3]。土壤濕度與電阻值之間存在一定的關系[4]。
本系統采用多個土壤濕度傳感器組成傳感器組。按照花卉需水量的不同,分成3個小組,每組至少兩個。這樣做的好處是既可以更準確地感知是否缺水,又可以起到一定的保護作用,避免因傳感器被拔出誤觸發水泵。
2.5功能設計
2.5.1手動澆花
如果主人在家里,也可以享受手動澆花的樂趣。本系統設有感應開關,只要動動手就可以啟動水泵澆花。
2.5.2自動澆花
根據花卉需要澆水量的不同,我們把其類型分為喜濕型、普通型和耐旱型三類。每一種類型的花隨機選兩盆,插入土壤濕度傳感器,完成對3種類型花卉土壤濕度的采樣。然后以ad轉換器采集到的數據作為基礎,設定不同的閾值。定義不同種類花卉飽水和缺水的狀態值。自動澆花可以根據狀態選擇一定的策略進行澆花,更復雜些可以設計成根據光照、環境溫度、時間、傳感器檢測是否缺水等因素,綜合判斷形成澆花策略。
2.5.3遠程澆花
自動澆花可以在主人不在的時候,根據土壤濕度來判斷是否需要澆水。但如果想知道花卉的具體情況,就需要設計遠程澆花功能。從機顯示界面如圖2所示。
圖2從機顯示界面
本系統采用手機、平板或PC等終端訪問物聯網云端數據。智能澆花系統則在本地聯接路由器,并通過其與云端實時進行數據交換。這樣就可以通過云端獲得花卉數據,并且向澆花系統發送控制命令。
遠程澆花功能可以用終端遠程開關水泵啟動關斷,可以顯示家里的溫濕度,花卉缺水或飽水的狀態。設定各傳感器啟動澆水的閾值,以及各種錯誤狀態報警。
3 物聯網云平臺接入
要對系統進行遠程控制。可以選擇的物聯網云平臺有很多。如華為云、阿里云、Yeelink云平臺[5]、中國移動的onenet[6]等等。
本設計采用的云平臺為機智云物聯網平臺。機智云的接入比較簡單和人性化,通過傻瓜式開發工具、MCU自動生成代碼、APP開源框架、IoTSDK、開放API,最大限度降低IoT設備開發的技術門檻和開發成本,提高開發、測試、部署效率。
接入分為幾個步驟。
(1)定義產品的功能,每個功能對應相應的數據點。
(2)機智云會根據用戶定義的產品數據點自動生成mcu代碼,包括復雜的通信協議等,在機智云的整個架構里面,GAgent實現了從模塊到云端的數據交互,其實GAgent里面就是用MQTT協議實現的。用戶就可以只專注于功能開發,不用花大力氣來研究入網與協議。
(3)機智云根據你定義的產品數據點,可自動生成APP源代碼,并且可以生成微信sdk,對微信的支持更增加了平臺的潛在用戶,滿足大眾的需求,使產品更易推廣。
(4)功能調試。在未接入硬件設備時機智云也可根據用戶定義的數據點生成虛擬設備,對APP進行功能調試,大大提高了開發效率。
本系統需要設置一個遠程手動開關,可以在手機或其他終端上選擇澆花模式的菜單,不同花卉的濕度閾值設置溫度等參數,缺水或飽水報警等。主要數據點設置及APP界面如圖3所示。其中需要注意選擇正確的數據類型,比如設置工作模式應選擇枚舉型。
4 調試與保護措施
本系統安裝與調試按以下步驟進行:首先布置安裝噴頭。根據花盆和架子的距離布好主管線和支管線,測量好長度,剪切并插接好管線和噴頭。然后將管線拿到外面草地,接上水泵,進行噴頭調整,噴霧和噴水量調好,確保裝在花盆里不會噴到外面。然后拿回來布置好管線,將噴頭插在花盆里。接下來按花卉需水類型布置好傳感器,連接好機箱。接下來連接蓄電池與太陽能控制器,然后連接機箱和水泵,最后再接入太陽能充電板。注意這個順序不要錯,不然可能造能太陽能控制器工作錯誤。
在測試的過程中發現或想到一些問題,針對這些問題,設計了如下保護措施。
(1)光控措施:為了解決太陽能供電系統與功耗的矛盾,本系統設計了光控開關,一般夜晚不需要澆花,所以系統在晚上自動關閉。
(2)探頭拔出報警:這是為了避免探頭被意外拔出,系統就會顯示缺水,從而觸發水泵工作,雖然已經用探頭數量(每組兩個)加了保險,但若恰好兩個都掉出來,會根據AD轉換值判斷,并發出報警。
(3)缺水報警:水箱設置一水位傳感器,缺水會發出報警。
(4)每天最大工作時間限制:考慮到各種可能的誤觸發情況,設置每天水泵啟動時間累計不超過如5分鐘。因為超過這個水量,對植物的生長也是不利的。自動澆花系統測試機如圖4所示。
圖3數據點設置及APP界面
圖4自動澆花系統測試機
5 結語
本文介紹的自動澆花系統,可以滿足一般家庭使用。具有結構簡單、功能全面等特點。采用水泵而非使用電磁閥的好處是可以將營養液加入到水箱中,將控制對象改為更大功率的水泵或者電磁閥,本系統完全可以勝任苗圃等大規模種植。加入廣泛發展的物聯網控制技術,使人們走到哪兒都能了解植物的狀態并加以控制。整個系統具有一定的應用價值和推廣價值。
-
物聯網
+關注
關注
2909文章
44631瀏覽量
373248
發布評論請先 登錄
相關推薦
評論