張曉光
(福建水利電力職業(yè)技術(shù)學(xué)院,福建 永安 366000)
基于物聯(lián)網(wǎng)的智能澆花系統(tǒng)設(shè)計(jì)
張曉光
(福建水利電力職業(yè)技術(shù)學(xué)院,福建 永安 366000)
隨著近年來(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)。
STM32;單片機(jī);物聯(lián)網(wǎng);云平臺(tái);MQTT協(xié)議
鮮花可以裝點(diǎn)生活,家里養(yǎng)上一些花卉植物可以使生活更加豐富多彩,然而,有時(shí)候遇到工作繁忙或出差旅行等情況,家里的這些植物就可能因?yàn)闆](méi)有人照顧而缺水枯死,為了解決這個(gè)問(wèn)題,就需要一種可以自動(dòng)澆花的設(shè)備。市面上現(xiàn)有的澆花設(shè)備分為兩種[1]。第一種是采用虹吸式的原理來(lái)澆花;第二種采用定時(shí)開啟電磁閥的方式澆花。這兩種方式都過(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)題。
解決無(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ù)。控制命令由終端發(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所示。
圖1 智能澆花系統(tǒng)總體方案框
系統(tǒng)主要由控制器、傳感器、顯示器、電源、以及通信等部分構(gòu)成。這些部分又可以分成如下幾個(gè)模塊,各部分作用及簡(jiǎn)介如下。
主機(jī)由STM32單片機(jī)系統(tǒng)與ESP8266 WiFi模塊構(gòu)成。STM32是基于ARM Cortex M處理器內(nèi)核的32位閃存微控制器,集高性能、實(shí)時(shí)性、數(shù)字信號(hào)處理、低功耗、低電壓于一身,同時(shí)保持高集成度和開發(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ī)。
從機(jī)模塊采用STC12C5A60S2作為控制器。它是增強(qiáng)型51單片機(jī)。因?yàn)檫@款芯片引腳排布完全和89C51相同,對(duì)于熟悉51的用戶來(lái)說(shuō)開發(fā)就更加容易了。并且它內(nèi)置AD轉(zhuǎn)換功能,共8路10位精度ADC,具有雙串口,包含2路PWM,同樣晶振的情況下,速度是普通51的8~12倍。由于包含這些功能,可以在不增加硬件的基礎(chǔ)上方便后續(xù)開發(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)工作。
本系統(tǒng)的供電采用太陽(yáng)能電池板配合蓄電池。電池采用電壓12 V大容量免維護(hù)蓄電池,太陽(yáng)能電池板采用18 V功率10 W。太陽(yáng)能電池板通過(guò)控制器與蓄電池相連,控制器可以保證蓄電池充電的安全。
在系統(tǒng)供電中,還要提供12 V轉(zhuǎn)5 V再轉(zhuǎn)3.3 V的電源,用來(lái)給不同的控制板供電。
傳感器主要包括兩種:土壤濕度傳感器和溫濕度傳感器。
土壤濕度傳感器的原理,是采用兩個(gè)電極插入土壤里,由于土壤中含水分多少影響傳感器兩電級(jí)間的導(dǎo)電性能[3]。土壤濕度與電阻值之間存在一定的關(guān)系[4]。
本系統(tǒng)采用多個(gè)土壤濕度傳感器組成傳感器組。按照花卉需水量的不同,分成3個(gè)小組,每組至少兩個(gè)。這樣做的好處是既可以更準(zhǔn)確地感知是否缺水,又可以起到一定的保護(hù)作用,避免因傳感器被拔出誤觸發(fā)水泵。
2.5.1 手動(dòng)澆花
如果主人在家里,也可以享受手動(dòng)澆花的樂(lè)趣。本系統(tǒng)設(shè)有感應(yīng)開關(guān),只要?jiǎng)觿?dòng)手就可以啟動(dòng)水泵澆花。
2.5.2 自動(dòng)澆花
根據(jù)花卉需要澆水量的不同,我們把其類型分為喜濕型、普通型和耐旱型三類。每一種類型的花隨機(jī)選兩盆,插入土壤濕度傳感器,完成對(duì)3種類型花卉土壤濕度的采樣。然后以a d轉(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所示。
本系統(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)程開關(guān)水泵啟動(dòng)關(guān)斷,可以顯示家里的溫濕度,花卉缺水或飽水的狀態(tài)。設(shè)定各傳感器啟動(dòng)澆水的閾值,以及各種錯(cuò)誤狀態(tài)報(bào)警。
要對(duì)系統(tǒng)進(jìn)行遠(yuǎn)程控制??梢赃x擇的物聯(lián)網(wǎng)云平臺(tái)有很多。如華為云、阿里云、Yeelink云平臺(tái)[5]、中國(guó)移動(dòng)的one net[6],本設(shè)計(jì)采用的云平臺(tái)為機(jī)智云。機(jī)智云的接入比較簡(jiǎn)單和人性化。接入分為幾個(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)的。用戶就可以只專注于功能開發(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)試,大大提高了開發(fā)效率。
本系統(tǒng)需要設(shè)置一個(gè)遠(yuǎn)程手動(dòng)開關(guān),可以在手機(jī)或其他終端上選擇澆花模式的菜單,不同花卉的濕度閾值設(shè)置溫度等參數(shù),缺水或飽水報(bào)警等。主要數(shù)據(jù)點(diǎn)設(shè)置及APP界面如圖3所示。其中需要注意選擇正確的數(shù)據(jù)類型,比如設(shè)置工作模式應(yīng)選擇枚舉型。
本系統(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ì)了光控開關(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ī)
本文介紹的自動(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à)值。
[1] 劉川,張小成,高進(jìn)淵,等.智能自動(dòng)澆花系統(tǒng)的控制設(shè)計(jì)研究[J].科技視界,2015(18):87-88.
[2] 范興隆.ESP8266在智能家居監(jiān)控系統(tǒng)中的應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2016(9):52-56.
[3] 張倩昀.基于土壤濕度檢測(cè)的智能澆花系統(tǒng)設(shè)計(jì)[J].山西農(nóng)經(jīng),2017(9):128-129.
[4] 張帆,蔣茜.自主式澆花機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)[J].北京聯(lián)合大學(xué)學(xué)報(bào)(自然科學(xué)版),2008(2):37-40.
[5] 楊成,戴小鵬,王戈.基于Yeelink云平臺(tái)的LED顯示屏的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)[J].福建電腦,2017(2):37-38.
[6] 韓宇光,房金寶,張賢益,等.智能空氣凈化平臺(tái)的開發(fā)[J].實(shí)驗(yàn)室研究與探索,2017(8):77-79.
Design of intelligent watering system based on the Internet of Things
Zhang Xiaoguang
(Fujian College of Water Conservancy and Electric Power, Yong’an 366000, China)
With the development of Internet of Things technology in recent years, relevant technologies have been widely used in people’s production and life. In this paper, a new intelligent water fl ow-casting system based on the Internet of Things is designed for the problem of watering plants in the long run. The system adopts STM32 and 51 enhanced single chip microcontroller as controller, ESP8266 module as communication equipment, the underlying adoption of MQTT protocol, connected to the Internet of things cloud platform: Giz(mo)Wits,together to form a practical and popularizing value watering system.
STM32; single chip microcontroller; Internet of Things; cloud platform; MQTT protocol
張曉光(1980— ),男,吉林梅河口人,講師,碩士;研究方向:電子信息工程,自動(dòng)化,單片機(jī)與嵌入式系統(tǒng)的教學(xué)與應(yīng)用。