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