基于树莓派实现自动土壤水分站远程控制及土壤湿度监测的设计与实现

2021-07-02 12:22李成阳左湘文徐峰荀家宝陈伟军
电子测试 2021年11期
关键词:土壤湿度树莓土壤水分

李成阳,左湘文,徐峰,荀家宝,陈伟军

(宁夏大气探测技术保障中心,宁夏银川,750002)

关键字:树莓派;土壤水分站;远程控制;湿度监测

0 引言

随着人工智能、信息和5G技术的发展,无人值守、自动化、智能化自动气象站已成为气象现代化发展的趋势。据统计,宁夏自治区全区气象观测站有1013个,其中自动土壤水分站有37个,自动气象站故障约65%以上是电源所引起,因此,通过重新启动电源可以解决此问题。自动气象土壤水分站发生故障时,台站维护值班员应立刻赶往观测场进行现场维护,对于偏僻的艰苦台站,维护保障人员不足且路途耗时较长,赶往现场需要花费时间和人力成本,因此开发自动气象远程控制系统,实现远程值守尤为重要[1-2]。查看文献发现,关于自动站远程控制及监测,目前已有该领域的开发和应用。例如,蔡宏[1]等,开发了地面气象观测站远程保障系统实现了对观测设备远程观测。张初江[2]等,基于MCU控制单元,通过无线通讯模块实现了设备信号强度等信息。对于观测站维护保障工作的多样性、及不便利性,区级业务管理部门每年耗费大量人力物力财力来集中针对新入职人员短时间培训,但还不能完全满足维修的业务需求[3-7]。因此,为了进一步提高灾害性天气的监测、预报、预警系统,观测数据的可靠性和稳定性,有效地提高了自动气象土壤水分站业务数据质量,满足了目前观测业务自动化、数字化的需求[8-9]。本文设计开发了自动土壤水分站远程控制与监测系统,为实现自动土壤水分站快速、高效的故障维护和技术支持。

1 系统工作原理与设计方案

1.1 工作原理

本文设计的系统由控制系统、数据采集系统和监测系统三部分组成。控制系统是通过3路RPi Relay Board模块对自动气象站电源通断进行控制,同时利用TCP/UDP协议将控制结果反馈客户端;数据采集系统是由接口控制板、数据采集器(HY101N)、扩展板三部分组成,通过minicom串口助手获取状态数据,获取到的数据上传到服务器,客户端通过界面访问服务器可以实时查看状态数据;监测系统是通过MUSIC接口获取数据,获取到的数据通过Matplotlib实现数据可视化显示。

1.2 硬件设计

系统的核心主体为树莓派4B,树莓派是一款基于ARM的微型电脑主板,看似简单的配置只需要一个树莓派、一个TF卡、一根网线、一个充电头即可,但它的功能很强。具有极高的扩展性和易开发的特点。本文使用的是树莓派4B为64位核心BCM2711处理器、运行内存为4GB、主频为1.5GHz、双mico HDMI端口、和千兆以太网等,系统为官方的Raspbian系统,配置相当可观,可以用来数据分析及处理等完成复杂的计算任务。数据采集模块是由采集箱、接口控制板、12v电源、HY101N采集器、扩展板、传感器组成,控制模块是由3路RPi Relay Board传感器组成,通讯模块由串口通信和WiFi通信模块组成,监测模块由土壤水探测器、总线、采集器、树莓派组成,系统整体结构如下图1所示。

图1 系统整体结构

本文主要研究自动土壤水分站控制与湿度监测系统中的控制部分和监测部分,即通过数据采集模块获取实时数据,通过内置软件进行处理,生成曲线图进行实时显示。通过3路RPi Relay Board传感器进行控制电压通断。对树莓派安装相关支持数据及库函数,所有软件均使用Python开发。

1.3 采集模块原理

文中土壤水分应用了多点可调水分探测器,它采用了频域反射测量技术。多点可调水分探测器上面装两个电机,电极上电后电极振荡产生信号频率,通过信号频率来测量土壤介电常数,信号频率大小随土壤介电常数改变而改变,介电常数与土壤水分密切相关。因此将多点可调水分探测器放入土壤中,利用电极振荡产生信号频率来测量土壤水分,如下图2所示。

图2 采集原理图

本文采集模块主要由传感器、接口控制器、总线及固定结构、数据采集器组成。传感器和接口控制器通过CAN总线连接,组成完整的土壤水分探测器;接口控制器与多个传感器通过CAN总线上的插槽连接,从顶端插槽起,每隔10cm装有一个插槽,从而确定深度为:10cm、20cm、30cm等,将传感器插入插槽从而测出该层深度数据,并且将顶端插槽与接口控制器连接;接口控制器与数据采集器连接,当采集器向接口控制器发送采集命令时,接口控制器与之连接的各层传感器取回数据,并进行处理、存储。

2 软件设计及测试分析

2.1 客户端软件设计

本文设计采用面向对象的Python语言来描写客户端软件,图像界面选用Tkinter模块,它是Python的标准Tk GUI工具包,同时Python本身集成了大量的实用类库,该客户端软件在此环境下编译完成。根据系统软件的设计理念,文章中利用模块化的设计理念来完成主界面的设计,考虑到数据的传输稳定性和可靠性本文选用TCP/IP协议,这样可以更好地实现数据的实时获取,查看曲线读出实时土壤湿度值,主界面主要包括通讯模块状态显示、数据传输模块状态显示、数据监测模块等,客户端主界面如图3所示。

图3 土壤水分站远程控制界面图

本系统界面由视频窗口、按钮、文本文档三部分组成,通过点击对应的按钮进行加载、运行后台程序、将运行结果通过对应窗口显示。

2.2 土壤湿度监测软件设计

土壤湿度监测主要是通过气象数据统一服务接口(MUSIC)获取自动气象站数据,利用公式:相对湿度=体积含水率/(土壤容量*田间持水量)计算出土壤相对湿度值,通过Python数据分析并安装库函数numpy、pandas、matplotlib.pyplot建立可视化曲线图,该曲线图时间用横坐标表示,相对湿度用纵坐标表示,从而实现时间湿度动态曲线图。

2.3 控制软件设计

控制模块主要是通过3路RPi Relay Board传感器,在程序设计中对各个引脚进行定义,其中GPIO口为LOW时,LED点亮,GPIO口为HIGH时,LED熄灭。该传感器核心代码为:

# 设置GPIO口为BOARD编号规范gpio.setmode(gpio.BOARD)

# 设置GPIO口为输出gpio.setup(in1,gpio.OUT)gpio.output(in1,gpio.HIGH)

# 设置输出电平gpio.output(in1,gpio.LOW)

# 秒级延迟time.sleep(2)

# 设置输出电平gpio.output(in1,gpio.HIGH)

树莓派首先通过连接跳线帽来控制继电器,该继电器带有三个连线端子,每个端子上分别有三个脚,用来连接外部电路,当树莓派IO口输出低电平时,则对应通道的LED灯点亮。同时继电器常开触点闭合或常闭触点断开,使得外部电路通断状态发生改变。

2.4 数据传输软件设计

首先进行树莓派串口设置,通过命令sudo raspiconfig打开串口,设置串口通信,然后重启树莓派,其次是通过命令sudo apt-get install minicom 安装minicom,运行串口设置工具,进行mini串口设置、波特率配置等,运行minicom,从而获取自动气象站实时数据。

2.5 测试及分析

在实验室对本系统进行整体测试,通过VNC远程连接树莓派,连接成功后打开系统,分别对界面上的土壤湿度信息、远程控制、串口三个模块进行综合测试,整体测试效果图如图4所示。

图4 系统整体测试效果图

土壤湿度信息测试是通过点击加载按钮进行加测湿度监测程序,程序加载完成后点击确定按钮进行运行,并将土壤湿度信息运行结果以曲线的形式显示在界面,该曲线图描绘土壤湿度信息的历史情况;远程控制是通过选择预设好的命令,先选择对应命令,点击运行按钮执行对应程序,并将服务器连接情况、端口状态、当前状态信息等运行结果显示在界面上;串口模块测试是通过点击串口按钮运行串口程序,系统通过获取端口、波特率、串口名称、数据位、站号、土壤湿度等信息显示在该界面。测试中发现直接点击运行按钮时,系统运行速度比较慢并有卡顿现象,通过给各个分系统分配不同的线程并增加清除按钮,清除按钮可以进行信息清除和重置,同时,运行时间大幅度减少,且各个模块可以同时运行,便已用户实时更新并关闭系统。

3 结论

本文以树莓派4B为主体,设计一款包括电压控制、数据监测、动态曲线显示等功能的监测控制系统,针对该功能模块进行了软硬件设计,实现了实时监测和自动控制为台站人员提供了高效的维护工作效率。此设计方案的意义在于将树莓派、4G通信技术和自动化设备有效的结合,扩展了智能控制的应用方式,体现了物联网的概念。

猜你喜欢
土壤湿度树莓土壤水分
土壤湿度传感器在园林绿化灌溉上的应用初探
基于51单片机控制花盆土壤湿度
基于树莓派的骑行智能头盔设计
基于树莓派的远程家居控制系统的设计
西藏高原土壤水分遥感监测方法研究
响应面法优化红树莓酒发酵工艺
四川盆地土壤湿度时空分布及影响因子分析
中国不同气候区土壤湿度特征及其气候响应
不同覆盖措施对枣园土壤水分和温度的影响
植被覆盖区土壤水分反演研究——以北京市为例