APP下载

人工智能物联网旱灾监控预警系统设计

2015-01-27发,艾

自动化与仪表 2015年4期
关键词:土壤湿度管理中心神经网络

王 发,艾 红

(北京信息科技大学 自动化学院,北京100192)

随着全球气候的变化以及水资源的日益匮乏,旱灾已成为世界范围内影响十分严重的自然灾害,对农业生产造成很大影响。加强农田土壤旱情监测和预报对于我国农业信息化发展意义重大。目前农田信息采集重点都在信息采集设备的开发和数据的传输,对数据的处理关注较少。本文引入BP神经网络算法结合嵌入式系统、ZigBee和GPRS技术设计了旱灾监控预警系统,将信息采集和数据处理有机结合,实现对土壤信息的监控与预测[1]。

1 系统结构

系统包括主控平台、信息采集终端、信息传输网络、管理中心4部分。主控平台以S3C6410处理器为核心,负责数据处理和发送。信息采集终端由ZigBee节点搭载温湿度和光照强度传感器采集土壤温湿度和光照强度数据。信息传输网络包括ZigBee无线传感器网络和GPRS网络2部分。采集到的数据经ZigBee终端节点发送给ZigBee协调器节点后通过S3C6410处理后经GPRS模块将信息上传管理中心。管理中心对接收到的数据进行处理,运用BP神经网络算法对旱情进行预测。系统结构如图1所示。

图1 系统结构Fig.1 Structure diagram of system

2 系统硬件实现

2.1 主控平台设计

主控平台的硬件分为2部分,其中S3C6410处理器与SDRAM、NandFlash、时钟和复位电路等构成核心板;电源、UART以及其他接口电路构成底板。S3C6410是基于ARM1176JZF-S的16/32位RSIC微处理器,具有低成本、低功耗、高性能特点的应用处理器。SDRAM为操作系统和应用程序的运行提供存储空间。NandFlash一部分空间保存启动代码和操作系统,其它空间则用来存储数据。核心板与底板的连接是通过插针接口相连。

2.2 通信模块设计

通信模块包括ZigBee无线通信模块和GPRS通信模块。ZigBee无线通信模块采用基于IEEE802.15.4协议的CC2530芯片,配以双晶振和单级天线等外围电路构成。由一个协调器节点和多个终端节点实现星型无线传感器网络,协调器与主控平台通过串口UART0通信。终端节点搭载温湿度和光照强度传感器组成监控点,对土壤的各项指标进行数据采集。温湿度传感器采用SLHT5土壤温湿度传感器,将SLHT5时钟线SCL和数据线SDA分别连接到CC2530的P0_0和P0_1接口,通过I/O口模拟I2C时序对传感器进行控制。光照强度传感器采用DZD-T4光照强度传感器,将DZD-T4的串口发送引脚TXD连接到CC2530的P0_2引脚,将串口接收引脚连接到CC2530的P0_3引脚。GPRS通信模块选用SIM900模块实现。SIM900拥有GPRS/GSM双频模块,具有性能稳定功耗低的优点。SIM900模块通过串口UATR1与主控平台进行通信,通信速率设定为115200 b/s。主控平台通过AT指令对SIM900进行控制,完成相应的功能。

3 系统软件设计

3.1 Linux操作系统移植

ZigBee数据采集、主控平台数据处理和GPRS数据发送几乎都是并行执行的,另外系统还要实现ZigBee模块和GPRS模块等外设驱动,这些用单片机很难实现,因此引入Linux系统。分别为这3个并行执行的程序开辟一个线程,由Linux系统完成对系统资源的分配与调度。另外Linux最大特点就是对系统进行定制,外接设备的驱动可编译到内核中。要在S3C6410平台上使用Linux系统,需对其进行移植。移植首先需建立交叉编译环境,然后引导Bootloader,编译Linux内核,最后制作根文件系统。交叉编译是在一个平台上生成可在另一个平台上执行的代码,从而实现宿主机上开发并编译可在目标板上运行的代码。Bootloader是操作系统内核和应用程序运行之前运行的一段程序,完成硬件设备初始化,为运行Linux内核做准备。Linux系统的移植主要是对Linux内核源码中与硬件相关的代码进行修改,比如MTD分区、Nand Flash驱动等使之可在目标板上运行。文件系统是一个物理设备上的任何文件组织和目录,是操作系统中与管理文件有关的软件和数据,在Linux下,所有文件和外部设备都以文件的形式挂接在这个文件系统上,系统宿主机采用的操作系统是Fedroa14 Linux,使用的交叉编译器为 arm-linux-gcc-4.3.2,Bootloader选用的是U-boot-2013.04,内核版本为Linux3.8.3。

3.2 ZigBee通信程序设计

ZigBee无线通信模块使用Z-Stack协议栈实现ZigBee无线组网,采集到的数据由终端节点通过ZigBee无线网络发送到协调器节点。Z-Stack协议栈内嵌 OSAL(operating system abstraction layer)轮转查询式多任务操作系统[2],OSAL通过osal_add_task()函数向任务表数组中添加任务,形成一个任务链表,通过tasksEvents指针访问任务表中的每一项,按照优先级的高低查询是否有事件发生,如果有事件发生,就会执行相应的事件处理函数,处理完后,继续访问任务链表,查看是否有事件发生。

3.3 GPRS通信程序设计

系统通过S3C6410对SIM900进行控制,与管理中心建立GPRS连接,将采集终端采集的数据传输到管理中心。GPRS模块工作流程如图2所示。

图2 GPRS模块工作流程Fig.2 GPRS module workflow

GPRS模块通过UART1与主控平台进行通信,通信协议采用AT指令集,该协议的格式是“AT+数据+回车”,每一条指令都有应答指令。系统首先对GPRS进行初始化,以TCP连接的方式连接到管理中心并定义好相应的发送函数解析AT命令,实现数据发送。如果到达系统设定的时间时串口中没有数据要发送,模块就会向管理中心端发送一个心跳包,心跳包就是在客户端和服务器间定时通知对方自己状态的一个自定义的数据,管理中心端可以对心跳包数据做丢弃处理[3]。

3.4 管理中心软件设计

3.4.1 管理中心与主控平台通信设计

管理中心与主控平台采用基于TCP/IP协议的网络通信方式,主控平台作为客户端通过GPRS模块发送传感器采集的数据,管理中心作为服务器接收GPRS模块发送来的数据。C++builder中网络组件 TServerSocket和 TClientSocket封装 Win Socket编程的各种基本功能,可实现客户端与服务器编程。数据采集界面和数据变化曲线如图3~图6所示。

图3 数据采集界面Fig.3 Data acquisition interface

图4 土壤温度变化曲线Fig.4 Soil temperature change curve

图5 土壤湿度变化曲线Fig.5 Soil moisture change curve

图6 光照强度变化曲线Fig.6 Light intensity change curve

3.4.2 BP神经网络算法

BP神经网络是一种按误差逆传播算法训练的多层前馈网络,拓扑结构包括输入层、隐含层和输出层,按减小输出值与期望值误差,使网络的误差平方和最小的原则,从输出层经隐含层再回到输入层,逐层修正连接权值,随训练的不断进行,网络对输入模式匹配的正确率也将逐渐提高[4-5]。系统设计3层BP网络,输入层由土壤温度、土壤湿度、光照强度组成,输出层为土壤湿度,因此输入层的神经元个数为3;隐含层节点数个数使用经验公式和试凑法确定为5个,输出层神经元个数为1个。BP神经网络的算法可表示如下,Δwki是输出层权值的修正量,Δak是输出层阈值的修正量,Δwij是隐含层权值的修正量,是隐含层阈值的修正量。根据以上4个修正量不断修正网络中的阈值和权值,从而得到最佳的权值和阈值,是BP神经网络可以根据输入值准确进行预测。

4 系统测试

选取系统中一个监控点的监测数据与精密仪器测量值进行比较,来测试系统数据采集的准确性,用历史数据训练BP神经网络,通过输入监测数据来预测未来5 d的土壤湿度,并与精密仪器测量值进行比较,来测试BP神经网络预测的准确性。

4.1 数据采集准确性测试

选取一号监控点2014-04-20至2014-04-24采集的土壤温湿度值和光照强度值分析,系统测量值与精密仪器测量的真实值关系如表1所示。

表1 测量值与真实值对比Tab.1 Comparison of measured value and the true value

从表中测量值与真实值的对比和误差可看出,土壤温度测量值与真实值误差范围为[-0.5,0.5],土壤湿度测量值与真实值误差范围为[-0.3,0.3],光照强度测量值与真实值误差范围为[-4,4],说明系统采集到的数据准确可靠。

4.2 预测结果测试

系统采用BP神经网络的方法对采集到的土壤湿度进行预测,可预测未来5 d内土壤湿度。将多组样本数据输入到网络中,可以得到预测值,其中2014-06-04至2014-06-08的数据预测值和精密仪器实测值如表2所示。

表2 预测值与实测值对比Tab.2 Comparison of measured value and the true value

从表中实测值与预测值的对比和误差可看出,预测值与实测值误差范围为[-0.9,0.9],说明系统可得到较理想的预测结果,预测精度高。

5 结语

本方案引入BP神经网络建立旱灾预测模型,成功地将BP神经网络结合嵌入式技术,物联网技术应用于农田旱灾的监测,并对旱情进行预测,强化了整个系统的功能。将比较多的新技术运用于农业中,较传统农业信息监测方式有了较大的改进,具有广阔的应用前景。

[1]姜立明,庄卫东.ZigBee/GPRS技术在精准农业中的应用研究[J].农机化研究,2014,36(4):185-188.

[2]郭家,马新明,郭伟,等.基于ZigBee网络的农田信息采集系统设计[J].农机化研究,2013,32(11):65-70.

[3]杨鑫,申长军,王克武,等.基于SIM900的苗情图像无线传输系统设计[J].中国农机化学报,2013,34(4):252-255.

[4]尹健康,陈昌华,邢小军,等.基于BP神经网络的烟田土壤水分预测[J].电子科技大学学报,2010,39(6):891-895.

[5]Liu Yan fang,Jiao Li min.The application of BP networks to land suitability evaluation[J].Geo-spatial Information Science,2002,5(1):55-61.

猜你喜欢

土壤湿度管理中心神经网络
健康管理中心护理质量评价指标体系的构建
基于递归模糊神经网络的风电平滑控制策略
漾皮肤管理中心
宸山皮肤管理中心
土壤湿度传感器在园林绿化灌溉上的应用初探
基于随机权重粒子群优化极限学习机的土壤湿度预测
神经网络抑制无线通信干扰探究
全国学生资助管理中心致高中毕业生的一封信
基于51单片机控制花盆土壤湿度
基于神经网络的中小学生情感分析