本文是农学论文,本课题从果园的实际情况出发,针对果园露天环境,有线网络布线存在短板及经常无人值守的情况,利用基于物联网技术的环境监测设备,很好的解决了对果园环境小气候的实时监控,并在此基础上加入了报警功能,可及时的将报警信息发送至相关人,在果园遭遇罕见气候灾害时,可以提早采取措施,将影响减少到最小,文的主要工作结论如下:(1)论文首先进行研究了系统的总体架构,从底层到顶层可将整个系统总体结构划分如下:数据采集层、服务层、应用层。剖析了整体系统的结构,为下一步系统的分步骤、分模块实现提供依据。并介绍了系统开发相关的产品和技术,技术可行性得到了保证。(2)利用亚马逊 Amazon EC2 云平台,并基于 4G 通信网络将环境监测数据实现实时上传,并保存至数据库中,完成了数据采集层的主要工作,为接下来的实时报警做铺垫,接着又进行了果园环境监测与报警系统的概要设计以及系统功能设计,按照软件工程的思想,把整个系统划分了用户管理模块、数据可视化模块及实时报警三大模块
.........
.........
第一章 绪论
在我国的农业生产生活中,部分地区每年都会不定期发生一些自然灾害,在一些个别地理环境发生的极端气候条件严重影响着作物的正常生长,使其发生各种各样的生理障碍,对正常产量和品质有着严重影响。过高的温度或者过低的温度会造成植物热害或冻害,土壤中的盐碱含量及成分不合理会使植物遭受盐害或碱害,工业排放的废水废气和交通运输行业排放的废料废气等的不科学超标排放会造成土壤污染,形成酸雨,土壤中的水分过多或过少也会会引起严重的洪灾或旱灾[8]。目前,大多数果园设施装备水平低,温、光、水、气等小气候环境监控能力差,即使有的果园配备气候监测设备,但由于设备数据采集不规范,数据质量也难以保证,且无报警功能或功能不完备。如在 2018 年清明节华北地区普遍遭受了突如其来的暴雪天气,由于无相应预警机制,对漳河林场梨树损失较大,因此,建立一套完备的环境监测与报警系统就显得尤为重要了。
..........
第二章 监测与报警系统架构设计
2.1 系统概述
目前,对于非露天的环境(如温室大棚等)进行监测与控制已有很多成熟案例可供参考,这些安装在温室大棚内的传感器可对周围环境进行持续监测,有些也可通过有线、无线传输到本地管理中心储存,进而服务于监测与报警,但报警方式也基本上是传感器本身通过蜂鸣器发出报警。而对于日常无人值守(尤其是夜晚)的果园环境,由于面积广大,传感器部署较多,有线网络无法满足以外,一旦环境因素发生恶劣变化,并不能及时将报警信息通知到农场主。本文针对这一种实际应用情景,研究并开发了一个基于 4G 的果园环境监测与报警系统,根据果园中安装的环境监测传感器将收集到的温度、湿度、光照、土壤酸碱值等数据准实时上传到云平台的数据库,再由环境监测与报警平台加以展示这些数据,用户可以随时随地查看环境数据,并且加入了报警功能,可自定义各种环境因素阈值的报警,这样可及时,方便的通知到相关人员。整个系统的拓扑结构如下图:
2.2 系统总体架构
通过以上小节对果园环境监测与报警系统的分析概述,从底层到顶层可将整个系统总体结构划分如下:数据采集层、服务层、应用层,分层结构如 2-2 所示。(1) 数据采集模块:由各种果园部署的环境监测传感器组成,本文采用的环境传感器是多功能合一体的,可同时监测温度、湿度、光照等环境信息,通过对传感器的初始化设置,配置其工作模式,如本地模式为只存储数据不长传数据,本地+上传模式既可以本地存储数据不上传也可以上传数据的同时设备也保留一份数据,配置上传服务器地址、上传数据格式及精度等(2) 数据服务:主要接受环境监测传感器上传的数据,以固定格式保存至云平台数据库中,本文使用 AWS(亚马逊)EC2 云平台产品,后端应用服务端同时也可以接受应用层的数据请求,如可视化展示时可将数据库中的环境信息经过查询后返回给应用层展示
........
第三章 基于 4G 果园环境监测数据实时上传的实现.............................................12
3.1 设备选取及申请云平台..................................................................................12
3.2 设备上传数据配置..........................................................................................12
3.3 云平台数据库建表..........................................................................................13
3.4 云平台监测数据数据库配置..........................................................................13
3.5 本章小结 ...........................................................................................................14
第四章 果园环境监测与报警系统概要设计............................................................15
4.1 系统概述..........................................................................................................15
4.2 系统功能设计..................................................................................................15
第五章 果园环境监测与报警系统详细设计与实现..............................................19
5.1 总体实现架构设计..........................................................................................19
5.2 用户管理模块..................................................................................................19
5.3 数据可视化模块..............................................................................................24
........
第五章 果园环境监测与报警系统详细设计与实现
5.1 总体实现架构设计
为实现系统功能,结合模块化的软件工程思想,按照 Struts2 MVC 架构,结合三大模块概要设计,降低开发复杂度,做到更大程度上的逻辑上清晰、透明,代码层面上可读性、复用性,本系统将三大模块抽象为三层结构,分别是用户访问层、业务逻辑层、数据处理层。分层的架构使得系统开发更有条理,不同的层完成对应不同的工作,逻辑简单清晰,同时也方便后期系统的扩展和维护,降低系统后期维护成本。(1)用户访问层:该层主要面向用户,为用户提供友好的展示界面,用户通过点击界面不同按钮将用户的行为传导到业务逻辑层。(2)业务逻辑层:该层主要接受用户的操作,主要由 StrutsAction 类负责接收用户动作,并负责将不同的动作转至不同的实现方法去完成。作为核心的中间转发层,该层还负责接收数据处理层返回的结果,并将结果反馈给用户访问层。(3)数据处理层:该层处于最底层,直接与数据库交互,主要由 StrutsActionDao 类实现,系统所有的数据获取均由该层的方法处理并提供,该层提供了若干种数据库访问接口,如 insert、update、delete 等操作。
5.2 用户管理模块
Fig.5-2 Add user class demonstration由上图可以看出,以新增用户为例,当用户在用户访问层点击新增按钮时,将由业务逻辑层的 UserAction 类负责处理,此时 UserAction 类将调用自身的 add方法实现增加用户的操作,add 方法中将用户界面输入的用户名,密码等参数接收到,执行新增用户之前,业务逻辑层还需要确认该用户是否已经存在,这时需要调用数据处理层的 User Query Dao 类去检查用户是否存在,如系统中已存在该用户,则返回页面端提示用户;用户不存在时,则应把用户新增到数据库,此时又将这些用户名密码等参数传递给数据处理层的 UserUpdateDao 类,UserUpdateDao 类负责将此用户插入到数据库用户表中,操作成功则将结果返回给业务逻辑层,业务逻辑层再将结果返回给用户访问层,提示用户添加成功,反之如果添加失败,则用户(用户访问层)会收到业务逻辑层返回的报错提示信息。
......
全文总结
利用亚马逊 Amazon EC2 云平台,并基于 4G 通信网络将环境监测数据实现实时上传,并保存至数据库中,完成了数据采集层的主要工作,为接下来的实时报警做铺垫,接着又进行了果园环境监测与报警系统的设计和系统功能设计,按照软件工程的思想,把整个系统划分了用户管理模块、数据可视化模块及实时报警三大模块,经测试,实时上传结果符合预期。以 JAVA WEB 技术为基础,采取面向对象的开发方式,以 Eclipse 为开发工具,My SQL 为服务器数据库,JAVA 为软件开发语言进行开发实现,将用户管理模块、数据可视化模块按照用户访问层、业务逻辑层、数据处理层的分层实现的思路进行了具体功能实现,实时报警模块利用了多线程技术实现,并对主要功能进行了演示,每个模块的核心代码进行了展示。最后对果园环境监测数据实时上传的稳定性及报警的及时性做了测试。系统经过测试,基本符合最初设计要求。在以后实时报警方面基本可以满足需求,可在生产中进行推广。
参考文献(略)