物联网的智能农业监测系统毕业论文_图文

导读:智能监测处理中心对传感器上传的感知数据进行了不同功能的曲线绘制,用户不仅可以对不同位置、不同时刻的传感器节点监测到的环境参数进行查询,5.3智能监测处理中心前台界面设计,系统的前台界面是用户与系统传递和交换信息的媒介,是在B/S(Browser/Server)模式下用户与系统交互的重要部分,本系统的前台界面采用动态Web设计,本系统的主要界面为登录界面、主界面和数据管理界面,该界面是用户进入到

物联网的智能农业监测系统毕业论文_图文

更直观的了解农田环境参数变化对农作物生长的影响,为科学种植提供依据,智能监测处理中心对传感器上传的感知数据进行了不同功能的曲线绘制,用户不仅可以对不同位置、不同时刻的传感器节点监测到的环境参数进行查询,还可以通过与阑值曲线的对比了解农作物周围的环境情况。

当用户递交查询数据的命令后,程序根据用户递交的查询命令,通过JSP对MYSQL数据库进行操作后再将信息解析给客户端,获得环境参数的数据同时也可以使用Jfreechart组件绘制实时的动态曲线图,该曲线对某个传感器节点或者多个传感器节点的环境参数采集值进行描点划线显示。

5. 3智能监测处理中心前台界面设计

系统的前台界面是用户与系统传递和交换信息的媒介,是在B/S (Browser/Server)模式下用户与系统交互的重要部分,通过界面设计,不仅能让用户明白功能操作,迅速的完成信息输入、控制操纵和查询等操作,同时可以将作品本身的信息更加顺畅的传递给用户,提高工作效率。本系统的前台界面采用动态Web设计,动态Web最大的特点是交互性,即服务器会自动根据用户的不同请求显示不同的结果。根据功能实现的不同,本系统的主要界面为登录界面、主界面和数据管理界面。

5. 3. 1登录界面

在所有界面设计中,登录界面最先完成,该界面是用户进入到智能监测处理中心后最先看到的界面,在该界面中,用户可以根据已经注册的账号和密码进行登录操作。如果用户要完成登录操作,一定要有一个表单页,此页面可以输入用户的登录ID和密码,然后将这些信息提交到一个验证的JSP页面上进行数据库的操作验证,如果可以查询到用户名和密码,那么就表示该用户是合法用户,则可以跳转到登录成功页,显示欢迎信息、:如果没有查询到,则表示该用户不是合法用户,应该跳转到错误页进行提示。登录操作流程图如图5.3所示。

- 45 -

5. 3. 2主界面

用户登录成功以后,就会进入到系统的主界面。系统主界面如图5.4所示。智能监测处理中心的用户管理、参数管理、节点管理与数据管理功能均在主界面中得到体现,除此之外,主界面中还包括了对本系统的版权声明和系统使用说明。

- 46 -

在主页面中,向各个功能页面的成功跳转具有非常重要的意义,是实现监测软件的前提,本系统采用如下代码进行实现:

<center><hl><a href--"a_data_ manage.jsp" class="left-font03" onClick=

"window.location.reload('a_data- manage.jsp');">数据管理</a></h 1 ></center> window.location.reload()用于完成页面的重定向,onClick是Javascript的常用事件,此事件主要是在单击某一个控件时触发。上述代码,在重定向的基础上添加了一个单击事件,页面运行后,单击“数据管理”控件即可触发onClick事件,完成页面的重定向,自动跳转到“a_ data- manage.jsp”即数据管理页面。

5. 3. 3数据管理界面

数据管理实现了本系统最重要的功能,对影响农作物生长的温度、湿度、光照强度、二氧化碳浓度等环境参数在上位机进行存储和分析,准确地为用户提供农作物生长环境的实时信息和历史数据,为科学研究和决策提供全面的参考。数

- 47 -

据管理界面的主要功能是数据显示,显示数据的历史记录和当前的实时曲线。

(1)历史数据显示

无线传感器数据采集网络上传的感知数据要传到后台的数据库中进行存储,这样就可以方便用户了解一段时间内农作物环境参数的变化从而分析得到环境参数的变化对农作物生长的影响。从数据库中读取数据的历史记录并进行页面显示的代码如下:

sql l="SELECT id,addr,temp,hum,light,car FROM czdata";

sq12="SELECT id,addr,temp,hum,light,car FROM czdata WHERE addr LIKE?”;

try { cone=DriverManager.getConnection(DBURL, DBUSER, DBPASS); pstmt=conn.prepareStatement(sql l):

rs=pstmt.executeQuery();

while (rs.next()){

keyword=rs.getString(2);}

pstmt=conn.prepareStatement(sq12);

pstmt.setString(1,”%”+keyword+”%”);

rrs=pstmt.executeQuery();

while (rrs.next()){

int id=rrs.getInt(1);

String addr=rrs.getString(2);

String temp=rrs.getString(3 );

String hum=rrs. getString(4);

String light=rrs.getString(S);

String car=rrs.getString6);

catch (Exception e)笼System.out.println(e);}

从代码中可以看到,要完成数据历史记录的读取,首先要进行数据库的连接,数据库连接成功以后,才可以进行数据的查询,查询语句是将数据库中的查询结果返回到内存中,所以xx.next()的作用是将返回的结果依次判断,如有结果,则使用getStringXxx()语句的形式将内容取出。程序中,rs.next()作为第一次查询,

- 48 -

五星文库wxphp.com包含总结汇报、外语学习、行业论文、旅游景点、文档下载、教学研究、专业文献、办公文档以及物联网的智能农业监测系统毕业论文_图文等内容。

本文共19页1<<11121314151617>>19