(8)該系統(tǒng)有兩個(gè)土壤濕度傳感器,以防止意外情況發(fā)生。如其中一個(gè)土壤濕度傳感器出現(xiàn)故障或被拉出土壤。單片機(jī)將比較分析兩個(gè)濕度傳感器檢測(cè)到的土壤濕度值。如果兩個(gè)土壤濕度值的差異超出范圍。系統(tǒng)會(huì)在顯示屏上顯示錯(cuò)誤,水泵會(huì)自動(dòng)關(guān)閉。
1.2 系統(tǒng)設(shè)計(jì)框圖
根據(jù)要求,智能遠(yuǎn)程植物養(yǎng)護(hù)裝置系統(tǒng)的整體設(shè)計(jì)框圖如圖1所示。
圖1 系統(tǒng)設(shè)計(jì)框架圖
硬件系統(tǒng)主要包括主控制模塊,顯示模塊,無(wú)線通信模塊,上位機(jī)APP模塊,按鍵模塊和水泵控制模塊。本設(shè)計(jì)采用DS18B20傳感器測(cè)量環(huán)境溫度,土壤濕度檢測(cè)模塊測(cè)量土壤濕度,通過esp8266無(wú)線模塊將測(cè)量的溫濕度值上傳至機(jī)智云平臺(tái),再發(fā)送至手機(jī)APP。
1.3 硬件系統(tǒng)設(shè)計(jì)
1.3.1 復(fù)位電路
本系統(tǒng)TFT-LCD采用并行操作方式,TFT-LCD的使能端E、TFT-LCD片選信號(hào)CS、數(shù)據(jù)/命令選擇端、數(shù)據(jù)寫入WR、數(shù)據(jù)讀取RD、硬復(fù)位RST分別連入單片機(jī)其他I/O口。
本系統(tǒng)傳感器模塊分兩部分:土壤濕度傳感器和環(huán)境溫度傳感器。
土壤濕度傳感器基于電磁脈沖原理,根據(jù)電磁波在介質(zhì)中的傳播頻率,可以測(cè)量土壤的表觀介電常數(shù),從而得到土壤的相對(duì)含水量。將傳感器引腳與STM32的ADC采樣引腳連接,并控制其高或低,使用特定的算法將ADC值轉(zhuǎn)換為濕度值。
環(huán)境溫度傳感器采用DS18B20。DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。
1.3.4 無(wú)線通信模塊
本系統(tǒng)采用ESP8266-S01模塊,設(shè)備主控制MCU通過串口和Wi-Fi模組通訊。圖2即ESP8266引腳圖。
圖2 ESR8266引腳圖
2 軟件設(shè)計(jì)
2.1 無(wú)線通信協(xié)議程序設(shè)計(jì)
STM32和Wi-Fi模塊是整個(gè)系統(tǒng)的關(guān)鍵,分別負(fù)責(zé)數(shù)據(jù)采集、處理和數(shù)據(jù)傳輸。ESP8266 Wi-Fi模塊連接到STM32,數(shù)據(jù)傳輸代碼根據(jù)程序中的通信協(xié)議進(jìn)行編程。
遵循機(jī)智云平臺(tái)標(biāo)準(zhǔn)協(xié)議設(shè)計(jì)通信協(xié)議程序,設(shè)備主控制MCU通過串口和Wi-Fi模組通訊,通訊采用具有規(guī)定格式的指令,本系統(tǒng)共設(shè)計(jì)了十條指令,實(shí)現(xiàn)五個(gè)通訊過程,分別是Wi-Fi模組向MCU獲取設(shè)備信息,MCU向Wi-Fi模組發(fā)送業(yè)務(wù)指令,心跳,通知Wi-Fi模組進(jìn)入配置模式和推送Wi-Fi模組工作狀態(tài)。指令由以下部分按順序組成:包頭(2B)=0xFFFF,包長(zhǎng)度(2B,包的剩余字節(jié)數(shù)),命令(1B),Flags(2B),有效負(fù)載,校驗(yàn)和(1B)。包長(zhǎng)度是指從命令開始一直到校驗(yàn)和的字節(jié)長(zhǎng)度(包括命令和校驗(yàn)和)。
系統(tǒng)收集土壤水分并顯示在LCD上,當(dāng)當(dāng)前濕度低于設(shè)定值時(shí),單片機(jī)將自動(dòng)發(fā)出命令控制泵的運(yùn)行[4]。當(dāng)濕度達(dá)到適當(dāng)值時(shí),單片機(jī)會(huì)自動(dòng)發(fā)出停止泵運(yùn)行的命令。STM32用作控制模塊,ESP8266與移動(dòng)終端連接后,將單片機(jī)發(fā)送的串行信號(hào)轉(zhuǎn)換為無(wú)線信號(hào),傳輸?shù)揭苿?dòng)終端,串口中斷程序框圖如圖3所示。
接收到的無(wú)線信號(hào)也可以轉(zhuǎn)換成串行口信號(hào),傳送到單片機(jī)上,單片機(jī)通過應(yīng)用程序改變濕度參數(shù),控制泵的啟閉。主要流程如圖4所示。

圖3 串口中斷程序框圖

圖4 主程序程序框圖
3 系統(tǒng)測(cè)試
智能遠(yuǎn)程植物養(yǎng)護(hù)裝置控制界面如圖5所示,裝置上共有六個(gè)按鍵,從上往下依次是設(shè)置土壤濕度增加按鈕、設(shè)置土壤濕度減小按鈕、開啟水泵按鈕、關(guān)閉水泵按鈕、配置按鈕和重啟按鈕。水泵開啟時(shí),藍(lán)色小燈亮起,水泵關(guān)閉時(shí),藍(lán)色小燈不亮,按下配置按鈕時(shí),ESP8266模塊處于配置模塊,Wi-Fi信號(hào)燈亮起。

圖5 智能遠(yuǎn)程植物養(yǎng)護(hù)裝置控制界面
通過裝置上的按鍵設(shè)置土壤濕度,初始設(shè)置的土壤濕度值為50%,在初始值的基礎(chǔ)上加減。
兩個(gè)土壤濕度傳感器測(cè)量當(dāng)前土壤濕度的52%,測(cè)量環(huán)境溫度為28.1°C,系統(tǒng)處于開放狀態(tài)。當(dāng)前土壤濕度略高于用戶設(shè)定的土壤濕度,系統(tǒng)顯示當(dāng)前土壤濕度良好,系統(tǒng)運(yùn)行時(shí)泵不工作,手機(jī)APP界面如圖6所示

圖6 設(shè)置土壤濕度為50%
4 結(jié)語(yǔ)
本設(shè)計(jì)基于機(jī)智云物聯(lián)網(wǎng)平臺(tái),采用STM32F103單片機(jī)為控制核心,對(duì)植物所處環(huán)境溫度和土壤濕度進(jìn)行檢測(cè)和處理,溫濕度數(shù)據(jù)實(shí)時(shí)傳輸?shù)揭壕э@示屏和用戶手機(jī)APP上,用戶可通過機(jī)智云