基于云服务技术的智能农业环境监测与控制系统

2018-05-08 06:26
浙江工业大学学报 2018年3期
关键词:终端设备采集器智能网

(1.浙江工业大学 计算机科学与技术学院,浙江 杭州 310023;2.浙江工业大学 教育科学与技术学院,浙江 杭州 310023)

当前,随着我国社会经济快速发展,工商企业用地与农业用地之间的竞争日渐激烈[1].同时,人口逐步地老年化使得我国的劳动力供给不久将会步入刘易斯拐点[1].经济的日益发展,人们对物质的要求也在不断提高,而农业则是所有其他物质需要的基本保障.如何在有限的农业土地上保证最基本的产量,这需要我们改变之前粗犷型的农业开发方式,而采取更为精细的管理方式.纵观西方发达国家的农业发展历史,逐步采用集约化和规模化是我国农业生产中一个值得考虑的方向.为了能够更好地对现代农业的田间生产进行管理,需要依托信息技术[3]来实现自动化的远程智能管理[4].

云计算技术[5]的大规模发展,极大地降低了计算能力的使用成本.传统的精细农业的管理控制方式[3-4]需要企业投入相对较多的资金,并安排专门的人员进行管理,成本较高,应用有限.但使用云计算技术之后,这一切都可以有效地避免,能够极大地降低企业的投入.大数据[6]为宏观的分析和决策提供了现实依据[7-8].只有借助于云计算技术和农业大数据技术[9],才能对农业生产实现集中式管理,为分散的农业种植领域提供低成本的快捷服务.鉴于此,设计了一种基于云服务技术的智能农业环境监测与控制系统,完成了实用化的软硬件产品.实际产品证明该设计思想是切实可行的.

1 系统总体方案

基于云服务技术的智能农业管理系统的整体结构如图1所示.系统可以分为终端设备、通信系统、云服务器和客户端4大部分.终端设备包括环境采集器和设备控制器,用于实现终端信息采集和设备的远程控制.通信系统用于实现终端设备、云服务器和客户端之间的数据通信,包括局域网、互联网和移动通信网.云服务器通过云计算的方式实现环境信息和控制指令等数据的采集、处理和发送,并为客户提供应用服务程序.客户端包括联网的PC机和移动通信设备,联网的PC采用B/S架构,无需安装客户端软件.移动通信设备最常见的是智能手机,需要安装APP访问云服务器.

图1 系统结构Fig.1 System architecture

系统的主要工作过程:控制终端采集环境参数和设备状态,将数据汇聚到智能网关;智能网关将数据打包后,统一发送到云端服务器;部署在云端服务器中的采集和控制服务软件接收到数据后,对数据进行分类处理;正常的环境数据和设备状态,被直接写入到数据库中.

WEB客户端和手机APP通过图形或数字的方式将环境数据展示在图形界面上.用户可以在控制室或者任何有手机信号覆盖的地方观察到园区作物的生长环境,也可以通过现场安装的摄像头看到园区作物的生产情况.当园区环境偏离作物生长的最佳生长环境时,工作人员可以手动或自动对园区的设备进行控制,如打开风机、喷灌、滴管和天窗等设备.

2 终端设备设计

环境采集器和设备控制器的功能,包括其工作流程和控制电路设计.环境采集器收集多种多样的环境信息,如二氧化碳浓度、湿度和温度等,然后将该类数据统一由设备控制器转发给智能网关,最终被智能网关传递至云服务器上,供用户通过Web浏览器查询访问.

2.1 环境采集器设计

终端环境采集器采集空气温度、湿度、光照强度和CO2浓度等多种RS485传感器的数据,并通过通信系统将其发送到智能网关.其构成如图2所示,由主控微处理器、各种常用传感器、无线收发模块、电源变换模块、地址设置单元和备用传感器接口等组成.主控微处理器是终端采集器的核心,它读取传感器数据并进行处理后,通过无线收发模块发往智能网关.其中传感器信号为RS485总线输出的数字信号.

图2 终端采集器硬件结构图Fig.2 Hardware structure of terminal collector

终端采集器的软件主要包括主程序、中断程序和接收数据包处理程序等.主程序在初始化之后,进入循环程序,采集传感数据并循环检查串口,处理接收的数据包.终端采集器中断事件主要包括串口中断事件、定时器中断事件,2种中断一起实现指令的发送和数据流的接收.终端采集器接收数据包处理程序实现了所有传感器的数据循环采集,处理流程如图3所示.

图3 终端采集器接收数据包处理流程图Fig.3 Flow chart of terminal collector packets processing

2.2 设备控制器设计

终端设备控制器接收来自智能网关的控制命令,对现场设备实施远程操作控制,并检测现场设备的工作状态,将工作状态发送到服务器.其硬件电路结构如图4所示,由主控微处理器、控制扩展器、开关量检测电路、电流检测电路、无线收发模块、电源变换模块和地址设置单元组成.

主控微处理器通过无线收发模块接收来自智能网关端的远程控制命令,并根据命令要求驱动控制扩展器.控制扩展器通过继电器、光耦等隔离驱动器件实现对电磁阀、电机和电源开关等器件的控制,进而实现对设备的远程控制.开关量检测单元和电流检测单元检测设备的开关状态或供电电流,从而判断设备是否已经工作,并将这些信息通过无线收发模块发送到智能网关.当需要控制较多的设备时,可以使用多个控制扩展器进行扩充.

图4 终端控制器硬件结构图Fig.4 Hardware structure of terminal controller

终端控制器软件主要包括主程序、串口中断程序和接收数据包处理程序等.主程序和串口中断程序处理流程与环境采集器基本相同,程序在初始化之后,进入循环程序,循环检查串口,并处理接收的数据包.接收数据包程序处理流程如图5所示,根据数据包对应字节的数据得出数据通道号,并读取该通道的设备状态数据,然后依照协议构造回复数据包,进而将该数据包回传至智能网关.

图5 终端控制器接收数据包处理流程图Fig 5 Flow chart of terminal controller packets processing

2.3 通信系统设计

通信系统包括局域网网关、移动通信系统和互联网等几个部分,移动通信系统和互联网部分是利用现有通信资源,在此不做过多介绍.智能网关是终端采集器和终端控制器的汇聚节点,通过ZigBee无线网络[11],将终端采集器和终端控制器组成一个局域网.智能网关通过移动通信网络与服务器连接,硬件框图如图6所示.它由输入输出设备、主辅存储设备、显示器接口、ZigBee无线收发模块和互联网接入模块组成.

图6 智能网关硬件结构图Fig.6 Hardware Structure of Intelligent Gateway

智能网关上电后,首先初始化参数,打开定时器,由定时器中的采集程序采集环境数据和设备状态数据.智能网关的数据接收处理流程图如图7所示.终端采集器收到采集指令后,向网关返回采集到的园区环境数据.终端控制器收到设备状态指令后,向网关返回设备的状态.

图7 数据接收处理流程图Fig.7 Flow chart of data reception & processing

3 云服务器软件设计

当前整个系统的云服务器采用主流的公有云设施,运行数据库软件、数据采集控制服务软件和WEB服务器,其系统结构如图8所示.终端设备采集得到的数据由智能网关发送被云服务器接收之后,然后数据采集与服务软件对接收到的终端数据进行有效性验证和解析之后写入到数据库.用户可以通过WEB浏览器访问云服务器实时查看农场中的各种数据和现场环境.同时,为了实现信息的双向流通,本系统还可以实现将用户的控制指令从用户端传送到终端设备,并由终端设备解析之后,完成相应的事件响应,如降低大棚中的温度、提高二氧化碳的浓度等.由于统大部分功能均由云端服务器完成,使得终端和客户端功能变得更为简单,从而有效地降低了终端设备和客户端设备对资源的要求,有利于降低成本,便于部署.

3.1 数据库设计

Oracle数据库是一种广泛使用的数据库服务器,具有性能稳定、使用广泛和资料易得的优点[10].相比较MySql等其他数据库,能够降低用户的使用成本,提供较高的可维护性.因此,笔者在云服务器上使用Oracle 11g作为数据库服务器.

本系统采用关系型数据库来描述设备、园区和不同用户之间的关系,依据各实体之间的关系设计数据表单.表与表之间的关系采用外部约束来保证数据的完整性,本系统各对象之间的关系如图9所示.

图8 云服务器系统结构Fig.8 System architecture of cloud server

图9 智能农业系统对象关系图Fig.9 Diagram of intelligent farm system object relationship

3.2 数据采集与控制服务软件

数据采集与控制服务程序是网关管理和指令转发的核心构件.它定时向所有在线的智能网关发送数据采集指令,并将收到的信息处理后写入数据库中,也能接收来自WEB客户端和手机APP端的控制指令,并转发给对应园区的智能网关.

本软件的核心功能是数据的接收和处理,其工作流程如图10所示.若收到的是园区环境数据,将该数据解析后保存到数据库实时表中.若接收到的是设备状态信息,则解析数据后,将对应设备的状态保存到设备状态表中.如果收到控制信息,则表明控制指令执行正常,并将该信息保存到设备操作日志表中.

图10 采集与控制服务程序数据接收和处理流程图Fig.10 Flow chart of data reception & processing in collection & control service program

3.3 WEB服务软件

WEB服务端软件的主要功能是接收并解析智能网关发送过来的环境数据,以及向终端设备发送用户的控制指令.WEB服务端实时接收农场中环境数据的处理流程如图11所示.服务器首先根据用户ID确定其所在园区,然后获取对应园区的终端采集器发送指令,要求该终端返回对应的环境数据和设备状态数据,服务器接收到这些数据之后,对其有效性进行验证,按照既定的数据格式对其进行解析,并将解析出来的最终数据保存到数据库中.

WEB客户端控制设备的处理流程如图12所示,其工作原理是当用户通过网页浏览器点击某些菜单和按钮之后,WEB服务器以此进入相应的后台处理逻辑,发送对应的消息给控制软件,控制然后发送对应的控制指令至智能网关,当智能网关接受到之后,通过电磁等信号控制农场的不同响应设备做出该有的动作,如调节温度、调节湿度和调节气体浓度等.

图12 WEB端控制流程图Fig.12 Flow chart of web-side control

3.4 系统应用

基于以上体系结构设计完成的智能农业环境监测与控制系统得到了实际应用.图13为在现场安装的终端环境采集器和设备控制器实物,图14为应用软件的PC机端服务程序和手机APP应用界面.利用本系统管理平台,通过PC机或智能手机APP访问实现环境数据的实时查看,当发现环境数据偏离作物的最佳生长环境时,利用设备远程控制功能,调节作物生长环境,提高了农产品的质量和产量.同时,实现了生产过程的科学化管理,提高了资源利用率和劳动生产率.

图13 终端设备Fig.13 Terminal equipment

图14 服务软件APPFig.14 Service software and APP

4 结 论

提出了一种基于云服务架构的智能农业环境监测与控制系统,该系统由终端设备、通信设备、云服务器和客户端组成.终端环境采集器和设备控制器通过ZigBee自组网的方式组成局域网,通过智能网关和通信系统实现与云服务器的数据传输功能.系统采用B/S和C/S相结合的方式,大部分功能由云端服务器完成.实际应用表明:该系统能在较低的部署成本下提供较高的效率,具备了较好的应用前景.

参考文献:

[1] 黄英,沈飞.从宏观角度解析占用农业用地带来的多重影响[J].资源与产业,2004,6(3):7-9.

[2] 杨长福,张黎.我国农业人口老龄化对现代农业的影响及对策[J].农业现代化研究,2013,34(5):522-526.

[3] 卢冠男.基于物联网的农业温室智能管理系统的设计与实现[D].长春:吉林大学,2015.

[4] 余晓波.农田信息获取系统设计及其在精准农业中的应用[D].合肥:中国科学技术大学,2011.

[5] 吴吉义,平玲娣,潘雪增,等.云计算:从概念到平台[J].电信科学,2009,25(12):1-11.

[6] 蔡书凯.大数据与农业:现实挑战与对策[J].电子商务,2014(1):3-4.

[7] 蔡丽霞.基于大数据处理技术Hadoop平台玉米精准施肥智能决策系统的研究[D].长春:吉林农业大学,2015.

[8] 袁芬,徐从富.基于机会协作的农业物联网大数据处理系统设计[J].计算机应用,2014,34(7):2136-2139.

[9] 许世卫,王东杰,李哲敏.大数据推动农业现代化应用研究[J].中国农业科学,2015,48(17):3429-3438.

[10] 何国庆,王润宇,宿云凯.打造高可用的Oracle数据库[J].电子世界,2012(15):3-4.

[11] 应时彦,朱献康,朱华,等.基于嵌入式Web服务器的停车场管理系统[J].浙江工业大学学报,2016,44(4):383-387.

[12] 姚明海,陈占省,顾勤龙.基于REST架构的离散制造业物联网平台[J].浙江工业大学学报,2015,43(4):425-430.

猜你喜欢
终端设备采集器智能网
交通运输部:扩大新能源智能网联汽车应用
带U型切口的非线性压电能量采集器的动力学仿真研究
基于MAC 认证的终端网络准入控制系统方案*
COVID-19大便标本采集器的设计及应用
浅析黑龙江省区域自动站硬件升级过程
基于单片机的智能网控风扇设计
智能网联硬实力趋强
迎战智能网联大爆发
多传感器通道多点数据并行高速采集器设计
行车记录仪通信连接方法、行车记录仪及终端设备