农业机械作业远程监测系统的研究及应用
2023-01-09吕玉英
吕玉英
(青岛市技师学院,山东 青岛 266000)
针对目前农场管理中存在的农机作业监测信息化程度较低、作业面积计算的准确性较差、管理模式与监测方法难以满足不同农场多样化需求等问题,农机作业远程监测系统将物联网技术、云计算技术等应用到农场管理中,能够获取农机的作业信息以及土壤、气候的实时动态,为农场各项决策提供了精确的信息服务,实现了农机作业的全过程可视化监测,促进了我国农场信息化发展,有效提高了农业质量和竞争力[1]。
1 农机作业远程监测系统的需求分析
1.1 系统功能需求
农机作业远程监测系统需要获取作业中农机、监测设备、人员以及地块的基本信息,需要将农机的作业点、作业轨迹等相关信息展示在监测系统的显示器上。因此,系统需要支持农机作业相关数据的回放、查看及导出功能,以便作业者能够通过监测系统获取农机的作业情况。此外,远程监测系统需要拥有强大的分析功能,能够对农机的作业数据进行实时统计,并支持按照作业时间、作业区域等属性,查询农机的各项作业数据[2]。远程监测系统还需要同时开发个性化功能模块,以提高监测系统和农场管理的统一性。
1.2 系统数据需求
农机作业远程监测系统中的数据由基本信息和设备信息组成,管理员负责向远程监测系统录入基本信息,包括车辆、机具、监测设备、监测终端等,监测终端与农机绑定就可以将车辆的作业信息上传至监测系统。监测系统需要满足可靠性、安全性、快速性及可拓展性等非功能性需求。可靠性是指当设备发生故障或意外断电时,要确保先前保存的信息不会丢失,同时对异常数据或异常操作给予一定的提示。安全性是指系统需要在用户权限、数据备份等方面确保数据库的网络安全性[3]。快速性是指监测系统还需要有较快的响应速度,尤其是在农机同时作业的季节,需要满足较大体量的机械监测工作。可拓展性是指监测系统需要尽可能去满足不同农场的不同需求[4]。
1.3 系统开发工具
农机作业远程监测系统可使用的服务器包括Linux、UNIX等,可选择开源免费且拥有较高安全性和稳定性的Linux系统,选用云服务器,可以提高云计算平台的稳定性,满足系统数据的备份、储存与计算等功能,且维护成本较低[5]。选择Java语言进行监测系统的开发,在网络通信中能够实现客户端和服务端之间的通信,通过JDK NIO的通信框架进行开发,采用启动端口与传感器数据端口一致的线程,创建两个线程组用于客户端接收、注册以及客户端发送数据的处理,创建辅助工具类ServerBootstrap对象及用于数据处理类的ChaannelInitializer,最终绑定端口[6]。由于农机作业远程监测系统需要建立在地理空间要素分析的基础上,所以选择PostgreSQL作为数据库,通过PostGIS插件实现各项空间操作功能。
2 农机作业远程监测系统的总体设计
2.1 系统架构
为满足农机作业远程监测工作的各项需求,可将远程监测系统划分为感知层、网络网、数据层、应用层以及展示层。远程监测系统的感知层对安装在农机上的传感器中的作业信息进行采集和传输;网络层获取感知层发送的信息并通过无线网络传输至数据通信系统;数据层在其中起到对传感器采集的数据进行储存和管理的作用;应用层根据管理人员提出的业务需求,形成相应的数据分析和处理接口;展示层向管理人员展示系统界面,显示农机作业轨迹、油耗情况等相关信息,支持通过地图、表格等多种形式显示图像和数据分析结果,并能够为管理人员提供数据操作功能。农机作业远程监测系统组成如图1所示。
图1 农机作业远程监测系统组成图
2.2 系统功能模块
1)基本信息模块。基本信息模块具有显示人员管理、物品管理以及其他管理的相关功能。人员管理记录农机作业员的相关信息,物品管理包括农机管理、地块管理、出入库管理、终端绑定等,其他管理模块为管理人员提供农机的维修、加油等记录[7]。
2)任务管理模块。任务管理模块中能够显示作业任务,提供农机、地块、任务的信息查找功能。
3)作业管理模块。作业管理模块能够向管理人员展示农机作业的具体情况以及作业轨迹,统计农机作业的面积,并支持在地图上查看和回放作业轨迹,显示先前作业的轨迹和区域,避免重复作业。
4)统计分析模块。统计分析模块对车辆作业情况、出入库情况、温湿度、油耗情况等数据进行统计。
5)系统管理模块。系统管理模块负责建立管理员系统,并对农场中不同角色的作业人员匹配相应的权限,同时管理传感器、摄像头等第三方设备。传感器分为深度传感器和辅助传感器两类,其工作流程分别如图2、图3所示。
图2 深度传感器工作流程图
图3 辅助传感器工作流程图
2.3 数据库设计
采用主从数据库结构,建立备用数据库,当主数据库服务器访问失败时,自动切换至备用数据库工作。创建数据库表,包括农场表、人员表、登录用户表、角色功能模块关系表、农机表、监测终端表、绑定的设备表、地块表、任务表、农机作业日报表、农机出入库表、油耗信息表、第三方传感器表、温湿度信息表等。
3 农机作业远程监测系统的测试
系统测试分为系统的功能测试以及性能测试,确保系统功能的准确性和完善性、系统响应速度的高效性和系统的健壮性。农机远程监测系统采用B/S结构,部署在阿里云服务器端,进行操作系统、内存、硬盘、数据库和服务器的系统配置。
1)系统功能测试,在测试条件下,对查询、删除等接触操作进行测试,判断测试结果和预期期望是否存在差别;在一定测试条件下展示作业轨迹,进行作业面积计算,判断测试结果是否符合期望。
2)健壮性测试,需要在系统中输入异常数据或进行异常操作,对系统的保护性进行验证,看系统是否会给出异常提示,或是否会因异常操作出现崩溃;强制性使系统发生故障,重新启动后查看系统数据是否存在丢失情况,是否能够尽快修复数据。
3)响应速度测试,需要不断增加并发送请求以分析系统的平均响应时间和最长、最短的响应时间的变化,当最长响应时间小于10 s时,则表示系统响应速度良好。
4 农机作业远程监测系统的实现与应用
4.1 农机作业远程监测系统的实现
4.1.1 基本信息功能的实现
农机作业远程监测系统能够对农场作业中农机、人员、地块的信息进行管理,用户能够通过基本信息功能模块对相关信息进行查找、修改等操作。远程监测系统可实时查询农机作业速度、作业面积、作业效果等,实现作业情况的远程可视化,通过监测系统显示的农场地块信息,了解地块的编号、面积、类型等,绑定机具、监测设备以及车辆[8]。同时,可以通过农机作业远程监测系统的任务管理功能发布农场中的作业任务,交换农机、车辆与农机手等信息。此外,管理人员能够通过任务管理界面进行任务调度,查看任务分配的农机以及相应的监测终端,管理人员能够获取农机的作业状态,农机手也能够通过远程监测系统查看劳务消息。
4.1.2 作业管理
农机作业远程监测系统能够每隔数秒采集一次车辆的轨迹信息,当机具的监测终端开机时,监测系统开始记录轨迹并计算作业面积,生成作业日报。农机作业远程监测系统能够对作业中的所有车辆进行统一监测,根据监测终端的采集号识别机具,采集监测终端上传的信息并分析判断机具的作业状态,统计所有工作中的车辆,获取车辆的作业时间、轨迹信息以及在不同时间点的作业面积,生成作业报告并发送给农机手,每日更新作业日报中的作业面积。次日0点前生成前日的作业日报,可通过日报中的“轨迹”按钮,获取车辆的历史作业轨迹,并支持作业轨迹的回放功能。
4.1.3 统计分析
农机作业远程监测系统的统计分析包括对机具的出入库信息、地块温湿度、农机油耗情况以及人员和车辆的分析。提取作业的统计数据包括某范围内的作业面积和作业时长,支持分类搜索的功能,管理人员与农机手能够根据“监测设备”“作业季”等不同条件搜索农机的作业情况,查看当日的作业面积和作业时长,并获取相关信息的条形图、折线图等统计图表[9]。农机油耗统计能对农机在当前时间内的总耗油量、顺势耗油量等数据进行分析,能够提供作业面积和耗油量的对比功能,帮助农机手及时判断农机作业过程中是否存在故障问题,并为农机故障维修等工作提供故障判断的数据。温湿度趋势表采集土地和空气的温湿度,根据温湿度数据可以更科学、合理地进行灌溉和施肥作业[10]。
4.2 农机作业远程监测系统的应用
4.2.1 内蒙古某农场的应用
内蒙古某农场以小麦、大豆作为主要种植作物,除了农机作业远程监测系统本身的基本信息、系统分析等功能需求外,该农场还需获取田间作业的画面。在原监测系统设计的功能的基础上,在农机以及田间安装摄像头,通过云平台能够控制摄像头的角度以及显示画面的大小。
4.2.2 广东某农场的应用
广东某农场以甘蔗生产为主,提供甘蔗全程机械化生产服务,使用的农机数量多,在远程监测系统原有功能的基础上,着重设计农机的配件管理功能,系统可自动生成农机的出入库情况,管理人员可通过多种农机的属性查找农机的工作地点和工作面积。
5 结语
笔者对农机作业远程监测系统展开了研究,远程监测系统需要通过传感器、摄像头等设备,应用物联网技术完成对作业信息的传输,系统利用Java语言和PostgreSQL数据库开发,通过物联网技术、互联网技术等设计了农机的作业管理、数据统计分析等功能,有效调动了监测设备、农机、农机手、管理人员、地块等多个实体,满足了农场的现代化管理需求,并提高了监测系统与生产状况的适应性,促进了农机装备和农业科技的不断进步。