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("数据库连接失败");}}
}
系统设计
登录模块:
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所示。
5.2 土地信息
用户登录系统点击“农场管理”按钮,进入土地信息列表,在该界面可以看到土地的相关信息,还可以导出数据。土地信息如图5-2所示。
5.3 环境监控
用户可以查看每一块土地的环境监控,也可以在该界面导出环境监控信息,环境监控如图5-3所示。
5.4 监控管理
管理员登录系统之后可以对监控信息进行管理,可以新增监控的土地区域和监控机器,编辑和删除监控信息。监控管理界面如图5-4所示。
5.5 预警管理
管理员可以查看每块土地的状态,出现预警状况会显示警告状态。预警管理界面如图5-5所示。
5.6 数据分析
管理员可以查看农场每一块土地的数据分析,也可以新增和删除。数据分析如图5-6所示。
开发环境
开发工具:idea、Navicat
数据库:MySQL8.0
环境配置:jdk1.8 、Tomcat8.5
开发人员:IT012201
相关文章:

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

数据结构和算法——用C语言实现所有图状结构及相关算法
文章目录 前言图的基本概念图的存储方式邻接矩阵邻接表十字链表临界多重表 图的遍历最小生成树普里姆算法(Prim)克鲁斯卡尔算法(Kruskal) 最短路径BFS求最短路径迪杰斯特拉算法(Dijkstra)弗洛伊德算法&…...
JavaScript一些数据类型介绍
JavaScript一些数据类型介绍 1)数字类型(Number):可以表示整数和浮点数,例如:42、3.14159。 var x 42; // x 的类型是 Number var y 3.14159; // y 的类型是 Number2)字符串类型(…...
正向代理和反向代理与负载均衡
自存用 什么是反向代理,反向代理与正向代理的区别 一文帮你梳理清楚「正向代理和反向代理的区别与联系」 什么是反向代理服务器 正向代理为用户服务,给用户换个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,\} 其前面的字符出…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...

九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...

Linux部署私有文件管理系统MinIO
最近需要用到一个文件管理服务,但是又不想花钱,所以就想着自己搭建一个,刚好我们用的一个开源框架已经集成了MinIO,所以就选了这个 我这边对文件服务性能要求不是太高,单机版就可以 安装非常简单,几个命令就…...
HTML前端开发:JavaScript 获取元素方法详解
作为前端开发者,高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法,分为两大系列: 一、getElementBy... 系列 传统方法,直接通过 DOM 接口访问,返回动态集合(元素变化会实时更新)。…...