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