黃彥銘, 寧 媛
(貴州大學 電氣工程學院, 貴陽 550025)
現如今的快節奏社會,使得人們對生活的舒適度和便捷度提出了更高的要求。而在繁忙的工作之余,人們已然難有閑暇來精心照料家中栽種的各式植物花草。基于此,本文專門研發了一種基于云平臺的智能澆水系統。該設計是以STM32F407ZGT6單片機為控制芯片,通過各種傳感器采集環境信息,以 WiFi-ESP8266 無線模塊結合網絡路由器將采集到的植物生長環境數據傳輸到物聯網云服務器,服務器接收到數據后,用戶通過IOS客戶端應用程序實現智能家居設備的開關控制和環境監控[1],支持室內和室外全球異地遠程控制。在系統硬件方面,設計了以 STM32 處理器為核心的智能澆水系統硬件平臺,主要包括土壤濕度傳感器、溫濕度傳感器、光照強度傳感器、WiFi 通信模塊等多個功能模塊[2]。在軟件設計方面,通過編寫主程序、配網程序等一系列模塊程序,實現了一整套系統的穩定運行。本文擬對此展開研究論述如下。
本設計主要由傳感器模塊、控制器與處理器模塊、顯示模塊、WiFi無線傳輸模塊以及繼電器模塊等構成。該控制系統以STM32F407ZGT6 單片機作為核心控制器,通過傳感器模塊對環境參數進行采集,利用STM32F407ZGT6 單片機進行數據處理和轉換,其中部分重要環境數據通過OLED顯示模塊進行數據顯示,使用戶更加直觀地觀察到實時數據。同時將檢測到的傳感器數據通過 ESP8266-WiFi模塊上報至云服務器,服務器再將相關數據轉發給 IOS 客戶端,IOS 客戶端接收到狀態信息后更新相關數據并通過手機 App界面顯示出來[3-4]。通過 IOS 客戶端對服務器下發指令,還可實現 IOS 客戶端對家居設備的遠程實時控制。以上設計能夠滿足用戶的生活需求,為用戶提供了更為舒適、便捷的使用體驗。
該控制系統包含了3個關鍵部分,即系統硬件、系統服務器、IOS客戶端App。智能澆水系統總體設計如圖1所示。

圖1 總體設計圖
本系統采用STM32F407ZGT6 單片機作為核心處理器,采用自行設計的供電模塊對其進行供電,將土壤濕度傳感器、DHT11溫濕度傳感器以及BH1750FVI光照強度傳感器所采集到的信號經過AD口轉換為單片機能夠處理的數字信號,經單片機處理后轉換為電信號輸出到OLED顯示屏上。智能澆水系統硬件系統框架如圖2所示。其中,WiFi通信模塊采用按鍵掃描方式與手機終端進行配網,達到遠程控制目的;繼電器模塊與澆水閥組成澆水模塊。

圖2 智能澆水系統硬件系統框圖
本研究系統使用 7.2 V 鋰電池供電,但系統中的 ESP8266-WiFi模塊、OLED 顯示屏使用的卻都是3.3 V的電源。單片機最小系統、土壤濕度傳感器、光照強度傳感器等傳感器均需要5 V電源。因此電路設計中就需要將7.2 V的電源電壓降至5 V以及3.3 V。本設計通過TPS7350、LM1117-3.3和LM1117-5.0穩壓芯片對電池電壓進行降壓,因為該芯片穩壓后會有較大的紋波,因此設計電路時采用 0.1 uF的瓷片電容濾除高頻信號、10 uF的電解電容濾除低頻信號進行濾波處理,得到一個穩定的直流電源。這里,將給出電路的整體設計如圖3所示。

圖3 供電模塊電路設計圖
智能澆水系統澆水模塊由5 V驅動繼電器模塊與8 V驅動的澆水閥組成。澆水閥置于水箱中,接口連接塑料管,塑料管另一端放在植物盆栽中,繼電器設置為高電平觸發,其控制端設置連接為PB12接口,通過控制器控制其電源電路的輸出通斷來對澆水模塊進行調控。
本系統采用 ESP8266 芯片無線連接設計為WiFi通信模塊,研究采用3.3 V直流電源供電,并能在初始化STM32主控芯片的串口后進行串口通信。考慮到本系統是基于機智云平臺來研發設計的,所以需將機智云官方所提供的GAgent固件燒寫進ESP8266-WiFi模塊中,再進行串口協議移植,這樣在初始化ESP8266-WiFi模塊后,就能夠通過手機App與其進行數據交換,并把通信內容存儲到機智云開發者中心。
智能澆水控制系統軟件設計主要分為:控制器對環境參數的采集和處理;控制器處理后的數據發送至 OLED 顯示;控制系統配置入網;控制器通過 ESP8266 上報數據;接收 IOS 客戶端下發的控制命令并執行相應的操作。這里對此可做闡釋分述如下。
智能澆水系統的主程序流程如圖4所示。首先,對 STM32F407ZGT6單片機的各個外設初始化,然后初始化云協議,判斷 ESP8266-WiFi模塊是否已接入云服務器,若已接入,則進行數據采集和處理,并將重要數據處理后發送至OLED 顯示屏顯示,此時控制系統將處理后的數據上報云服務器,服務器再將相關數據轉發給 IOS 客戶端,IOS 客戶端接收到狀態信息后更新相關數據并通過手機 App 界面顯示出來;同時控制系統監控 IOS 客戶端是否有下發控制指令。如果有,執行相應命令;如果沒有,則順序執行。

圖4 智能澆水控制系統的主程序流程圖
Fig. 4 Main program flow chart of intelligent watering control system
智能澆水系統配網流程圖如圖5所示。智能澆水系統上電后, ESP8266-WiFi模塊首先檢測自身是否存儲有WiFi網絡信息。如果有WiFi信息,則連接當前WiFi網絡,建立TCP/IP連接服務器,連接成功后設置進入業務工作子程序;如果 ESP8266-WiFi模塊自身沒有存儲WiFi網絡信息,則通過按鍵進入AirLink模式,同時通過 IOS客戶端將WiFi網絡信息發送至 ESP8266-WiFi模塊,然后連接WiFi網絡,建立TCP/IP連接服務器,并進入業務工作子程序。
本設計中通信模塊選用機智云作為云平臺,為此必須先編寫云平臺部分的通信代碼,這可以通過在云平臺上設計數據點來自動生成代碼后移植進主程序代碼中。本設計數據點選用可寫類型數據點、布爾值數據類型和只讀類型數據點、數值數據類型兩種數據點。具體數據點的設計見表1。

圖5 智能澆水控制系統配網流程圖
Fig. 5 Intelligent watering control system distribution network flow chart

表1 數據點設置表
本設計搭建的簡單智能澆水系統如圖6所示。首次工作時通過按鍵進入AirLink 連接方式與手機App進行匹配,匹配成功后使用者即可通過手機App對家中植物生長的環境進行實時監測,繼而對智能澆水系統進行遠程控制。匹配成功后界面如圖7所示。此外,系統每次工作的歷史數據可以在機智云官網開發者中心的運行記錄中查看,如圖8所示。

圖6 簡易裝置圖 圖7 智能澆水系統處于澆水狀態
Fig. 6 Simple device diagram Fig. 7Intelligent watering system is in watering state

圖8 系統運行記錄詳情
本文以STM32F407ZGT6為主控芯片設計了一種基于云平臺的智能澆水系統,用戶可通過手機App對家中植物周圍的環境數據進行實時監測,進而控制智能澆水系統是否執行澆水命令,使人們能夠遙控智能澆水系統的工作狀態,從而避免了家中植物因缺水而死亡,為人們在忙碌中仍可兼顧周邊環境的綠化及美化提供了很大的便利。經過測試,本設計能夠很好地完成預期工作,設計穩定可靠,因而具有可觀的發展應用前景。