作者:西安邮电大学 潘楠 尚栋 刘楠
指导教师:庞胜利
作品简介
1.开发背景:
传统的农业种植中,人们获取农田信息主要是通过人工测量,做出决策一般依赖的是经验管理,这种粗放的管理方式会极大地阻碍了农业的发展,造成生产效率低下和水资源的浪费。随着物联网等各种现代技术的日趋成熟,我们能将物联网等技术应用于农业生产,达到降低人力成本,提高自动化生产效率,节约水资源的目的。
2.结构说明:
本系统框架的网络可以划为传感器网络、通信网络、应用网络三个部分。
该系统的设计满足了物联网体系三层结构,保证数据的采集、传输与处理,实现软硬件之间的通信控制。它实现了搭建的无线传感网络的数据采集、数据处理、数据传输的功能。
3.功能与使用说明:
在该系统中我们将大量的传感器节点分布在田间,让其构成监控网络,通过用温度和湿度等传感器来采集土壤和大气信息,并把采集到的信息传输给应用层的PC管理机,PC机对采集的数据进行存储、计算、融合、智能处理,最终处理的结果智能的控制布置在田间的供水、供肥装置,达到及时、科学的对农作物进行精确灌溉;并且还可以通过采集的数据了解当前农田环境信息,包括大气温度、湿度、风向、风速等,为农业气象提供原始数据,系统在运行中一旦接受的数据出现异常,可以通过无线传感网的定位技术来定位故障节点,找出异常原因,进行声光报警,具有比较强的实时性。
4.总结与特色:
本系统采用物联网中的ZigBee 技术实现无线传感网络中信息的传输,通过传感器采集的信息来判断田间的水分缺失情况,进行灌溉、排气等操作。通过根据实际的设备布置情况,在PC端的上位机绘制出田间以及设备的主控模拟图。然后通过操作模拟图进行命令的下发,实现智能化控制。对于提高农业的科学管理、智能化管理有着重要的意义。
将物联网技术应用在农业上是我国农业发展的一个趋势,它将推动农业向智能化、自动化发展。利用物联网技术对农作物的生产进行精细化管理和调控,促进农业整体水平的提高,并打造“数字农业”之路。农业中涉及了农作物监控、农产品流通、农作物养殖、农作物灌溉、农作物存储等各种领域,发展智能化数字化农业,物联网技术缺一不可。本系统是集ZigBee 物联网技术、传感器技术、计算机技术为一体的远程智能农业系统,饱含了“智能化、高效化、科学化”的系统特色。
平台选型说明
STM32处理器
Zigbee节点
远程IO控制器
QT上位机界面
设计说明
1.系统框架:
2.设计原理与设计方案:
硬件部分:
系统硬件部分采用ZigBee 技术实现信息的无线传输,通过串口与PC端的上位机进行通信,并将消息发送给MT-RIO系列远程IO模块进行远程灌溉等操作。
(1)ZigBee无线通信模块
在系统中,通信是一个双向的过程,即命令的下发与消息的接收。通信的实现要保证上位机接收来自各个ZigBee 节点(图1为ZigBee节点)的信息,同时上位机也能下发控制命令,实现通信由两部分组成:
①上位机与ZigBee 节点的通信—消息的接收。各个终端节点(大气温湿度节点、土壤温湿度节点)把采集到的数据全部发给协调器,协调器通过串口再发送到上位机。
②上位机与终端设备(例如电磁阀)的通信—控制命令的下发。其中上位机与终端设备的通信必须经过ZigBee 节点作为中介进行传输。因此由上位机进行终端设备的操作,首先要将上位机要下载的数据打包到ZigBee 通信包中。然后由ZigBee 节点通过串口传给终端设备,通过分析处理通信包后操作终端设备。
在通信过程中,数据是以帧来进行传输。帧包含:帧头+长度+设备类型+地址+数据+帧尾。本系统中,帧数据类型根据系统需要主要分为五种:①C0: 节点发送数据;②C1: 节点接收数据;③C2: 节点异常;④C3: 节点唤醒;⑤C4: 节点模式切换。系统根据下发的不同命令, 使用不同的帧来进行通信,实现控制的功能。
(2)串口通信
串口通信是实现上位机与终端设备之间必不可少的环节。串口通信由上位机下发串口数据, 数据再由ZigBee 网络下发到相应的节点。在通信过程中,整个数据命令分为两大部分:一部分是ZigBee 网络控制命令,另一部分是终端设备的命令,它使用ZigBee 串口输出命令。ZigBee 节点通过串口,把需要的命令转发给终端设备,例如水泵电磁阀门控制器中的开阀,关阀等命令。通信图如图1-2所示。
(3)远程IO控制模块
远程IO是本地IO的一种拓展,通过远程IO扫描器模块SLC处理器可以与挂在RIO链路上的设备进行通讯。在远程智能农业灌溉系统中我们用它和控制设备如电磁阀、电风扇等相连,用每一个IO口控制一路与之相连的控制设备,它是一主多从式通讯模式,扫描器为主,其它挂在RIO链上的设备为从,在RIO链上最多可带32个从属设备(即可以带32个节点),远程IO上的通信端口为RS-485,我们的控制节点通过RS-232转RS-485接口与之相连,最大的通讯电缆长度为3048米。以三个波特率段进行数据传送,分别为57.6 K,115.2 K和230.4 K。RIO链采用菊型连接,在每个链路的末端需要连接一个0.5瓦的终端阻抗,来消除信号反馈。使用标准的PVC双心同轴电缆作为其传输界媒体,错误校验使用标准的CRC16检验。远程IO模块如图1-3所示。
在系统实际工作中,PC端的上位机接收到来自各个传感器节点的实时环境信息,进行一定的分析后,将控制信息通过串口传送给远程IO模块。例如,要求当环境温度高于37摄氏度后,自动开启电风扇和喷洒。那么PC机接收到温度传感器所发送的实时温度若高于35摄氏度,则将开启喷洒的数据帧以ZigBee无线通信的形式发送给远程IO模块,远程IO收到发送的命令后,控制器控制开关的打开。远程IO控制器内部的数据帧流向如图1-4所示。
(4) 水泵与电磁阀
水泵是输送液体的物理工具,通过内腔中的叶轮转动产生的离心力,使液体流动。在这过程中,将其他形式的能量转化为液体流动的能量。水泵在城市供水、电站系统及化工方面有很大的作用。尤其在农业方面,用途非常广泛。它让水源处的水输向农田,提供农作物生长所需的水分。
电磁阀是控制液体流向、流量和流速的元件。电磁阀内部有个密闭的腔,腔中间是阀,阀两边的两个磁铁在电磁作用下,产生的电磁力控制阀体来回移动阻挡液体流动。电磁阀耐腐蚀、耐水蒸气、有粘接性。并且在使用过程中,阀体运动是因为磁体的电磁作用不存在动密封,所以不会漏水。价格低廉、型号多样、使用方便都使得电磁阀成为农业控制的不二选择。
软件部分:
系统软件部分是上位机的控制中心,主要功能是通过串口接收并显示田间传感器所发送的实时环境信息,并将决策信息发送给远程IO控制器。
(1)系统主界面
登陆系统后,主界面如图2-1所示,用户可根据菜单选型或者相应按钮进入各个功能模块。操作方式如下:
Ⅰ 监控->主控窗口,进入主控界面,显示实时环境参数,并由用户发送控制令;
Ⅱ 系统->系统配置,进入系统配置界面,由用户配置发送控制命令的参考参数;
Ⅲ 系统->实时温湿度,进入温湿度显示界面;
Ⅳ 系统->操作日志,可由用户查看历史系统参数配置
(2) 系统配置
系统配置窗口,主要由用户事先配置好设备地址、控制器的输出通道、控制策略以及采集数据的周期。
如图2-2所示,若用户设置的温湿度节点的设备地址为“4097”,远程控制器节点的设备地址为“4098”,同时设置水泵为控制器的1路输出,排气扇为2路输出,喷洒器1为四路输出,并配置策略“当温度高于19摄氏度时,开启风扇;当温度高于23摄氏度时,开启喷洒;当温度高于25摄氏度时,报警!”。
那么,根据用户配置的信息,若PC机串口收到物理地址为4097的节点发送的数据帧,并识别当前温度为27摄氏度,则判断是温湿度节点发送的实时田间温度为27摄氏度,根据策略信息,此时应该开启风扇,开启喷洒,并报警;于是PC机自动将以上策略信息打包成数据帧送给远程IO控制器,控制器识别1路输出为水泵进水阀,2路输出为排气扇,4路输出为喷洒器一,则将各个设备打开,以此实现了根据实时环境,自动决策的功能。
(3) 主控窗口
如图2-3所示,主控窗口主要用于显示当前环境温湿度、土壤温湿度、以及排气扇、喷洒器等设备的工作状态,并且用户可以通过鼠标点击窗口的模拟设备来自行控制设备工作状态。
该界面上的图标即对应的实际中的实物设备,如水泵,喷洒器,温度计,风扇以及测量大气湿度和土壤湿度的传感器。
在该系统中,之前已将需要的各项指标参数进行了设定,当系统开始工作之后各个传感器就会对环境的各项指标进行实时的监控,当某一项或者某几项指标不能达标的时候,系统中所对应的调节设备就会自动打开,对环境进行控制调节,直到环境中的各项指标达到要求为止。
在此操作界面上操作人员还可以根据自己的丰富经验来对设备进行控制,而不是单独的根据管理PC进行管理,这样就可以通过人机结合的方法来达到对环境的精确控制。具体的操作也很简单,当操作人员对界面上的湿度,温度等数据进行读取之后,根据经验判断,当需要开启某一个调控设备的时候,只需要在该界面上点击其所对应的图标即可,界面上的图标显示灯打开的时候就代表该设备处于正常工作中,这样就完成了手动控制。比如当操作人员读取了当前的大气湿度数据,并认为此时大气湿度偏低,这时就可以点击喷洒器来增加大气湿度,当湿度达到正常范围的时候,在次点击喷洒器使其停止工作,通过这一系列的操作来达到人工控制的效果。
此控制界面是利用C++来编写的,其具有快速的可视环境,只需要简单地把控制键拖移到主界面上,再定义一下它的属性,根据自己的要求更改它的外观,这样就可以迅速的建立应用控制界面。该界面具有简单,易于识别,便于控制等操作特点,操作人员可以在很短的时间内熟悉操作过程,这一特点也非常符合实际生产中人们对设备操作性的要求。
(4)操作流程
可以通过以下步骤完成系统的控制,如图2-4所示:
①运行PC机上应用程序,进行系统配置,设置系统工作参数;
②打开Sink节点,系统自行组网;
③打开各个终端节点,加入到自组网中;
④在PC机上查看实时状况,若出现突发情况,人工改变工作状态。
此文档的相关视频来自:http://v.eepw.com.cn/video/play/id/13531