当前位置:首页 期刊杂志

基于Spark平台的农作物施氮量信息采集系统设计

时间:2024-05-04

姜艳萍

(吉林农业大学信息技术学院,吉林长春130000)

0 引 言

氮素肥料是农作物成长中必不可少的营养元素之一,尤其在调节农作物花量及农作物杂交制种过程中发挥着更为重要的作用[1-2]。每一种农作物不同生长阶段对于氮肥的需求量都不同,因此对于农作物而言,不同生长期内氮素肥料的使用量有着严格的标准和要求,氮素肥料施用量过高或过低都会影响到农作物的产量,对农作物的成长阶段信息和施氮量信息的采集与控制至关重要[3-4]。而当前对于农作物施氮量信息的确定以专家采样的方式为主,效率低下、成本较高[5-6],而且对于农作物施氮量信息仅能够确定一个大致范围,不能够精确到一点。为准确地把握农作物生长周期范围内的施氮量信息,本文设计一种基于Spark平台的农作物施氮量信息采集系统,采用更加智能化的方式确定出农作物在不同成长期内的氮素肥料需用量。Spark 平台在处理海量大数据中具有显著优势,在数据处理中,Spark 平台除了具有Hadoop 平台强大的并行计算能力之外[7-9],在数据的优化迭代和全局寻优方面具有更大的优势,还能够将采集到的信息暂时存储于自带的内存系统中。在确定农作物的施氮量过程中,要对农作物的生长情况、植株密度等信息做复杂的大数据分析和运算,能够保证施氮量的控制精度。本文基于Spark 平台框架设计了施氮量采集系统的硬件部分和软件算法实现流程,并通过实验验证了系统的适用性和有效性。

1 基于Spark平台的施氮量信息采集系统总体框架设计

Spark 云计算平台在海量农作物施氮量信息处理中具有明显的优势,但平台在投入使用前需要按照数据并行计算的要求调整Hadoop 网络的总体拓扑结构,以及云平台的各类关键参数,以提高平台的总体性能、数据的并行计算能力和计划指令的执行能力[10-11]。在采集系统总体结构设计中,系统将农作物生长阶段的Stream 数据按时间维度分成若干部分,这种数据处理方式除了具有较强的逻辑计算能力之外,在批量数据处理时效率更高。为适用多场合的数据挖掘和分析应用,基于Spark云平台的信息采集系统在硬件设计与程序设计中,都引入了序列化的数据加载机制,也可以在Java 虚拟机上单独运行[12-13],提高系统运行的灵活性。基于Spark 云计算平台的农作物施氮量数据采集系统的总体架构如图1所示。

图1 基于Spark 平台信息采集系统总体架构Fig.1 Overall architecture of information acquisition system based on Spark platform

Spark 平台是在Hadoop 平台基础上研发的功能更为完善的大数据分析平台,基于弹性分布式数据处理理念,可以将采集到的农作物施氮量信息临时存储于采集系统的工作模块中,而不再需要进行复杂的I/O 重复操作,从而强化了数据的迭代泛化能力,提高了对农作物信息采集的精度和分析能力。

2 信息采集系统硬件设计

基于Spark 平台设计的农作物施氮量采集系统的信息采集主控模块与多个工作模块的硬件配置相同,相对于工作模块而言,主动模块MCU 的主频更高,同时内存也更大。每一个工作模块子系统的硬件部分都以MCU主动单元为核心模块,选用意法半导体的STM32F103型号芯片。其他硬件模块包括电源管理模块、无线通信模块、RS 485 通行性串行接口、能够外接SD 卡的数据存储模块及农作物施氮量采集信息显示模块。MCU 直接与无线数据传输模块连接,无线数据传输模块内有双频D-GPS 定位功能,能够判定农作物信息采集系统的具体位置,并通过无线传输网络将采集到的信息传递给主控模块。采集到的农作物信息通过无线网络传输给MCU单元后,系统具有数据信息分析处理功能和数据存储功能,如果数据存储模块的内存空间不足,可以通过外置SD 卡的形式提高存储模块的容量。由于采用了通用型的接口,在设备安装时可以实现免驱动安装,更适合户外作业的复杂情况。MCU 主控芯片的接口类型为RS 485,通过485 主线与无线通信模块、电源管理模块、数据存储模块及显示模块连接,分析处理后农作物施氮量数据通过显示模块输出。硬件系统在使用前通过指定的无线网络协议将采集要求发送到服务器系统,开始设定MCU 主动芯片的各种参数、服务器地址、接收信息的时间间隔等信息,使系统进入待工作状态,系统硬件的总体构成如图2 所示。

图2 农作物施氮量信息采集系统工作模块硬件构成Fig.2 Hardware structure of working module of crop nitrogen application information acquisition system

基于Spark 平台农作物施氮量信息采集子工作系统采用分布式的拓扑结构,子系统之间通过无线网络可以建立连接,每一个子系统都与主控系统连接。每一个子系统内部的功能模块以MCU 单元为中心通过485 总线连接为一个整体,其中MCU STM32F103 型主控芯片是整个子系统的核心部分,为了控制子系统芯片的采购成本,芯片主频要略低于主控芯片。通用型STM32F103主控芯片的部分电路结构如图3 所示。

为灵活配置MCU 芯片电路中的各种参数,技术人员需要根据主控芯片的参数配置需求,调整其他模块的参数。主控芯片上的连接电路主要包括RS 485 主线的显示电路、拓展FLASH 电路和显示模块电路。为保证芯片电压和电流的稳定性,RS 485 主线接口都采用了高安全性的兼容接口,具有数据传输效率高、抗干扰能力强的特点。农作物施氮量信息采集系统的RS 485 主线接口电路结构如图4 所示。

图3 MCU 主动芯片的电路图Fig.3 Circuit diagram of MCU active chip

图4 RS 485 主线接口电路结构Fig.4 Circuit structure of RS 485 main line interface

农作物施氮量信息采集系统的无线数据传输模块部分采用了美国高通公司最新的无线传输协议,该模块内置了GPRS 功能和EDGE 功能,也可以利用4G 网络进行数据传输。无线传输模块采用MINIRS485 主线接口支持信息发送与信息接收的合并技术,实现传输信号的无断点传输,可以有效降低信息采集和传输中的误码率。相对于传统的Hadoop 平台,基于Spark平台的农作物施氮量信息采集系统的主控模块和子系统模块内部都集成了数据存储功能,防止由于数据传输不及时而导致采集数据丢失。由于信息采集系统的空间限制不能够安装过大的存储装置,数据存储模块可以外接SD卡并可以实现免驱动安装,数据存储模块的使用寿命及其接口的使用寿命可长达10 年,可以反复读写数据5 万次。农作物施氮量信息采集系统的显示器模块采用JDI 公司的LCD 显示屏,由于LCD 显示屏在强光下能够激发出更高的亮度,且寿命长于LED 显示屏,屏幕的尺寸为10.5 寸。采集系统的显示器模块电压输出采用3.6 V直流供电,以保证显示模块的稳定性。信息采集系统显示器模块也通过485 总线与STM32F103 型主控芯片连接,显示模块的基础性电路结构如图5 所示。

图5 显示器模块的电路结构Fig.5 Circuit structure of display module

对整个信息采集系统的电路工作情况及模块的功能性进行系统分析和检验,并调整和验证各主要功能模块的PTB 连接情况。为了保证系统硬件部分功能的完整性,同时还要对除MCU 芯片之外的其他模块的参数进行验证,特别是要防止农作物信息传输时产生过多的电磁干扰,影响信息采集的准确性。在完成农作物施氮量信息采集系统硬件设计的基础上,再基于Spark 平台设计各功能模块的工作流程。

3 农作物施氮量采集系统的软件实现流程

Spark 平台下农作物施氮量采集系统总体功能的实现流程包括农作物信息的采集与实时监测、农作物施氮量监测数据的分析与处理及数据库管理。其中,信息的采集与监测流程是系统最重要的子程序,信息的采集与检测流程如图6 所示。

图6 农作物施氮量信息采集程序Fig.6 Procedure for information acquisition of crop nitrogen application

采集程序开始执行后先将模块程序初始化,并根据不同的采集需求、农作物类别、植株密度等调整好采集模块的参数。系统管理输出登录账号和密码进行系统登录,如果采集子系统的登录信息不正确直接结束程序。位于终端的工作模块可以被均匀地布置在待检测的农作物区域,为保持监测数据的准确性,可以分时段进行多次采样并取平均值。由于工作模块也内置MCU单元,因此系统在采样的同时还能够对同一区域的冗余干扰数据进行监测,并将有用的数据通过无线网络传递给系统的主控模块。根据采集区域的面积可以布置多个工作模块,每一个模块都有其固定的工作半径范围,如果超出半径范围,数量采集的精度将会降低。系统在进行无限传输之前需要确定能否对采集到的样本数据进行无线传输,若无线网络连接较好,则直接通过无线网络进行采集数据的传输;若户外环境的网络条件较差,则需要先将采集到的数据存储于工作子系统的数据存储模块中,如果数据包过大还可以通过外接的SD 卡扩容。如果在网络环境较差的条件下传输采集到的数据可能会导致关键数据的丢失。

农作物施氮量采集数据的分析与处理程序主要是对一定采集周期内的数据进行汇总和分析,数据监测的目的是保证采集数据的一致性和准确性。系统管理员按照系统界面的提示要求,可以选择实时数据监测或数据刷新,将分析处理完毕的原始农作物施氮量数据输入数据库系统。信息采集系统自带数据库功能,数据库分类储存每一种农作物在不同生长周期内所需要的氮肥标准指标,并以对象为基础性的分类标准,对采集到的实时数据进行筛选和比对。信息采集系统的数据库是一种面向对象而动态调整的数据库,基于被监测农作物的种类和对象的特征数据,准确识别出农作物生长阶段中的标准施氮量。信息采集系统中每一个工作模块都能够临时存储采集数据,但由于系统自带存储模块空间有限,应在一定时间内将全部数据导入数据库,以实现对农作物施氮量信息的横向对比。考虑到采集系统构建的成本控制问题,本文选用了维护费用更低的MySQL 型数据库,提拱了更多种类的表格样式,也能够通过表达之间的通用字段,实现对关键农作物信息的串联查找,操作更为便捷。MySQL 型数据库中所包括的数据表类型如表1 所示。

数据库模块及数据库表的设计以满足农作物施氮量采集系统的需求为最终目的,字段的长度及表格的样式都具有很大的弹性,可以针对用户的需求对表格之间的关系、查询方式、搜索方式与连接方式做出任意的调整。例如,可以根据采集片区的大小,增大或缩减数据库的规模。在主控程序的执行方面,本文设计采集系统软件实现流程具有操作简单、易用的特点,按照系统界面的信息提示,用户可以选择开始采集、数据监测等功能,系统的LCD 显示模块提供实时的采集结果显示;采集到的农作物数据资料都保留有时间戳,用户输入查询条件后,可以在数据库中查询到一段时间内农作物施氮量的详细记录,为使用者的决策提供数据上的支持。本文详尽分析和阐述了基于Spark平台的农作物施氮量信息采集系统的硬件构成与软件实现流程,为检测信息采集系统的实际应用效果,进行了一组信息采集测试,并提取了相关的农作物施氮量采集与监测数据。

表1 信息采集系统数据库表类别Table 1 Database table categories of information acquisition system

4 系统测试与应用效果分析

4.1 系统的安全性及兼容性测试

由于农作物施氮量信息采集系统的数据传输采用了无线远程传输方式,需要先对无线网络传输的安全性进行检测,防止在农作物施氮量采集数据的传输中被入侵,或由于环境干扰和电磁干扰而导致关键数据的丢失。本文无线传输协议按照IEEE 802.11b 局域网标准执行,对系统硬件的无线传输模块、基带版本、软件运行程序进行全方位的测试与检验。为保证系统的安全性,全部测试模块都进行加密处理,系统管理员也采用账号密码的方式登录;此外,在查询数据的提取与SQL 服务语句的使用方面,也需要先登录再操作;上传数据或采用外接设备连接时都需要进行数据扫描或登录验证。

兼容性测试包括硬件模块之间的兼容性检测、接口及RS 485 总线的兼容性检测和软硬件之间的兼容性检测。主控模块与子模块之间的硬件配置相同、无限网络传输协议也相同,提高了系统模块之间的兼容性。数据采集系统主服务器与子服务器、Web 服务器之间的通信协议也需要采用同一标准,浏览器的版本需要选用IE9.0 以上的版本,进一步提高系统兼容性。系统的测试环境与需要的设备数量如表2 所示。

表2 系统测试环境与设备Table 2 Testing environments and equipments of system

4.2 采集系统应用效果分析

以水稻的施氮量信息采集过程为例,采样周期为24 h,每半小时进行一次检测。本文设计的农作物施氮量信息检测信息采集系统在不同时段内的响应时间如图7 所示。

图7 本文设计系统24 h 的数据采集响应时间Fig.7 Data acquisition response time in 24 hours of the system designed in this paper

本文基于Spark平台的信息采集系统在白天时段的系统响应时间基本上能够控制在10 s 之内,仅在17:30的时段出现过一次响应波动;而在夜间采集时段由于夜视环境下能见度较低,各时段的平均信息采集响应时间维持在20.5 s,高于白天时段,但总体的稳定性表现良好。传统农作物施氮量信息采集系统的响应时间如图8所示,日间时段的平均采集响应时间超过了30 s,这主要是由于人工采样的时间较长,从采样现场到主动中心的数据无线传输效率也低于本文系统。而在夜间时间信息采集系统的响应时间呈现出了锯齿形的剧烈波动,表明采集系统在夜间连续信息采集方面表现较差,由于系统信息采集响应时间的不稳定,也会直接导致采样数据不准确。

农作物施氮量信息采集的最终目的是按照科学的标准准确地管理不同阶段农作物的施肥量,以更好地保证农作物的生长。本文实验选取了10 个不同的水稻种植区域,考量应用本文农作物施氮量信息采集系统后,水稻农作物的亩产情况及氮肥的使用成本变化情况统计结果如表3 所示。

图8 传统人工采样系统下数据采集的响应时间Fig.8 Response time of data acquisition of traditional manual sampling system

表3 水稻农作物相关指标统计表Table 3 Statistical tables of related indicators of rice crop

由于农作物在不同生长阶段的生长习性不同,施氮量也并非越多越好,因此应基于农作物的生长状况信息科学地制定施氮量标准。从上述10 个不同的水稻种植区域的产量情况来分析,采用基于Spark平台的信息采集系统控制施氮量,对于作物的生长与产量提升具有明显的推动作用,亩产量均超过了平均亩产标准,同时氮肥使用量也有所减少,降低了农作肥料成本,同时提高了农作物种植的经济效益。

5 结 论

采用更为科学的方式种植经济作物,并利用计算机网络系统和现代电子技术控制作物的生长,已经成为现代农业发展的主要趋势之一。本文基于Spark 开发平台设计了一种农作物施氮量信息采集系统,能够更科学地掌握农作物的生长习性并更加合理地使用氮肥,从而达到事半功倍的效果。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!