刘智臣
(湖南生物机电职业技术学院,湖南 长沙 410000)
随着农业信息化的发展,现代信息技术的应用已涵盖农业生产各个环节,逐步呈现农业生产平台化、农业资源共享化、农业业务协同化等特点,并产生了一些新模态的数字农业,围绕数字农业的建设是近年农业发展的重要课题。因此,建立农业基础数据平台,加强数字技术与农业生产、经营、服务等体系的深度融合,需要借助新技术。在此背景下,农业大数据技术逐步进入农业大舞台,它能更好地利用农业数字资源,助力数字农业建设,促进现代高效农业的发展[1-2]。
采集农业基础数据是一项比较困难的工作,因为农业数据包含面广、数据源繁多,不仅包括农业生产、科技信息、农机装备、市场供需、气象灾害、病虫害防疫防治、价格变化等一系列变动数据,还包括农作物生长所特有的数据,因此农业基础数据具有区域性、多样性、差异性、动态性、不确定性等特点。由于农业生态数据的采集需要贯穿于农业生产链全过程中,因此面对大量的连续的结构和非结构化的数据,如何快速获取、准确提炼、深入挖掘、安全存储等问题需要被解决。另外,如何对获取的农业生产相关的环境、设施等数据进行关联性分析,构建与自然灾害、环境、气候等因素相关的预警系统,加强农业数据的管理、动态监控与分析,为农业生产者提供基于市场分析、风险规避的最佳生产指导方案,这些问题的解决均需要构建稳定有效的技术平台支撑。
基于此,本文提出一种农业大数据生产决策系统,它通过物联网采集各类农业生产相关的数据[3-4],可对数据进行存储及关联性分析[5],从而应用于农业生产,为农业生产者提供生产指导或方案。
系统总体目标是构建一个数据平台,能够持续采集农业生产各个环节的基础数据,并提供外部数据指令或数据,进行关联性分析。数据可以进行实时分析,也可以存储起来,用于以后分析处理。系统由采集子系统、存储子系统和处理子系统三部分组成,其中,采集子系统用来获取农业生产各个环节的基础数据,存储子系统用来存储农业基础数据,处理子系统用来清洗、分析和处理数据,并给出生产指导。系统总体设计如图1所示。
图1 决策系统总体设计
采集子系统通过传感器模块获取外部数据源的数据,并将数据进行格式转换后,再由传输控制模块通过网络,传送到存储子系统;存储子系统通过存储控制模块将数据存放到外部存储设备,也可以通过传输控制模块将数据直接传送给处理子系统;处理子系统接收到这些数据后,会进行关联性分析,在分析过程中仍然可以接收其他输入数据,以便进行进一步的关联性综合分析;综合分析得到的结果通过可视化模块展现在人机交互界面上;用户通过人机交互界面获得相关农业生产指导信息。
采集子系统用来捕获外部数据,这些数据主要包括农业生产相关的环境、设备等数据。由于农业生产数据范围比较广,而且环境复杂,因此系统采用基于Zigbee的物联网技术实现数据采集。物联网数据采集子系统的具体构建如图2所示。由于Zigbee网络具有多跳、无中心、自组织的特点,可用于构建农业生产环境下的数据采集网络,因此采集子系统使用Zigbee模块互联各个采集节点,再利用STM32处理器作为采集节点的控制器。STM32功能强大,能够外接如温湿度、红外、超声、RFID等多种传感器[6-7],并内置了Zigbee无线传输模块。在实际应用中,可根据农业数据采集区域的大小,设置不同数目的Zigbee采集节点。
图2 数据采集子系统设计
采集节点通过Zigbee互联,最终将数据传送给汇聚节点。汇聚节点使用ARM处理器实现传输相关的功能,包括网关的协议转换功能,因此需要将Zigbee协议与其他无线协议进行转换。汇聚节点通过无线传输模块连接到互联网,无线传输模块可以选择WIFI或者2G/3G/4G/5G等模块,通过这些设计实现,农业数据将被采集上传到互联网。
数据采集完成后需要存放到存储子系统,存储子系统最好单独构建,这样有利于实现大数据的分析处理。在构建存储子系统时,可以搭建Hadoop集群采用分布式存储系统[8-9],后续使用spark、python技术完成数据的分析处理;或者也可以直接采用商用化的存储系统,如阿里云,这样不仅能专注于开发自己的数据分析系统,还能降低成本并简化数据存储搭建工作;因此,存储子系统采用了基于阿里云平台的存储服务方案。
数据存储子系统通过存储控制模块将采集的数据按照指定格式存入存储设备,数据采集子系统与存储子系统通过传输控制模块互联,处理子系统通过传输控制模块与存储子系统进行数据交互,存储控制模块可将存储设备中的数据提供给处理子系统用于数据分析和处理。
数据处理子系统通过传输控制模块从数据存储子系统获得标记后的数据,可对它们进行分析处理,通过可视化模块将处理结果展现在人机交互界面上。数据分析模块除了使用存储设备中的数据外,还可以接收来自其他输入设备的数据,从而对数据进行关联性综合分析。另外,处理子系统可对存储子系统中的数据进行修改,或将处理结果存放到存储子系统中,作为历史参考数据。
数据分析模块需要根据农业生产的应用需求,完成对数据的分析处理,需要综合考虑环境、设备、生物生长、市场行情、价格变化等因素,从而分析出最佳的生产指导方案。在数据的综合分析环节,可以建立自己的数据模型加以训练,以便得到更精准的结果。
整个系统完整的数据处理流程,如图3所示。数据被采集完成后,如果当前并未进行实时数据分析,那么先进行存储;否则,提取数据后进行实时数据分析。如果有外部输入的指令或其他数据,那么进行关联性综合数据分析;也可以将指令或其他数据先存储,以便后续分析使用。数据分析的结果可以选择存储起来,也可以选择在人机交互界面实时展示。
图3 数据处理流程
在整个数据处理流程中,数据的传输和存储是两个重要的环节,需要设计相关的数据格式实现。采集的原始数据与分析处理后的数据,也需要按照格式存放在不同的数据库中。
1)数据传输格式。在数据传输过程中,需要考虑Zigbee网络和无线互联网络的数据传输情况。Zigbee网络属于数据采集子系统,是物联网感知网络,它的数据传输格式如图4所示,其中,每个汇聚节点控制一个采集或传感器网络,并有一个唯一的绝对地址,用来标识采集数据所属的农业生产区域;在传感器网络中,传感器节点在该网络范围内,有唯一的相对地址。传感器节点将采集到的数据先传递给汇聚节点,然后由汇聚节点传送到互联网上。采集的数据必须标识数据类型,比如温度、湿度、转角、距离等,明确是哪种生产设备,并给出采集的时间戳。校验和用来进行数据正确性校验。数据状态用来标识该数据是初始采集数据还是分析处理后的数据等。
图4 Zigbee数据传输协议格式
无线互联网的实现方法有很多,如果采集距离不长、覆盖范围不广,可以采用WIFI无线网络连接;否则可以考虑采用2G3G4G5G等互联技术[10]。互联网的数据传输协议与图4所示的格式差不多,但是不需要传输传感器地址,而需要添加数据库类型和名字字段,用来标识其存放的位置,具体如图5所示。
图5 互联网数据传输协议格式
2)数据存储格式。按采集的初始数据、分析处理后的数据、指令或其他输入数据三种状态来设计数据库,每种数据库对应存储一种状态的数据,并配置不同的数据库名字。这三个数据库,均包含汇聚节点地址、数据类型、数据、数据状态、设备类型、时间戳、数据库名字及类型等字段,不同数据库所对应的字段配置值是不同的。处理子系统根据自己的应用要求,分别从这三类数据库中获取数据,进行综合数据分析。
为了验证以上设计思路的可实现性和正确性,可按图6搭建环境进行验证。
图6 验证环境
采用蔬菜或水果大棚作为采集子系统的农业基础数据采集区域,汇聚节点实现Zigbee和WIFI的数据协议转换,最终通过5G校园网接入阿里云平台(包含存储子系统),而处理子系统也通过WIFI接入互联网,实现综合数据分析处理[11-13]。以采集大棚内的农业基础环境数据土壤温湿度为例,将采集的数据显示在处理子系统中的可视化人机交互界面上,如图7所示。
图7 农业基础环境数据温湿度展示
测试结果证明,本文提出的农业大数据生产决策系统的设计实现方案是正确可行的,通过物联网采集农业生产环节中的各类环境和设备数据,供数据关联性分析和展示;不足之处在于,数据综合分析的模型尚未完整建立,后续还需要继续深入研究。