APP下载

融合图像与环境参数的农作物生长远程监控平台

2023-06-17万梓然贾伯权张宝峰

物联网技术 2023年6期
关键词:网络层环境参数数据表

万梓然,刘 斌,赵 岩,郑 鹏,陈 雨,贾伯权,张宝峰

(1.天津理工大学 电气工程与自动化学院,天津 300384;2.天津市复杂系统控制理论及应用重点实验室,天津 300384)

0 引 言

我国是人口大国和农业大国,农业生产是关系国计民生的大事,占有至关重要的战略地位。农业物联网技术[1]作为支撑智慧农业发展的一种重要手段,可以大力推进农业信息化和现代化,使农田利用率和产能大幅提升,在我国粮食安全保障、农产品供应保障和国民经济发展方面具有重要意义[2]。

农作物生长环境监测系统[3],基于物联网技术,利用各种传感设备和通信设备,广泛采集作物的生长环境信息,并通过无线或有线网络传输到数据管理中心,再对采集的信息进行存储、展示及分析,并形成智能决策[4],最后通过智能控制设备实现农业生产全过程的监测和管控,进一步达到集约化、高效、优质的农业生产标准[5]。朱均超等人[6]实现了基于物联网的农业大棚环境监测系统,并针对传感器网络做了优化处理,实现农业大棚环境信息采集与远程监测,满足了农业大棚现代化管理的需求。马怡蕾[7]基于开源的物联网平台,设计了一套农业物联网用户端软件,可实现远程采集、控制以及数据可视化等功能,还提供了实时报警的功能,能够基本满足农业生产的需求,但智能化程度不够。李灵[8]基于农业温室大棚环境,设计了多传感综合处理的农业物联网系统,实现了农业环境的实时监控和调整,但采集的农作物生长信息种类较少。刘万元等人[9]设计了一种基于OneNET物联网开放平台的智慧农业监测系统,能够实现农业温室内环境数据的实时监测。

本文通过物联网技术与网络技术的结合设计农作物生长远程监控平台,实现对农作物环境参数、图像数据的实时远程监测和管理,并可远程控制农机设备,有效降低人力消耗,有利于精准地进行农业种植。

1 系统架构设计

为实现农业大棚中作物信息参数的监测以及设备管控,本文设计了农作物生长远程监控平台,其整体结构主要包括三层:感知层、网络层、应用层。架构体系如图1所示。在农业大棚中布置采集设备和控制设备,实时查看作物生长图像,采集环境温湿度、土壤温湿度、土壤pH 值以及光照度等生长参数,农业人员可以根据当前环境参数和图像参数,及时控制风机、水泵设备的开关以及信息管理。

图1 农作物生长远程监控平台整体结构

感知层由采集终端和控制终端组成,包含了传感器设备、监控摄像头和控制设备。在感知层与网络层之间,选择UDP、萤石云、TCP 三种独立并存的监测通信方式,使用UDP 方式高效地传输监测数据,调用萤石云平台接口获取视频流信息,使用TCP 方式稳定地传输控制信息。通过网络层的数据处理中心,能将采集传输的信息解析存储至数据库中。围绕目标需求,在应用层对数据进行处理分析,形成了数据中心、控制中心、设备中心、视频中心、设置中心四个主要功能模块。在PC 端或APP 端,借助可视化操作界面,管理人员和用户可以实时观察作物生长情况并远程监测环境温湿度、土壤温湿度、土壤pH 值等各类环境数据,有效进行设备信息的管理控制,并通过设置来管理系统使用人员的信息。

2 感知层设计

2.1 感知层组成模块

感知层主要包含采集终端、控制终端两部分。采集终端利用传感器设备和监控设备,分别收集环境信息和图像信息。控制终端包括了风机、水泵等被控设备。

(1)环境信息采集模块主要由环境温湿度、土壤温湿度、土壤pH 值以及光照度等传感器组成,见表1所列。传感器主要用来采集大棚的环境信息,经I2C/RS 485 方式接入,最终通过UDP 协议高效地与网络层进行连接通信和数据传输。

表1 传感器信息

(2)图像信息采集模块选择海康400 万臻全彩网络摄像头DS-2CD3T47EWDV3-L,支持背光补偿、强光抑制、3D数字降噪,其120 dB 宽动态能适应不同监控环境。监控摄像头由互联网接入萤石云开放平台,萤石云平台通过开放视频采集、传输、存储、预览、回放、智能分析等功能,可帮助视频行业开发者快速进行垂直化技术应用。在网络层通过调用该平台提供的应用程序接口(Application Programming Interface,API)获取实时视频流,从而在应用层实现视频实时查看。

(3)感知层的控制模块能够根据采集的环境数据,实现农业大棚的风机、水泵等终端设备控制操作。控制终端经RS 485 方式接入,通过TCP 协议可靠地与网络层进行通信,实现运行状态、地址等设备信息的上报,同时在应用层用户能对控制终端进行开关等控制管理。

2.2 通信协议制定

为了保证网络层可以准确地与感知层的终端设备进行数据解析交互,设计一个结构完整、涵义明确的通信协议十分必要。本文以环境信息采集模块的UDP 协议为例,对通信协议设计进行说明,见表2所列。

表2 数据解析交互通信协议

(1)在上传数据时,数据包中包括帧头、协议版本号、设备类型、设备号、环境参数数据、CRC 校验以及帧尾。

(2)为了记录协议的升级和改动,在数据包加入了协议版本号。

(3)考虑到后期会有更多采集传感器应用于温室大棚中,为了确定传感器的具体位置,在数据包中需加入设备号,提高系统控制精度。

(4)为保障数据的安全性,数据包需加入帧头和帧尾的校验,用以判断数据的完整性、正确性。

3 网络层设计

3.1 设计模式及关键技术

本文结合技术框架Vue+SpringBoot,在网络层设计了基于MVVM 模式的前后端分离系统,如图2所示。后台服务负责处理数据库、交互服务器、数据服务器以及温室大棚设备之间的业务逻辑,并向前端提供数据信息。前端负责解析数据和页面渲染,提供并展示应用层需要的主要功能,如数据中心、控制中心、设备中心、视频中心以及设置中心。

图2 平台网络层设计模式

感知层与网络层之间,涉及到控制设备、采集设备、监控设备三部分的连接通信。对于监控设备,通过把HIKVISION 视频监控集成化解决方案[10]嵌入到前后端分离系统中实现监控功能。另外,为了兼收控制设备的信息与采集设备的数据,提出TCP 与UDP 并行通信运行模式。将交互业务与数据接收业务分给两种服务器处理,如果一方服务器出问题,不影响另一方正常运行。因此,降低了系统耦合性并提升了系统运行效率。在二者同步进行过程中,交互服务器通过TCP 方式与水泵等受控设备建立通信,使设备信息以及控制指令得到可靠稳定的传输。除此之外,该服务器可以与前端进行交互且能够直接访问数据库。数据服务器只负责接收数据写入数据库,不与前端产生交互关系,借助UDP通信方式实时接收采集设备的数据。针对不同种类设备提出的双协议通信模式,使感知层数据得到稳定高效的传输,同时降低了系统耦合度,使系统易于维护扩展。

在前后端分离系统[11]的开发设计中,采用了基于Vue+SpringBoot 的主流技术架构,具体技术如图3所示。前端主要采用Vue 技术,使用Element UI 进行用户界面交互,通过Axios 与后端通信;后端建立了SpringBoot 框架[12],除了与前端的交互机制外,还包括了业务逻辑处理和数据操作。为了与感知层的受控设备、采集设备建立通信,使用了以NIOServer 为基础封装的Netty 框架设计TCP、UDP 服务器,负责侦听来自客户端(受控设备、采集设备)的连接请求以及建立连接后的数据收发。将设备传输的数据保存在MySQL 数据库中,并通过Mybatis 对其进行访问,完成数据的持久化处理;之后,利用SpringUtil 类来为Netty 获取ClientService(Spring bean对象),使其可以与服务层Service进行交互;在Service 层,ClientService 类通过与Netty 交互来管理和维护与服务器建立连接的客户端(设备)的列表,同时可以向Controller 层提供服务来满足前端需要。对于监控设备,通过萤石云开放平台获取视频地址和密钥,存储在系统后端,以Axios 方式把数据传递给前端,通过引入Ezuikit.js 脚本,最终实现视频播放功能。

图3 平台网络层技术架构

3.2 数据库设计

农作物生长远程监控平台的数据库采用的是 MySQL 数据库存储[13]。监控平台的数据库表结构主要由环境参数数据表、控制设备表、监控设备数据表和用户数据表组成。

3.2.1 环境参数数据表

环境参数数据表用于存储农作物的环境数据信息,对每种类型的传感器设备所采集的数据进行存储,主要包括环境温湿度、土壤温湿度、土壤pH 值以及光照度等,见表3所列。

表3 环境参数数据表

3.2.2 控制设备数据表

控制设备信息表主要存储各类控制设备的信息,便于用户增添、修改设备信息,实时查看设备状态并对设备端进行操控,见表4所列。

表4 控制设备数据表

3.2.3 监控设备数据表

监控设备数据表主要存储视频监控设备的信息,方便用户管理监控设备并实时查看视频数据,见表5所列。

表5 监控设备数据表

3.2.4 用户信息数据表

用户信息数据表主要用来保存个人登录账号的各类信息,包括用户名、密码以及其他个人信息,便于平台进行管理,见表6所列。

表6 用户信息数据表

4 应用层设计

根据平台技术架构特点以及温室大棚监控管理需求,将平台主要功能模块划分为5 部分,如图4所示,分别是数据中心、控制中心、设备中心、视频中心以及设置中心。

图4 平台主要功能模块

4.1 数据中心模块

基于感知层采集传输的环境参数,通过数据中心模块实现了温室大棚内农作物生长信息的监测。管理人员或者用户可以通过远程Web 形式监测温室大棚的各项指标,主要包括空气温湿度、光照度、土壤温湿度、土壤pH 等参数的实时或历史数据及其折线图。如图5所示,输入数据类型、设备号和时间范围后,点击查询即可在列表中列出相应的历史数据,并在下方呈现出这些数据的折线图。实时数据查询可按数据类型、设备号两个参数来进行搜索,对用户展示查询到的实时数据及折线图。如果所查询设备没有当前时间的实时数据,则列表中显示的是该设备在数据库中时间最新的数据。

图5 数据中心功能模块

4.2 控制中心模块

通过观察环境信息数据,判断出应该调整哪些设备,可以在控制中心模块的设备控制页面对相应的设备进行调整,从而改变这些指标数据,让大棚内的农作物在更适宜的环境下生长。在控制中心模块中,可以查看这些设备的实时状态和对其进行控制操作,本界面只会显示在设备中心模块的设备管理界面中注册过的设备,具体如图6所示。输入设备号、设备类型和区域可查询设备中心已注册设备的实时状态,也可对已连接设备发送开关指令。其中设备状态有:“运行”“关闭”“未连接”“状态过期”共四种,可在右上角切换“手动刷新列表”和“自动刷新列表”。手动刷新需要点击“搜索”按钮;自动刷新每5 s 自动向服务器获取一次设备状态。如果设备已连接,则可通过表格最后的按钮向设备发送开启或关闭两种指令。若设备未连接,则开启和关闭两个按钮为禁用状态。

图6 控制中心功能模块

4.3 设备中心模块

在设备管理界面可以对设备进行增删改查的操作。这里注册的设备即为控制中心模块中设备控制界面中呈现的设备,且设备控制界面只会显示本界面注册过的设备及其状态。可通过设备号、设备类型、区域三个参数来进行设备查询,并可对查询到的设备列表进行分页,让用户管理登记到系统的设备,如图7所示。

图7 设备中心功能模块

4.4 视频中心模块

在视频中心模块的监控设备管理页面,可以添加或修改监控设备,设备信息包括监控位置、萤石云调用验证码、视频地址及备注信息,如图8所示。如图9所示,完成监控设备信息的注册后,可以实时查看当前监控位置的农作物生长情况,以便及时调整作物生长的环境参数。

图8 监控设备管理模块

图9 监测查看模块

4.5 设置模块

设置模块中包含个人信息功能和用户管理功能两部分。在个人信息页面用户可修改自己账户的个人信息和密码。用户管理界面只对管理员账户可见,管理员可对系统中所有账户进行增删改查,包括对其他用户信息进行修改,并且可以停用账户,但默认管理员(ID 为1)的关键参数不可修改,也不可删除。图10展示了设置模块的用户管理界面应用,普通用户可以管理自己的个人信息,而管理员可以管理所有用户的信息。

图10 设置功能模块

5 结 语

农业大棚的生产和管理方式正在发生转变,基于信息技术发展现代农业已经成为趋势。本文设计的农作物生长监控平台,既可以帮助用户以视频方式查看作物的图像参数,也可以帮助用户监测温室大棚的各项环境数据,如环境温湿度、土壤温湿度、光照强度、pH 值等参数的实时或历史数据及其折线图。通过观察这些数据变化,做出设备调整应对策略,对相应的设备进行管理控制从而改变这些环境指标,为大棚内的农作物提供更适宜的生长环境,提高农业大棚现代化生产管理水平。本文依据物联网架构构建了系统体系;基于MVVM 模式的Vue+SpringBoot 技术框架,开发了前后端分离系统,并实现了TCP 与UDP 的双层服务器运行模式。搭建的B/S 系统具有响应速度快、扩展性强、易于升级维护、界面美观的优点。

注:本文通讯作者为刘斌。

猜你喜欢

网络层环境参数数据表
基于云平台的智能家居环境参数协同监控系统设计
列车动力学模型时变环境参数自适应辨识
一种食用菌大棚环境参数测控系统设计
基于列控工程数据表建立线路拓扑关系的研究
基于小型固定翼移动平台的区域大气环境参数采集系统设计
图表
基于VSL的动态数据表应用研究
Current advances in neurotrauma research: diagnosis, neuroprotection, and neurorepair