基于STM32的智能灌溉系统
2020-12-24成家骏
摘 要: 土壤湿度是植物生长周期中最重要的环境因素之一,以其作为研究对象,开发出一款基于STM32的智能灌溉系统。系统以水位传感器和土壤湿度传感器作为数据采集的端,可将采集到的数据由ESP8266 Wi-Fi模块发送到远程终端的串口触摸屏中显示。并将决策信息反馈给由微型水泵、继电器以及电磁阀的执行机构。本系统通过多次测试,调整系统阈值,系统不但可以实时监控植物的周围环境参数,进行适时调节;还拥有成本低廉、安装方便、用户操作简便等特点。
关键词: STM32; ESP8266;智能灌溉;远程监控
中图分类号: TP273+.5; S274.2 文献标识码: A DOI:10.3969/j.issn.1003-6970.2020.07.038
本文著录格式:成家骏. 基于STM32的智能灌溉系统[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 引言
物联网技术正以空前的速度应用于社会、经济和生活的诸多领域,使人类社会步入了一个全新的高智能化時代,物联网+农业也逐渐进入人们的视野,成为新时代绿色农业,高效农业的代名词[1]。近年来,我国的传统种植业迎来了与物联网结合发展的黄金时期,但由于长期以来我国种植业一直采取沟灌和漫灌等灌溉方法,致使渗漏和蒸发严重,灌溉水有效利用效率低,成为我国农业从相对传统的灌溉方式发展到智能农业浇水系统,生产重心由粗犷分散的小农发展转移到农业精量控制浇水及自动化控制系统的科学管理转变的过程中亟待解决的问题。为此,笔者设计了一款智能灌溉系统,它不但可以让人们摆脱传统的灌溉技术,缓解我用水资
源紧缺的现状,而且它的推广对于节约水资源、水资源的二次利用、绿色农业等方面具有重要意义[2]。
1 系统总体框架图
智能灌溉系统的总体框图(图1),系统由终端和中央转接点组成。其中数据采集及处理模块由水位传感器和土壤传感器组成,通信模块由ESP8266对来实现,终端和主平台由两块STM32分别控制,并且由串口屏做好人机交互[3]。系统总体实现以STM32系列芯片为核心,利用土壤湿度传感器采集植物周围环境的相关数据,检测当前植物的土壤湿度,再通过单片机控制相应的驱动负载进行灌溉,并通过蓄水池中的水位监测模块进行水位监测,使蓄水池中的水低于预定阈值进行补水,接近预定阈值时自动停止,使蓄水池中的水位在一个预期的范围之中。最后可以通过控制终端的多点触摸电阻屏显示当前的土壤湿度值和水位值,当需要对预定阈值进行调整时,通过触摸设定相应的阀值,解决不同农作物在不同地区对于环境的要求,达到自动蓄水、自动灌溉的全自动农田灌溉解决方案。
2 硬件设计
2.1 主控芯片
终端和转接点分别选用了STM32F103系列的ZET6和C8T6作为主控芯片,它们都是基于英国Acorn公司的Cortex-M3内核的32位不同型号的微控制器,引脚数分别为144 pin和48 pin,Flash容量分别有512 KB和64 KB,工作温度都在–40~ 85℃之间,大容量和中等容量增强型分别满足了,两个平台对主控芯片定时器、ADC、UART、IIC、SPI等外设的需要。
2.2 ESP8266 Wi-fi模块
主设备与终端的信息交互由ESP8266模块来完成,ESP826-01是性能稳定且性价比极高的UART Wi-Fi透传模块,非常适合物联网(IoT)领域的32位微处理器[4]。ESP8266模块采用串口与单片机通信,内置TCP/IP协议栈,可以通过AT指令对系统参数进行更改设置,从而建立串口Wi-Fi的传输方案。例如以“AT+CWMODE=2\r\n”用来配置模块为STA模式。该模块支持三种网络模式,也就是STA、AP和AP&STA模式,STA模式是作为无线站点,通过路由器和互联网产生连接,而AP模式是作为无线接入点,实现与站点的通信。本文两个ESP8266模块分别采用AP和STA模式达到数据互传的目的。
重要配置函数:
(1)ESP8266_Net_Mode_Choos该函数用于模块工作模式选择:AP(Access Point)、STA(Station)、AP+STA,它有1个参数,返回一个bool值,选择成功置1,选择失败为0。
AP:无线接入点,提供无线接入服务,允许其它无线设备接入,提供数据访问,AP和AP之间允许相互连接。
SAT:站点,类似于无线终端,它可以连接到AP。
(2)ESP8266_JoinAP该函数用于ESP8266连接外部站点,它有2个char*参数,分别用于输入无线接入点的ID和密码。
ESP8266_BuildAP 该函数用于ESP8266建立拓扑节点,它有3个参数,分别用于输入无线接入点的ID、密码和Wi-Fi加密方式。
(3)ESP8266_Enable_MultipleId该函数用于设置ESP8266的连接模式。
(4)ESP8266_Link_Server该函数用于ESP8266连接外部服务器,它有3个参数,分别用于输入连接服务器的IP地址,端口号,和服务器ID号。
(5)ESP8266_UnvarnishSend 该函数用于使ESP8266进入透传模式。
3 软件设计
3.1 主程序
智能灌溉系统软件采用C语言编程,利用STM32库函数开发,编程工具为Keil uVision5,其软件流程图如图2所示,主程序采用两个独立的闭环控制系统分别把土壤湿度和蓄水池水位进行自动检测并自动采集,互不影响的分别与预设阈值进行比较,并控制相应的控制水泵输出所期望的PWM波形达到控制水位和土壤湿度达到预期的目标,再把调整数据上传到终端显示屏模块上进行实时监控和调整。
在计算机网络方面系统整体拓扑结构为星型拓扑,终端单个主控芯片又控制多个采集模块,将采集的单次数据由终端主控芯片进行由冒泡法排序并按比例去除最大值最小值并用归一算法进行归一,减小上传中央转接点数据,降低转接点负荷。
3.2 HMI (Human Machine Interface)
HMI智能串口触摸屏将用户控制和界面显示完美地分离开来,使用串口指令控制,人机交互界面的设计和制作由配套的上位机软件完成,而下位单片机通过串口通信向触摸屏传输控制指令就可以实现单片機对触摸屏的显示与控制,不需要编写复杂的显示代码,极大地提高了工程师的开发效率,让开发变得更加简单[5]。
在本文中HML串口触摸屏是终端监控平台的中枢模块,向上接主控芯片,向下接通喇叭,提供着报警者和交互者的作用。这部分程序主要使用USART HMI软件编程,主要实现系统的人机交互,串口触摸屏界面主要由5个界面组成,分别是:锁屏界面、解锁界面、主界面、监控界面(图4)和设置界面(图3),考虑到移动设备的便捷性,编辑了锁屏和解锁界面;主界面用来选择监控界面和设置界面;设置界面主要设置土壤湿度和蓄水阈值前两行标定阈值范围,当下方数据超过上方范围时会停止变化,可以根据环境情况来更改系统阈值;监控界面数据由主平台ESP8266模块发送,监控终端接收并通过串口传入数据,最后显示到串口屏中。
相关的两个重要函数包括:
(1)HMISends函数,字符串发送函数,该函数通常用于主控芯片向串口屏发送指令,调控相关控件的相应信息。
(2)HMISendb函数,16进制编码发送函数,该函数主要用于主控芯片发送16进制控制符。
4 结论
本产品经过多次试验验证,设计完成了基于STM32的终端控制智能灌溉系统,通过测试,HML电阻触摸屏可以精确的显示湿度和水位,可以的改变阈值,ESP8266间的通信稳定良好,基本实现预期目标。其性能可用于现代农业植株的灌溉,基本实现了节水灌溉,绿色农业的实验目的。
参考文献
-
王向东, 陈学斌, 张爱敏. 物联网在农业中的应用及前景展望[J]. 农学学报, 2016, 6(01): 96-98. 09.
-
冯筱. 基于物联网的温室花卉智能灌溉系统设计[D]. 曲阜师范大学, 2015.
-
简易土壤温湿度环境检测仪的设计与制作[EB/OL]. https:// www.jinchutou.com/p-69825203.html, 2020–02–27
-
刘振. 基于STM32智能家居的无线网关设计与实现[D]. 浙江理工大学, 2017.
-
牛立刚, 张月莹, 胡志勇, 张彤. 基于Arduino的USAR?THMI智能串口触摸屏的应用[J]. 机电信息, 2016(15): 122-123.
-
曹可欣. 基于单片机的小型自动灌溉系统的设计与实现[J]. 通信电源技术, 2018, 35(3): 107-109.
-
李德旺, 许春雨, 宋建成. 现代农业智能灌溉技术的研究现状与展望[J]. 江苏农业科学, 2017, 45(17): 27-31.
-
张长利, 李佼, 董守田. 基于STM32的灌溉远程监控系统研究[J]. 东北农业大学学报, 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开发指南-库函数版本_V3. 1[EB/OL]. http://www. openedv.com, 2020-02-27