摘? 要: 土壤濕度是植物生長周期中最重要的環(huán)境因素之一,以其作為研究對(duì)象,開發(fā)出一款基于STM32的智能灌溉系統(tǒng)。系統(tǒng)以水位傳感器和土壤濕度傳感器作為數(shù)據(jù)采集的端,可將采集到的數(shù)據(jù)由ESP8266 Wi-Fi模塊發(fā)送到遠(yuǎn)程終端的串口觸摸屏中顯示。并將決策信息反饋給由微型水泵、繼電器以及電磁閥的執(zhí)行機(jī)構(gòu)。本系統(tǒng)通過多次測(cè)試,調(diào)整系統(tǒng)閾值,系統(tǒng)不但可以實(shí)時(shí)監(jiān)控植物的周圍環(huán)境參數(shù),進(jìn)行適時(shí)調(diào)節(jié);還擁有成本低廉、安裝方便、用戶操作簡便等特點(diǎn)。
關(guān)鍵詞: STM32; ESP8266;智能灌溉;遠(yuǎn)程監(jiān)控
中圖分類號(hào): TP273+.5; S274.2 ???文獻(xiàn)標(biāo)識(shí)碼: A??? DOI:10.3969/j.issn.1003-6970.2020.07.038
本文著錄格式:成家駿. 基于STM32的智能灌溉系統(tǒng)[J]. 軟件,2020,41(07):189-191
STM32 Based Terminal Controlled Intelligent Irrigation System
CHENG Jia-jun
(Software College of Shanxi Agricultural University, Jinzhong, Sanxi 030800, China)
【Abstract】: Soil moisture is one of the most important environmental factors in the growth cycle of plants. The system uses the water level sensor and the soil moisture sensor as the data acquisition end, and can send the collected data from the ESP8266 wi-fi module to the serial touch screen of the remote terminal for display.The decision-making information is fed back to the actuators of miniature pumps, relays and solenoid valves.This system through many tests, adjust the system threshold value, the system can not only real-time monitoring plant environmental parameters, timely adjustment.The equipment also has the advantages of low cost, easy installation and easy operation.
【Key words】: STM32; ESP8266; Intelligent irrigation; Remote monitoring
0? 引言
物聯(lián)網(wǎng)技術(shù)正以空前的速度應(yīng)用于社會(huì)、經(jīng)濟(jì)和生活的諸多領(lǐng)域,使人類社會(huì)步入了一個(gè)全新的高智能化時(shí)代,物聯(lián)網(wǎng)+農(nóng)業(yè)也逐漸進(jìn)入人們的視野,成為新時(shí)代綠色農(nóng)業(yè),高效農(nóng)業(yè)的代名詞[1]。近年來,我國的傳統(tǒng)種植業(yè)迎來了與物聯(lián)網(wǎng)結(jié)合發(fā)展的黃金時(shí)期,但由于長期以來我國種植業(yè)一直采取溝灌和漫灌等灌溉方法,致使?jié)B漏和蒸發(fā)嚴(yán)重,灌溉水有效利用效率低,成為我國農(nóng)業(yè)從相對(duì)傳統(tǒng)的灌溉方式發(fā)展到智能農(nóng)業(yè)澆水系統(tǒng),生產(chǎn)重心由粗獷分散的小農(nóng)發(fā)展轉(zhuǎn)移到農(nóng)業(yè)精量控制澆水及自動(dòng)化控制系統(tǒng)的科學(xué)管理轉(zhuǎn)變的過程中亟待解決的問題。為此,筆者設(shè)計(jì)了一款智能灌溉系統(tǒng),它不但可以讓人們擺脫傳統(tǒng)的灌溉技術(shù),緩解我用水資
源緊缺的現(xiàn)狀,而且它的推廣對(duì)于節(jié)約水資源、水資源的二次利用、綠色農(nóng)業(yè)等方面具有重要意義[2]。
1? 系統(tǒng)總體框架圖
智能灌溉系統(tǒng)的總體框圖(圖1),系統(tǒng)由終端和中央轉(zhuǎn)接點(diǎn)組成。其中數(shù)據(jù)采集及處理模塊由水位傳感器和土壤傳感器組成,通信模塊由ESP8266對(duì)來實(shí)現(xiàn),終端和主平臺(tái)由兩塊STM32分別控制,并且由串口屏做好人機(jī)交互[3]。系統(tǒng)總體實(shí)現(xiàn)以STM32系列芯片為核心,利用土壤濕度傳感器采集植物周圍環(huán)境的相關(guān)數(shù)據(jù),檢測(cè)當(dāng)前植物的土壤濕度,再通過單片機(jī)控制相應(yīng)的驅(qū)動(dòng)負(fù)載進(jìn)行灌溉,并通過蓄水池中的水位監(jiān)測(cè)模塊進(jìn)行水位監(jiān)測(cè),使蓄水池中的水低于預(yù)定閾值進(jìn)行補(bǔ)水,接近預(yù)定閾值時(shí)自動(dòng)停止,使蓄水池中的水位在一個(gè)預(yù)期的范圍之中。最后可以通過控制終端的多點(diǎn)觸摸電阻屏顯示當(dāng)前的土壤濕度值和水位值,當(dāng)需要對(duì)預(yù)定閾值進(jìn)行調(diào)整時(shí),通過觸摸設(shè)定相應(yīng)的閥值,解決不同農(nóng)作物在不同地區(qū)對(duì)于環(huán)境的要求,達(dá)到自動(dòng)蓄水、自動(dòng)灌溉的全自動(dòng)農(nóng)田灌溉解決方案。
2? 硬件設(shè)計(jì)
2.1? 主控芯片
終端和轉(zhuǎn)接點(diǎn)分別選用了STM32F103系列的ZET6和C8T6作為主控芯片,它們都是基于英國Acorn公司的Cortex-M3內(nèi)核的32位不同型號(hào)的微控制器,引腳數(shù)分別為144 pin和48 pin,F(xiàn)lash容量分別有512 KB和64 KB,工作溫度都在–40~?? 85℃之間,大容量和中等容量增強(qiáng)型分別滿足了,兩個(gè)平臺(tái)對(duì)主控芯片定時(shí)器、ADC、UART、IIC、SPI等外設(shè)的需要。
2.2? ESP8266 Wi-fi模塊
主設(shè)備與終端的信息交互由ESP8266模塊來完成,ESP826-01是性能穩(wěn)定且性價(jià)比極高的UART Wi-Fi透傳模塊,非常適合物聯(lián)網(wǎng)(IoT)領(lǐng)域的32位微處理器[4]。ESP8266模塊采用串口與單片機(jī)通信,內(nèi)置TCP/IP協(xié)議棧,可以通過AT指令對(duì)系統(tǒng)參數(shù)進(jìn)行更改設(shè)置,從而建立串口Wi-Fi的傳輸方案。例如以“AT+CWMODE=2\r\n”用來配置模塊為STA模式。該模塊支持三種網(wǎng)絡(luò)模式,也就是STA、AP和AP&STA模式,STA模式是作為無線站點(diǎn),通過路由器和互聯(lián)網(wǎng)產(chǎn)生連接,而AP模式是作為無線接入點(diǎn),實(shí)現(xiàn)與站點(diǎn)的通信。本文兩個(gè)ESP8266模塊分別采用AP和STA模式達(dá)到數(shù)據(jù)互傳的目的。
重要配置函數(shù):
(1)ESP8266_Net_Mode_Choos該函數(shù)用于模塊工作模式選擇:AP(Access Point)、STA(Station)、AP+STA,它有1個(gè)參數(shù),返回一個(gè)bool值,選擇成功置1,選擇失敗為0。
AP:無線接入點(diǎn),提供無線接入服務(wù),允許其它無線設(shè)備接入,提供數(shù)據(jù)訪問,AP和AP之間允許相互連接。
SAT:站點(diǎn),類似于無線終端,它可以連接到AP。
(2)ESP8266_JoinAP該函數(shù)用于ESP8266連接外部站點(diǎn),它有2個(gè)char*參數(shù),分別用于輸入無線接入點(diǎn)的ID和密碼。
ESP8266_BuildAP 該函數(shù)用于ESP8266建立拓?fù)涔?jié)點(diǎn),它有3個(gè)參數(shù),分別用于輸入無線接入點(diǎn)的ID、密碼和Wi-Fi加密方式。
(3)ESP8266_Enable_MultipleId該函數(shù)用于設(shè)置ESP8266的連接模式。
(4)ESP8266_Link_Server該函數(shù)用于ESP8266連接外部服務(wù)器,它有3個(gè)參數(shù),分別用于輸入連接服務(wù)器的IP地址,端口號(hào),和服務(wù)器ID號(hào)。
(5)ESP8266_UnvarnishSend? 該函數(shù)用于使ESP8266進(jìn)入透傳模式。
3? 軟件設(shè)計(jì)
3.1? 主程序
智能灌溉系統(tǒng)軟件采用C語言編程,利用STM32庫函數(shù)開發(fā),編程工具為Keil uVision5,其軟件流程圖如圖2所示,主程序采用兩個(gè)獨(dú)立的閉環(huán)控制系統(tǒng)分別把土壤濕度和蓄水池水位進(jìn)行自動(dòng)檢測(cè)并自動(dòng)采集,互不影響的分別與預(yù)設(shè)閾值進(jìn)行比較,并控制相應(yīng)的控制水泵輸出所期望的PWM波形達(dá)到控制水位和土壤濕度達(dá)到預(yù)期的目標(biāo),再把調(diào)整數(shù)據(jù)上傳到終端顯示屏模塊上進(jìn)行實(shí)時(shí)監(jiān)控和調(diào)整。
在計(jì)算機(jī)網(wǎng)絡(luò)方面系統(tǒng)整體拓?fù)浣Y(jié)構(gòu)為星型拓?fù)?,終端單個(gè)主控芯片又控制多個(gè)采集模塊,將采集的單次數(shù)據(jù)由終端主控芯片進(jìn)行由冒泡法排序并按比例去除最大值最小值并用歸一算法進(jìn)行歸一,減小上傳中央轉(zhuǎn)接點(diǎn)數(shù)據(jù),降低轉(zhuǎn)接點(diǎn)負(fù)荷。
3.2? HMI (Human Machine Interface)
HMI智能串口觸摸屏將用戶控制和界面顯示完美地分離開來,使用串口指令控制,人機(jī)交互界面的設(shè)計(jì)和制作由配套的上位機(jī)軟件完成,而下位單片機(jī)通過串口通信向觸摸屏傳輸控制指令就可以實(shí)現(xiàn)單片機(jī)對(duì)觸摸屏的顯示與控制,不需要編寫復(fù)雜的顯示代碼,極大地提高了工程師的開發(fā)效率,讓開發(fā)變得更加簡單[5]。
在本文中HML串口觸摸屏是終端監(jiān)控平臺(tái)的中樞模塊,向上接主控芯片,向下接通喇叭,提供著報(bào)警者和交互者的作用。這部分程序主要使用USART HMI軟件編程,主要實(shí)現(xiàn)系統(tǒng)的人機(jī)交互,串口觸摸屏界面主要由5個(gè)界面組成,分別是:鎖屏界面、解鎖界面、主界面、監(jiān)控界面(圖4)和設(shè)置界面(圖3),考慮到移動(dòng)設(shè)備的便捷性,編輯了鎖屏和解鎖界面;主界面用來選擇監(jiān)控界面和設(shè)置界面;設(shè)置界面主要設(shè)置土壤濕度和蓄水閾值前兩行標(biāo)定閾值范圍,當(dāng)下方數(shù)據(jù)超過上方范圍時(shí)會(huì)停止變化,可以根據(jù)環(huán)境情況來更改系統(tǒng)閾值;監(jiān)控界面數(shù)據(jù)由主平臺(tái)ESP8266模塊發(fā)送,監(jiān)控終端接收并通過串口傳入數(shù)據(jù),最后顯示到串口屏中。
相關(guān)的兩個(gè)重要函數(shù)包括:
(1)HMISends函數(shù),字符串發(fā)送函數(shù),該函數(shù)通常用于主控芯片向串口屏發(fā)送指令,調(diào)控相關(guān)控件的相應(yīng)信息。
(2)HMISendb函數(shù),16進(jìn)制編碼發(fā)送函數(shù),該函數(shù)主要用于主控芯片發(fā)送16進(jìn)制控制符。
4? 結(jié)論
本產(chǎn)品經(jīng)過多次試驗(yàn)驗(yàn)證,設(shè)計(jì)完成了基于STM32的終端控制智能灌溉系統(tǒng),通過測(cè)試,HML電阻觸摸屏可以精確的顯示濕度和水位,可以的改變閾值,ESP8266間的通信穩(wěn)定良好,基本實(shí)現(xiàn)預(yù)期目標(biāo)。其性能可用于現(xiàn)代農(nóng)業(yè)植株的灌溉,基本實(shí)現(xiàn)了節(jié)水灌溉,綠色農(nóng)業(yè)的實(shí)驗(yàn)?zāi)康摹?/p>
參考文獻(xiàn)
王向東, 陳學(xué)斌, 張愛敏. 物聯(lián)網(wǎng)在農(nóng)業(yè)中的應(yīng)用及前景展望[J]. 農(nóng)學(xué)學(xué)報(bào), 2016, 6(01): 96-98. 09.
馮筱. 基于物聯(lián)網(wǎng)的溫室花卉智能灌溉系統(tǒng)設(shè)計(jì)[D]. 曲阜師范大學(xué), 2015.
簡易土壤溫濕度環(huán)境檢測(cè)儀的設(shè)計(jì)與制作[EB/OL]. https:// www.jinchutou.com/p-69825203.html, 2020–02–27
劉振. 基于STM32智能家居的無線網(wǎng)關(guān)設(shè)計(jì)與實(shí)現(xiàn)[D]. 浙江理工大學(xué), 2017.
牛立剛, 張?jiān)卢摚?胡志勇, 張彤. 基于Arduino的USAR?THMI智能串口觸摸屏的應(yīng)用[J]. 機(jī)電信息, 2016(15): 122-123.
曹可欣. 基于單片機(jī)的小型自動(dòng)灌溉系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 通信電源技術(shù), 2018, 35(3): 107-109.
李德旺, 許春雨, 宋建成. 現(xiàn)代農(nóng)業(yè)智能灌溉技術(shù)的研究現(xiàn)狀與展望[J]. 江蘇農(nóng)業(yè)科學(xué), 2017, 45(17): 27-31.
張長利, 李佼, 董守田. 基于STM32的灌溉遠(yuǎn)程監(jiān)控系統(tǒng)研究[J]. 東北農(nóng)業(yè)大學(xué)學(xué)報(bào), 2013, 44(08): 105-1.
4b-esp8266_at_command_examples_cn [EB/OL]. https://www. espressif.com, 2020-02-27
STM32_RM_CH_V10_2 [EB/OL]. http://www.st.com, 2020- 02-27
STM32F1開發(fā)指南-庫函數(shù)版本_V3. 1[EB/OL]. http://www. openedv.com, 2020-02-27