摘要:目前,农业生产已经越来越趋于精细化和智能化,该文介绍了基于可横向扩展的列式数据库HBase以及并行计算框架MapReduce等大数据技术的农业物联网的应用系统。农业物联网涉及对农业生产环境数据的实时采集、农作物的实时监控、农作物的生长状况判断以及改善农物的生长环境等方面。一个完整的物联网系统应该涉及农作物生长的各个方面,系统基于采集的数据拟合环境变化曲线(ECC),然后,再结合作物的生长状况学习出农作物的最佳生长环境(CBGE)曲线,最后,再依据农作物的生长周期构造农作物生长模型(CGM)。在此基础上就可以实现农作物的精细化耕作,实现远程控制环境变化进而达到智能耕作的目的。
关键词:物联网;数据采集;并行计算;列式存储;大数据技术
1 建立列式数据库
Hadoop是目前使用最广泛的大数据技术,它允许开发人员使用简单的编程模型通过计算机集群进行大数据的分布式处理的计算框架。它可以将服务器从单台扩展到上千台,每台服务器都可以提供本地的计算和存储资源[8] 。相对于传统关系型数据库列式数据库的读取效率明显要更高,它不再需要像关系数据库一样为读取某个字段的值而扫描整个表结构的数据,如果我们需要读取某列的数据只需要读取此列的数据就可以了。另外,在扩展方面它也可以很简单只要在 Hadoop集群中添加计算机节点然后再添加相应的服务就可以有效的扩展它的存储容量,这使得它获得几乎无限容量的存储能力[8-10] 。系统采集的数据主要来自传感器,我们会将传感器上传送的数据转换成可识别的信息存储到 HBase数据库中。
1.1 数据库详细内容 HBase是列式数据库,所以与传统关系型数据库的设计模式不同,我们将按照列式数据库的设计方法来进行数据库设计。目前,列式数据库的设计还没有固定的模式,系统将根据实际需求对数据库的列族、列、行健进行一定的设计。
(1) 列族,实际种植环境信息(如温湿度)并不能以一个传感器的数据来决定,根据采集区域范围大小需要多个传感器的数据共同来决定,所以列族名将由地区、地块和农作物本身共同来决定的。编码如下:地区采用实际的地名作为编码的一部分,实际上都会采用区域编号来代替,例如,对于大棚实验田就会分为 A 区、B 区等。考虑到传感器覆盖区域的数量,我们将一定数量的传感器所覆盖的区域当做一个地块,对于大棚来说,一个大棚就可以当成一个地块。最后是农作物的品种标记,用来标识采集地块类的农作物,一般将同一种农作物放在同一个地块中,这样采集的数据参考意义更大。
(2) 列,列将由传感器的标识来决定。考虑到同一个地块将采集多种数据,而每一种数据将在地块的不同位置采集多次。我们将同一个地块中的所有同类型传感器的数据都放在同一个列族当中,这有利于后期的数据挖掘和统计分析。例如,一个大棚(将一个大棚当做一个地块)中包含上下各6个温度传感器,则一个地块中同一时间可以获得12个温度类型的数据,这些数据都会被放到一个列族中存储起来。
1.2 数据采集入库传感器采集的数据是主要影响农作物生长的环境信息数据,诸如土壤温湿度、空气温湿度、光照强度等农作物生长环境参数。传统的种植方式,无法对这些生长环境参数进行实时监测与定量、定性分析。物联网改变了农业生产的模式,我们将各类环境数据采集并存储到HBase中(如图1),这些数据将是构建农作物生长模型或分析农作物的重要数据支撑。
2 农业物联网系统功能介绍
农业的发展越来越偏向机械化和智能化,为了构建智能化的农业生产模式,农业物联网系统还需要提供必要的智能化生产功能应用。根据现有的需求和前人的研究系统暂时确定了五项功能模块[11-13] 。这五项功能将农作物生长环境、生长状况、生长模型等直观的提供给使用者,使用者可以根据这些信息去培养、管理自己的农产品。农业物联网应用系统主要由数据采集、数据可视化、实时监控和统计分析等模块组成。数据采集功能主要是将传感器信号转换成可识别的文字或数字信息;数据可视化功能主要是将数据以生动的形式展示出来供使用者查看浏览;实时监控则是实时的传递地块农作物的视频信息,可以实时的查看农作物的生长状况。
2.1 环境信息实时监测将实时采集的环境信息较为美观的展示出来,可以为使用者带来较好的感官体验。最重要的也是实时的监测农作物生长环境的变化,在必要的时候可以根据这些数据信息的反馈做人工的干预,比如缺水就可以通过系统控制设备喷水实现为农作物添加水分(如图2所示)。
2.2 地块标注和实时监控将不同的地块在地图上以矢量图来标注出来,这样可以直观地了解我们地块的区域范围。在地块周围安装监控摄像头,摄像头实时捕获地块内的画面。使用者可以远程访问来观看地块的实时画面。既可以帮助生产管理者远程了解作物的生长状况,也可以帮助农业专家通过远程监控画面了解作物的健康状况,解决种植中的病害难题(如图3所示)。
2.3 环境变化趋势分析将不同的环境信息数据根据时间的变化拟合出它的变化趋势曲线(ECC),这样可以方便我能观察它的变化趋势以及合理的预测将来短时间内的变化。根据作物的生长情况拟合出最适合农作物的生长环境(CBGE)曲线(如下图4所示)。拟合环境变化趋势图之前需要对数据做一些必要的处理,因为HBase 自身并没有自带的挖掘函数,此时MapReduce计算框架就起到了作用,我们利用MapReduce计算框架去处理分析HBase中的数据,再可视化到实际的图表中,此处我们用到了数据驱动的 echarts作为大数据量的可视化图表。
3 总结
本文阐述了基于大数据技术设计实现了农业物联网应用系统,系统基于可横向扩展的列式数据库以及能够在海量数据中进行并行计算的计算框架实现了采集农业生产环境数据和构造农作物生长模型以及其他功能。系统根据采集的数据对农作物的最佳生长环境进行拟合,并在此基础上构建农作物生长模型。可以根据农作物的生长环境大致判断农作物的生长周期,可以为农作物的播种、施肥、收获做系统性的建议。系统结合大数据技术实现了对农业生产模式做了极大的改变,当然,目前广泛推广还是比较困难,但是,农业生产的智能化必然会是发展的大趋势。
参考文献:
[1] 赵璐,杨印生.农业物联网技术与农业机械化发展[J].农机化研究,2011,08:226-229.
[2] 苏美文.物联网产业发展的理论分析与对策研究[D].吉林大学,2015.
[3] 王家农.农业物联网技术应用现状和发展趋势研究[J].农业网络信息,2015,09:18-22
《基于大数据技术的农业物联网应用系统》来源:《电脑知识与技术》,作者:杨亚飞,汤军,宋树华,李功权。