黃彥銘, 寧 媛
(貴州大學(xué) 電氣工程學(xué)院, 貴陽 550025)
現(xiàn)如今的快節(jié)奏社會(huì),使得人們對(duì)生活的舒適度和便捷度提出了更高的要求。而在繁忙的工作之余,人們已然難有閑暇來精心照料家中栽種的各式植物花草?;诖耍疚膶iT研發(fā)了一種基于云平臺(tái)的智能澆水系統(tǒng)。該設(shè)計(jì)是以STM32F407ZGT6單片機(jī)為控制芯片,通過各種傳感器采集環(huán)境信息,以 WiFi-ESP8266 無線模塊結(jié)合網(wǎng)絡(luò)路由器將采集到的植物生長環(huán)境數(shù)據(jù)傳輸?shù)轿锫?lián)網(wǎng)云服務(wù)器,服務(wù)器接收到數(shù)據(jù)后,用戶通過IOS客戶端應(yīng)用程序?qū)崿F(xiàn)智能家居設(shè)備的開關(guān)控制和環(huán)境監(jiān)控[1],支持室內(nèi)和室外全球異地遠(yuǎn)程控制。在系統(tǒng)硬件方面,設(shè)計(jì)了以 STM32 處理器為核心的智能澆水系統(tǒng)硬件平臺(tái),主要包括土壤濕度傳感器、溫濕度傳感器、光照強(qiáng)度傳感器、WiFi 通信模塊等多個(gè)功能模塊[2]。在軟件設(shè)計(jì)方面,通過編寫主程序、配網(wǎng)程序等一系列模塊程序,實(shí)現(xiàn)了一整套系統(tǒng)的穩(wěn)定運(yùn)行。本文擬對(duì)此展開研究論述如下。
本設(shè)計(jì)主要由傳感器模塊、控制器與處理器模塊、顯示模塊、WiFi無線傳輸模塊以及繼電器模塊等構(gòu)成。該控制系統(tǒng)以STM32F407ZGT6 單片機(jī)作為核心控制器,通過傳感器模塊對(duì)環(huán)境參數(shù)進(jìn)行采集,利用STM32F407ZGT6 單片機(jī)進(jìn)行數(shù)據(jù)處理和轉(zhuǎn)換,其中部分重要環(huán)境數(shù)據(jù)通過OLED顯示模塊進(jìn)行數(shù)據(jù)顯示,使用戶更加直觀地觀察到實(shí)時(shí)數(shù)據(jù)。同時(shí)將檢測到的傳感器數(shù)據(jù)通過 ESP8266-WiFi模塊上報(bào)至云服務(wù)器,服務(wù)器再將相關(guān)數(shù)據(jù)轉(zhuǎn)發(fā)給 IOS 客戶端,IOS 客戶端接收到狀態(tài)信息后更新相關(guān)數(shù)據(jù)并通過手機(jī) App界面顯示出來[3-4]。通過 IOS 客戶端對(duì)服務(wù)器下發(fā)指令,還可實(shí)現(xiàn) IOS 客戶端對(duì)家居設(shè)備的遠(yuǎn)程實(shí)時(shí)控制。以上設(shè)計(jì)能夠滿足用戶的生活需求,為用戶提供了更為舒適、便捷的使用體驗(yàn)。
該控制系統(tǒng)包含了3個(gè)關(guān)鍵部分,即系統(tǒng)硬件、系統(tǒng)服務(wù)器、IOS客戶端App。智能澆水系統(tǒng)總體設(shè)計(jì)如圖1所示。
圖1 總體設(shè)計(jì)圖
本系統(tǒng)采用STM32F407ZGT6 單片機(jī)作為核心處理器,采用自行設(shè)計(jì)的供電模塊對(duì)其進(jìn)行供電,將土壤濕度傳感器、DHT11溫濕度傳感器以及BH1750FVI光照強(qiáng)度傳感器所采集到的信號(hào)經(jīng)過AD口轉(zhuǎn)換為單片機(jī)能夠處理的數(shù)字信號(hào),經(jīng)單片機(jī)處理后轉(zhuǎn)換為電信號(hào)輸出到OLED顯示屏上。智能澆水系統(tǒng)硬件系統(tǒng)框架如圖2所示。其中,WiFi通信模塊采用按鍵掃描方式與手機(jī)終端進(jìn)行配網(wǎng),達(dá)到遠(yuǎn)程控制目的;繼電器模塊與澆水閥組成澆水模塊。
圖2 智能澆水系統(tǒng)硬件系統(tǒng)框圖
本研究系統(tǒng)使用 7.2 V 鋰電池供電,但系統(tǒng)中的 ESP8266-WiFi模塊、OLED 顯示屏使用的卻都是3.3 V的電源。單片機(jī)最小系統(tǒng)、土壤濕度傳感器、光照強(qiáng)度傳感器等傳感器均需要5 V電源。因此電路設(shè)計(jì)中就需要將7.2 V的電源電壓降至5 V以及3.3 V。本設(shè)計(jì)通過TPS7350、LM1117-3.3和LM1117-5.0穩(wěn)壓芯片對(duì)電池電壓進(jìn)行降壓,因?yàn)樵撔酒€(wěn)壓后會(huì)有較大的紋波,因此設(shè)計(jì)電路時(shí)采用 0.1 uF的瓷片電容濾除高頻信號(hào)、10 uF的電解電容濾除低頻信號(hào)進(jìn)行濾波處理,得到一個(gè)穩(wěn)定的直流電源。這里,將給出電路的整體設(shè)計(jì)如圖3所示。
圖3 供電模塊電路設(shè)計(jì)圖
智能澆水系統(tǒng)澆水模塊由5 V驅(qū)動(dòng)繼電器模塊與8 V驅(qū)動(dòng)的澆水閥組成。澆水閥置于水箱中,接口連接塑料管,塑料管另一端放在植物盆栽中,繼電器設(shè)置為高電平觸發(fā),其控制端設(shè)置連接為PB12接口,通過控制器控制其電源電路的輸出通斷來對(duì)澆水模塊進(jìn)行調(diào)控。
本系統(tǒng)采用 ESP8266 芯片無線連接設(shè)計(jì)為WiFi通信模塊,研究采用3.3 V直流電源供電,并能在初始化STM32主控芯片的串口后進(jìn)行串口通信??紤]到本系統(tǒng)是基于機(jī)智云平臺(tái)來研發(fā)設(shè)計(jì)的,所以需將機(jī)智云官方所提供的GAgent固件燒寫進(jìn)ESP8266-WiFi模塊中,再進(jìn)行串口協(xié)議移植,這樣在初始化ESP8266-WiFi模塊后,就能夠通過手機(jī)App與其進(jìn)行數(shù)據(jù)交換,并把通信內(nèi)容存儲(chǔ)到機(jī)智云開發(fā)者中心。
智能澆水控制系統(tǒng)軟件設(shè)計(jì)主要分為:控制器對(duì)環(huán)境參數(shù)的采集和處理;控制器處理后的數(shù)據(jù)發(fā)送至 OLED 顯示;控制系統(tǒng)配置入網(wǎng);控制器通過 ESP8266 上報(bào)數(shù)據(jù);接收 IOS 客戶端下發(fā)的控制命令并執(zhí)行相應(yīng)的操作。這里對(duì)此可做闡釋分述如下。
智能澆水系統(tǒng)的主程序流程如圖4所示。首先,對(duì) STM32F407ZGT6單片機(jī)的各個(gè)外設(shè)初始化,然后初始化云協(xié)議,判斷 ESP8266-WiFi模塊是否已接入云服務(wù)器,若已接入,則進(jìn)行數(shù)據(jù)采集和處理,并將重要數(shù)據(jù)處理后發(fā)送至OLED 顯示屏顯示,此時(shí)控制系統(tǒng)將處理后的數(shù)據(jù)上報(bào)云服務(wù)器,服務(wù)器再將相關(guān)數(shù)據(jù)轉(zhuǎn)發(fā)給 IOS 客戶端,IOS 客戶端接收到狀態(tài)信息后更新相關(guān)數(shù)據(jù)并通過手機(jī) App 界面顯示出來;同時(shí)控制系統(tǒng)監(jiān)控 IOS 客戶端是否有下發(fā)控制指令。如果有,執(zhí)行相應(yīng)命令;如果沒有,則順序執(zhí)行。
圖4 智能澆水控制系統(tǒng)的主程序流程圖
Fig. 4 Main program flow chart of intelligent watering control system
智能澆水系統(tǒng)配網(wǎng)流程圖如圖5所示。智能澆水系統(tǒng)上電后, ESP8266-WiFi模塊首先檢測自身是否存儲(chǔ)有WiFi網(wǎng)絡(luò)信息。如果有WiFi信息,則連接當(dāng)前WiFi網(wǎng)絡(luò),建立TCP/IP連接服務(wù)器,連接成功后設(shè)置進(jìn)入業(yè)務(wù)工作子程序;如果 ESP8266-WiFi模塊自身沒有存儲(chǔ)WiFi網(wǎng)絡(luò)信息,則通過按鍵進(jìn)入AirLink模式,同時(shí)通過 IOS客戶端將WiFi網(wǎng)絡(luò)信息發(fā)送至 ESP8266-WiFi模塊,然后連接WiFi網(wǎng)絡(luò),建立TCP/IP連接服務(wù)器,并進(jìn)入業(yè)務(wù)工作子程序。
本設(shè)計(jì)中通信模塊選用機(jī)智云作為云平臺(tái),為此必須先編寫云平臺(tái)部分的通信代碼,這可以通過在云平臺(tái)上設(shè)計(jì)數(shù)據(jù)點(diǎn)來自動(dòng)生成代碼后移植進(jìn)主程序代碼中。本設(shè)計(jì)數(shù)據(jù)點(diǎn)選用可寫類型數(shù)據(jù)點(diǎn)、布爾值數(shù)據(jù)類型和只讀類型數(shù)據(jù)點(diǎn)、數(shù)值數(shù)據(jù)類型兩種數(shù)據(jù)點(diǎn)。具體數(shù)據(jù)點(diǎn)的設(shè)計(jì)見表1。
圖5 智能澆水控制系統(tǒng)配網(wǎng)流程圖
Fig. 5 Intelligent watering control system distribution network flow chart
表1 數(shù)據(jù)點(diǎn)設(shè)置表
本設(shè)計(jì)搭建的簡單智能澆水系統(tǒng)如圖6所示。首次工作時(shí)通過按鍵進(jìn)入AirLink 連接方式與手機(jī)App進(jìn)行匹配,匹配成功后使用者即可通過手機(jī)App對(duì)家中植物生長的環(huán)境進(jìn)行實(shí)時(shí)監(jiān)測,繼而對(duì)智能澆水系統(tǒng)進(jìn)行遠(yuǎn)程控制。匹配成功后界面如圖7所示。此外,系統(tǒng)每次工作的歷史數(shù)據(jù)可以在機(jī)智云官網(wǎng)開發(fā)者中心的運(yùn)行記錄中查看,如圖8所示。
圖6 簡易裝置圖 圖7 智能澆水系統(tǒng)處于澆水狀態(tài)
Fig. 6 Simple device diagram Fig. 7Intelligent watering system is in watering state
圖8 系統(tǒng)運(yùn)行記錄詳情
本文以STM32F407ZGT6為主控芯片設(shè)計(jì)了一種基于云平臺(tái)的智能澆水系統(tǒng),用戶可通過手機(jī)App對(duì)家中植物周圍的環(huán)境數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)測,進(jìn)而控制智能澆水系統(tǒng)是否執(zhí)行澆水命令,使人們能夠遙控智能澆水系統(tǒng)的工作狀態(tài),從而避免了家中植物因缺水而死亡,為人們在忙碌中仍可兼顧周邊環(huán)境的綠化及美化提供了很大的便利。經(jīng)過測試,本設(shè)計(jì)能夠很好地完成預(yù)期工作,設(shè)計(jì)穩(wěn)定可靠,因而具有可觀的發(fā)展應(yīng)用前景。