当前位置: 首页 > news >正文

0028Java程序设计-智能农场监控报警系统设计与实现

文章目录

    • 摘要
    • 目 录
    • 系统设计
    • 开发环境

摘要

我国是一个以农业为主的国家,在当今社会信息化迅速发展的背景下,将信息技术与农业相融合是必然的趋势。现代信息技术在农业生产中的运用,主要体现在两个领域:一是传感器技术;只要将这些传感器安装在农场内的任何一个地方,就能得到土壤的营养、湿度和温度等信息,这样就算不在农场内,农场主也能随时了解到农场的情况。随着科技的进步,规模化经营模式已被广泛应用于农业生产中,并在农业生产中发挥了重要作用。在分析了有关农业生产的数据基础上,根据本专业的计算机技术特征,开发了一个智能农场监控报警系统。该系统以MVC架构为基础,利用HTML和JavaScript技术,使农业生产由手工作业向信息化和科技化转型。本文主要实现的功能有土地管理、设备管理、监控管理、环境监控、阈值控制、预警信息和数据分析等。

关键词:智能农场监控报警系统,B/S架构,MySQL数据库

目 录

1 绪论… 1

1.1 课题背景… 1

1.2 课题意义… 1

1.3 研究现状… 2

1.4 研究内容… 2

2 相关技术… 4

2.1 MVC结构… 4

2.2 B/S架构… 4

2.3 MySQL数据库… 5

2.4 小结… 6

3 需求分析… 7

3.1 技术可行性分析… 7

3.2 经济可行性… 7

3.3 功能需求… 7

3.4 小结… 8

4 系统设计… 9

4.1 系统结构… 9

4.2 数据库设计… 9

4.2.1 数据库ER图… 9

4.2.2 数据库表设计… 10

4.3 小结… 11

5 系统的实现… 17

5.1 登录界面… 17

5.2 土地信息… 17

5.3 环境监控… 18

5.4 监控管理… 18

5.5 预警管理… 18

5.6 数据分析… 19

5.7 小结… 19

6 系统测试… 21

6.1 测试目的… 21

6.2 测试方法… 21

6.3 测试步骤… 21

6.4 测试实施… 22

6.4.1 功能测试… 22

6.4.2 性能测试… 22

6.4.3 兼容性测试… 23

6.5 小结… 23

7 总结与展望… 25

7.1 总结… 25

7.2 展望… 25

参考文献… 26

致谢… 27

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;public class DbUtil {private String dbUrl="jdbc:mysql://127.0.0.1:3306/database?serverTimezone=UTC&useSSL=false"; // 数据库连接地址private String dbUserName="root"; // 用户名private String dbPassword="123456"; // 密码private String jdbcName="com.mysql.cj.jdbc.Driver"; // 驱动名称/*** 获取数据库连接* @return* @throws Exception*/public Connection getCon(){try {Class.forName(jdbcName);} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}Connection con = null;try {con = DriverManager.getConnection(dbUrl, dbUserName, dbPassword);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return con;}/*** 关闭数据库连接* @param con* @throws Exception*/public void closeCon(Connection con)throws Exception{if(con!=null){con.close();}}public static void main(String[] args) {DbUtil dbUtil=new DbUtil();try {dbUtil.getCon();System.out.println("数据库连接成功!");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();System.out.println("数据库连接失败");}}
}

系统设计

img

登录模块:

a. 用户名和密码校验:用户输入用户名和密码,系统将用户名和密码与数据库中存储的用户信息进行比对,如果匹配成功,则允许用户登录系统,否则提示登录失败。

b. 权限控制:系统根据用户的角色和权限设置,控制用户在系统中的操作权限和访问权限。

土地管理模块:

a. 新增土地信息:管理员可以输入土地的面积、状态、所属农场等信息,将其存储到数据库中。

b. 修改土地信息:管理员可以选择需要修改的土地信息,并进行相应的修改操作。

c. 查看土地信息:管理员可以查询系统中所有的土地信息,并进行相应的查看操作。

d. 删除土地信息:管理员可以选择需要删除的土地信息,并进行相应的删除操作。

e. 导出土地信息:管理员可以将系统中的土地信息导出为Excel或PDF格式,以方便管理和分享。

设备管理模块:

a. 新增设备信息:管理员可以输入设备的类型、状态、所属土地、安装时间等信息,将其存储到数据库中。

b. 修改设备信息:管理员可以选择需要修改的设备信息,并进行相应的修改操作。

c. 查看设备信息:管理员可以查询系统中所有的设备信息,并进行相应的查看操作。

d. 删除设备信息:管理员可以选择需要删除的设备信息,并进行相应的删除操作。

e. 导出设备信息:管理员可以将系统中的设备信息导出为Excel或PDF格式,以方便管理和分享。

监控管理模块:

a. 新增监控信息:管理员可以输入监控设备、监控时间、监控结果等信息,将其存储到数据库中。

b. 修改监控信息:管理员可以选择需要修改的监控信息,并进行相应的修改操作。

c. 查看监控信息:管理员可以查询系统中所有的监控信息,并进行相应的查看操作。

d. 删除监控信息:管理员可以选择需要删除的监控信息,并进行相应的删除操作。

e. 导出监控信息:管理员可以将系统中的监控信息导出为Excel或PDF格式,以方便管理和分享。

环境监控模块:

a. 新增环境信息:管理员可以输入温度、湿度、光照等环境参数,将其存储到数据库中。

b. 修改环境信息:管理员可以选择需要修改的环境信息,并进行相应的修改操作。

c. 查看环境信息:管理员可以查询系统中所有的环境信息,并进行相应的查看操作。

d. 删除环境信息:管理员可以选择需要删除的环境信息,并进行相应的删除操作。

e. 导出环境信息:管理员可以将系统中的环境信息导出为Excel或PDF格式,以方便管理和分享。

阈值控制模块:

a. 设置阈值规则:管理员可以设置温度、湿度、光照等环境参数的阈值,将其存储到数据库中。

b. 监控阈值:系统会自动监控环境参数,当环境参数超出设定阈值时,系统会自动发出警报提醒管理员进行调整。

预警信息模块:

a. 查看预警信息:管理员可以查询系统中所有的预警信息,并进行相应的查看操作。

b. 处理预警信息:当系统发出预警信息时,管理员可以根据预警内容和类型进行相应的处理操作。

数据分析模块:

a. 分析土地信息:管理员可以对土地信息进行统计和分析,了解农场的土地利用情况和规划情况。

b. 分析设备信息:管理员可以对设备信息进行统计和分析,了解农场的设备使用情况和运行情况。

c. 分析环境信息:管理员可以对环境信息进行统计和分析,了解农场的环境状况和优化策略。

d. 分析预警信息:管理员可以对预警信息进行统计和分析,了解农场的安全状况和风险情况。

e. 导出数据分析报告:管理员可以将数据分析结果导出为Excel或PDF格式的报告,以方便管理和分享。

修改密码模块:

a. 修改密码:用户可以输入原密码和新密码,系统将新密码更新到数据库中,确保账户的安全性和保密性。

5.1 登录界面

登录角色有用户和管理员,输入对应的账号和密码可以进入相应的界面,不同身份进入系统的操作权限不一样。登录界面如图5-1所示。

img

5.2 土地信息

用户登录系统点击“农场管理”按钮,进入土地信息列表,在该界面可以看到土地的相关信息,还可以导出数据。土地信息如图5-2所示。

img

5.3 环境监控

用户可以查看每一块土地的环境监控,也可以在该界面导出环境监控信息,环境监控如图5-3所示。

img

5.4 监控管理

管理员登录系统之后可以对监控信息进行管理,可以新增监控的土地区域和监控机器,编辑和删除监控信息。监控管理界面如图5-4所示。

img

5.5 预警管理

管理员可以查看每块土地的状态,出现预警状况会显示警告状态。预警管理界面如图5-5所示。

img

5.6 数据分析

管理员可以查看农场每一块土地的数据分析,也可以新增和删除。数据分析如图5-6所示。

img

开发环境

开发工具:idea、Navicat

数据库:MySQL8.0

环境配置:jdk1.8 、Tomcat8.5

开发人员:IT012201

相关文章:

0028Java程序设计-智能农场监控报警系统设计与实现

文章目录 摘要目 录系统设计开发环境 摘要 我国是一个以农业为主的国家,在当今社会信息化迅速发展的背景下,将信息技术与农业相融合是必然的趋势。现代信息技术在农业生产中的运用,主要体现在两个领域:一是传感器技术&#xff1b…...

数据结构和算法——用C语言实现所有图状结构及相关算法

文章目录 前言图的基本概念图的存储方式邻接矩阵邻接表十字链表临界多重表 图的遍历最小生成树普里姆算法(Prim)克鲁斯卡尔算法(Kruskal) 最短路径BFS求最短路径迪杰斯特拉算法(Dijkstra)弗洛伊德算法&…...

JavaScript一些数据类型介绍

JavaScript一些数据类型介绍 1)数字类型(Number):可以表示整数和浮点数,例如:42、3.14159。 var x 42; // x 的类型是 Number var y 3.14159; // y 的类型是 Number2)字符串类型&#xff08…...

正向代理和反向代理与负载均衡

自存用 什么是反向代理,反向代理与正向代理的区别 一文帮你梳理清楚「正向代理和反向代理的区别与联系」 什么是反向代理服务器 正向代理为用户服务,给用户换个ip使其能访问其他网站 反向代理为服务器服务,使用户访问特定网站服务器。反向代…...

制造执行系统(MES)的核心功能是什么?

“一般来讲,制造执行系统(MES)的功能模块包括过程监控,质量管理,设备监控,计划执行等功能模块。” 为了深入探讨MES的核心功能,本文将从以下3个方面展开说明: 首先,从概…...

uniapp如何使用mumu模拟器

模拟器安装 下载地址:MuMu模拟器 模拟器相关设置 1.在设置-显示中选中手机版,设置手机分辨率 2.设置-关于手机-版本号快速点击,将其设置为开发者模式 3.选择多开器 4.打开hbuilderx,找到adb设置 5.配置adb路径及端口号&#x…...

【MATLAB源码-第64期】matlab基于DWA算法的机器人局部路径规划包含动态障碍物和静态障碍物。

操作环境: MATLAB 2022a 1、算法描述 动态窗口法(Dynamic Window Approach,DWA)是一种局部路径规划算法,常用于移动机器人的导航和避障。这种方法能够考虑机器人的动态约束,帮助机器人在复杂环境中安全、…...

阿里云国际版和国内版的区别是什么,为什么很多人喜欢选择国际版?

阿里云国际版和国内版区别如下: 谈到区别,我们不妨先来对比下相同点与不同点,才能清晰明确的知道二者区别 下面先介绍不同点: 面向市场更广泛 阿里云国际版主要是面向国际(全球)客户的,而国内…...

监听redis过期业务处理

配置类: package com.testimport org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CachingConfigurerSupport; import org.springframework.cache.annotation.EnableCaching; import org.springframework.c…...

计算机网络与技术——数据链路层

😊计算机网络与技术——数据链路层 🚀前言☃️基本概念🥏封装成帧🥏透明传输🥏差错检测 ☃️点对点协议PPP🥏PPP协议的特点🥏PPP协议的帧格式🔍PPP异步传输时透明传输(字…...

UE5 Android下载zip文件并解压缩到指定位置

一、下载是使用市场的免费插件 二、解压缩是使用市场的免费插件 三、Android路径问题 windows平台下使用该插件没有问题,只是在Android平台下,只有使用绝对路径才能进行解压缩,所以如何获得Android下的绝对路径?增加C文件获得And…...

CSS3盒模型

CSS3盒模型规定了网页元素的显示方式,包括大小、边框、边界和补白等概念。2015年4月,W3C的CSS工作组发布了CSS3基本用户接口模块,该模块负责控制与用户接口界面相关效果的呈现方式。 1、盒模型基础 在网页设计中,经常会听到内容…...

VINS-Mono-VIO初始化 (五:视觉惯性对齐求解)

整体思想就是根据预积分的公式,把已知量和未知量各放到一边,因为前面的数据都是变换到 c 0 c_{0} c0​下的,不是真正意义上和重力对齐的世界坐标,然后位移和速度的预积分中会用到加速度计获取的重力加速度g,但是这个重…...

详解Vue——的双向数据绑定是如何实现的?

引言 在现代的Web开发中,数据绑定是一个非常重要的概念。Vue.js是一种流行的JavaScript框架,它提供了一种简单而强大的方式来实现双向数据绑定。本文将介绍Vue的双向数据绑定原理,并提供相关代码示例。 什么是双向数据绑定? 双向…...

正则表达式引擎比较(翻译自:A comparison of regex engines)

原文: A comparison of regex engines – Rust Leipzig 引言 正则表达式(或简称regex)通常用于模式搜索算法。 有许多不同的正则表达式引擎提供不同的表达式支持、性能约束和语言绑定。 基于 John Maddock 之前的工作 (regex comparison)和…...

后端Linux软件安装大全[JDK、Tomcat、MySQL、Irzsz、Git、Maven、Redis、Nginx...持续更新中]

文章目录 前言1.软件安装方式2.安装jdk3.安装Tomcat4.安装MySQL5.安装lrzsz6. 安装Git7. 安装Maven8. 安装Redis9. 安装Nginx 总结 前言 为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新…...

C++ Dijkstra 最短路径求解算法的两种实现方案

迪杰斯特拉算法(Diikstra) 是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。 核心思想,搜索到某一个顶点后,更新与其相邻顶点的权重。顶点权重的数据含义表示从起始点到此点的最短路径长度(也就是经过的…...

因存在色情内容,夸克被罚50万元

媒体经济的繁荣、自媒体、直播等各种形式的信息传播疯狂发展,但是各种形式的信息资源大规模生产时,“色情”,“暴力”的图像和视频不可控的滋生,特别是某些 APP 或浏览器。一旦打开,满屏都是“哥哥,快来啊”…...

汽车EDI:福特Ford EDI项目案例

项目背景 福特(Ford)是世界著名的汽车品牌,为美国福特汽车公司(Ford Motor Company)旗下的众多品牌之一。此前的文章福特FORD EDI需求分析中,我们已经了解了福特Ford EDI 的大致需求,本文将会介…...

正则表达式的使用实例

正则表达式的使用实例 1- 表示2- 实例 1- 表示 1, [:digit:] 表示0-9全部十个数字 //等价于 0123456789, 而不等价于[0123456789] 2, [[:digit:]] 表示任意一个数字 \{m,n\} 表示其前面的字符出现最少m次,最多n次的情况 \{3,\} 其前面的字符出…...

centos 7 部署awstats 网站访问检测

一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes&#xff0…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...

【HTTP三个基础问题】

面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

Docker拉取MySQL后数据库连接失败的解决方案

在使用Docker部署MySQL时,拉取并启动容器后,有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致,包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因,并提供解决方案。 一、确认MySQL容器的运行状态 …...

网页端 js 读取发票里的二维码信息(图片和PDF格式)

起因 为了实现在报销流程中,发票不能重用的限制,发票上传后,希望能读出发票号,并记录发票号已用,下次不再可用于报销。 基于上面的需求,研究了OCR 的方式和读PDF的方式,实际是可行的&#xff…...

构建Docker镜像的Dockerfile文件详解

文章目录 前言Dockerfile 案例docker build1. 基本构建2. 指定 Dockerfile 路径3. 设置构建时变量4. 不使用缓存5. 删除中间容器6. 拉取最新基础镜像7. 静默输出完整示例 docker runDockerFile 入门syntax指定构造器FROM基础镜像RUN命令注释COPY复制ENV设置环境变量EXPOSE暴露端…...

【AI学习】wirelessGPT多任务无线基础模型摘要

收看了关于WirelessGPT多任务无线基础模型的演讲视频,边做一个记录。 应该说,在无线通信大模型的探索方面,有一个非常有益的尝试。 在沈学明院士带领下开展 https://www.chaspark.com/#/live/1125484184592834560...

安装最新elasticsearch-8.18.2

1.环境我的环境是linux麒麟服务器 (安装 es 7.8以上 java环境必须11以上,可以单独配置es的java目录) 2.下载 官网的地址:下载 Elastic 产品 | Elastic Download Elasticsearch | Elastic Elasticsearch 入门 | Elasticsearch 中文文档 文档 3.我下载的是8.18的 Elasti…...