基于LEACH的农业物联网监测系统研究
2020-10-09陈建云
摘要:我国农业正向智慧农业转型。要实现农业的科学管理,就需对农业中的生产要素有效监测,因此农业物联网监测系统有重要研究价值。无线传感器网络(WSNs)作为农业物联网的主要构成部分之一,是实现生产要素中数据采集以及传输的重要技术。然而,农业物联网中现实环境干扰因素多且数据采集量大,而WSNs节点处理能力又有限,如何确保WSNs的持久稳定运行成为一个重要议题。因此,本文采用了一种融合算法——基于LEACH的网络数据融合算法,对采集到的数据进行融合;同时,对LEACH算法应用在农业物联网监测系统中的效果进行了仿真,结果表明,LEACH算法能降低WSNs节点能耗诞长WSNs生存周期。
關键词:WSNs;监测系统;数据融合;LEACH
中图分类号:TP31 文献标识码:A
文章编号:1009-3044(2020)22-0003-05
开放科学(资源服务)标识码(OSID):
农业物联网是利用仪器仪表对农作物生长过程中的数据进行采集及控制的物联网。目前,我国农业正经历改革,现代化农业发展速度明显加快,但是,同样面临着环境、资源、市场等多重约束,维护生态平衡、保证食品和粮食安全的这些压力依然存在,保障农民的稳定增收任务越来越重。因此,探索农业物联网的发展模式和理论研究,在现代化农业中发挥重要作用,对促进农业生产方式的转变、农民增收有重要意义。农户通过农业物联网监测系统,对农作物生长要素(如光照度、温湿度、二氧化碳、土壤微量元素含量、土壤含水量等)进行实时监测,因此就能实现农业生产过程中的智能化和精准化管理[1]。无线传感器网络( WSNs)作为农业物联网监测系统的关键技术,由于农业中信息采集数量大,数据传输量多且路径较复杂,但是WSNs中节点能量十分有限,导致WSNs就不能保持稳定、持久运行,这也是制约农业物联网监测系统应用在现代农业中的主要原因。所以,如何确保WSNs的持久稳定运行成为一个重要议题。因此,本文采用了一种基于LEACH的网络数据融合算法,对采集到的数据进行融合,通过模拟仿真,应用在农业物联网监测系统中的网络数据融合算法LEACH[2],能均衡节点的能量分布,使WSNs的生存周期延长,从而达到WSNs持久稳定运行目的。
1 模型架构
农业物联网的模型架构是建立在物联网模型架构之上,它是应用在农业环境中的一种物联网。所以,要想清楚农业物联网的模型架构,就要先了解物联网模型架构[3]。从下至上,物联网的模型架构第一层(底层)是感知层,这是物联网的根本,是掌握万物世界的有关信息,是信息世界与物理世界的联接,感知层是由一个个感知节点(如传感器、传动器、GPS/北斗、RFID芯片、二维码、红外感应等)构成,主要是能感知与识别物品信息和外部环境信息采集。物联网模型架构的第二层(中间层)是网络层,主要作用是把感知层获取到的信息通过各种网络(如无线网络、计算机网络、移动通信网等)进行传输,是负责处理以及传递信息。物联网模型架构的第三层(顶层)叫应用层,应用层的主要作用是将网络层传输过来的信息进行安全的处理,通过终端设备(如云计算、应用集成、Web服务等)与人进行人机交互,实现信息共享与互通,达到自动化、智能化控制的目的。物联网的模型架构如图1所示。
农业物联网的模型架构从底层到顶层可分为感知层、网络层(传输层)、处理层以及应用层,与物联网的模型架构相似。在农业物联网监测系统中,底层是感知层。感知层具有数据采集功能,利用感知设备如温湿度传感器、光照传感器、二氧化碳传感器等感知农作物生长环境中的各类数据,对农作物生长有用且不可或缺的各种信息进行采集以及识别,是实现现代农业的基础。农业物联网模型架构的第二层是网络层,也叫传输层,这一层的主要作用是通过WSNs等无线网络传输农业数据,实现真正意义上的远距离通信。处理层是在农业物联网模型架构的第三层,利用数据挖掘、大数据等进行数据处理,实现农业数据的共享、预测、分析和决策等功能,在农业物联网监测系统中,此过程能完成数据处理、预测诊断、报警推送、智能控制等。农业物联网监测系统中的顶层是应用层,这一层是具体应用在农业实际环境中,几乎涉及了农业的各个方面,如大面积田地种植系统、农作物追溯系统、园林园艺设施系统、水产养殖系统等。
2 农业物联网监测系统的设计
WSNs用于采集各项农业环境参数(如光照、CO,、温湿度、土壤含水量等)的多种信息,各类传感器节点在进行数据采集之后会进行自组网,将采集到的数据发送到WSNs中的汇聚节点(Sink Node)[4],汇聚节点具有数据融合等特征,可将数据先进行融合,然后将融合之后的数据通过Internet网传输到管理节点(Managed Node),管理节点再将数据传送农户。同时,农户可通过终端等设备(如手机、PC机、电脑等)对WSNs发送监测管理任务等进行管理及配置。农业物联网监测系统的总体设计框图如图3所示。
从农业物联网监测系统的总体设计框图中可知,总体模块分为五块,有利用光照、CO2、温湿度、含水量等外部传感器,主要功能有采集农户所需信息的传感器模块;有经处理过的数据在液晶屏上显示的显示器模块;有由STM32F103型主控芯片完成ROM/RAM和1/0等功能的处理器模块[5],主要功能是完成数据的读写、存储、输入输出等,在此模块中,有上下模块都是用通用异步收发传输器(UART)通讯[6];有将采集到的数据通过CC2530芯片传送到处理器模块的无线通信模块,此模块在硬件总体设计中起到关键性作用,在农业物联网监测系统中,其无线网络要求传送距离长和功耗低等要求;有为硬件系统直接供电的供电模块。
本文设计的农业物联网监测系统,主要从功耗低、微型化、低成本、射频性良好、可扩展性等五个方面考虑,目的是准确实时获得农业环境中农作物的各类信息,为农户提供数据,同时也要确保数据的真实准确性,让农户进行智能决策的操作。
根据总体设计要求,本系统的WSNs中,采集控制节点和汇聚节点通信是用MSG( Windows程序中的结构体)信息帧通讯。函数定义如下:
adefDataRequest
(APS_ADDMODE_SHORT)
u16AddrDst
WSN_PROFILE_ID
WSN_CID_SENSOR_READINGS
AF—MSG
1
asTransaction.
ENABLE_ROUTE_DISCOVERY
节点间的通信过程可分為两类。第一类主要是由路由节点以及终端节点等各类节点的数据传送至协调器,另一类是各类节点收协调器的数据。节点发数据较为简单,只要将目的节点数据确定打包好能传输即可。相较于节点发数据而言,节点收数据就比较复杂,首先是解析指令并判断是否发送至目的节点,若是,则解析指令,主控芯片CC2530进行判断设备是否在主控板上,若是,由CC2530进行相应操作,若不是在主板上,由STM32F103发送控制指令,STM32F103进行下一步相应的操作。若解析指令判断不是发送至目的节点,则按照路由算法转发指令。节点通信过程的具体流程如图4所示。
在农业环境中,由于传感器的类型不一样,有光照传感器、温湿度传感器、CO2传感器、土壤含水传感器等,考虑本系统后续还可能增加传感器,所以了解通信协议是很有必要的。模块与终端设备进行数据之间的交换规则即是通信协议[7]。表1是通信协议数据包详细定义表。
由表1可知,当符号标识是SATRT时,它的名称是包头,2个字节,传送时高字节在前固定为OXEFOI;当符号是ADDR,长度为4个字节,名称是地址,表明各个模块会拒绝地址错误的数据包,符合自己本身的地址才会执行命令,传送时高字节在前;当符号是LENGTH时,名称是包长度,指的是包内容的长度加校验和的长度,传送时高字节在前,长度为2个字节。
3 LEACH算法设计
3.1 LEACH算法概述
LEACH(全称Low-Energy Adaptive Clustering Hierarchy)算法的基本思想是用循环方式随机的选择簇头(管理组内所有节点)节点,这样,能将网络自有能量负载平均分配至网络的每个节点,以此来提高网络中的生存周期,降低网络中的能耗。LEACH算法在运行时,能够确保每个节点都有概率担任簇头,才能使得网络节点相对均匀消耗能量。这是一种自适应、自组织的聚类协议[8]。图5和图6表示的是动态建簇示意图。
在给定任一时间假设为t1时刻,簇头是一定概率进行自选,设这一定概率为一个阈值T(n),假设P是期望成为簇头百分比,r为目前轮数,Mod取模,则T(n)表示为:p/[1-p*(rModl/p)]。由图5可知,P=5%。
簇头节点由于比其他节点要消耗更多能量,所以它的能量会很快耗尽,为了将这些能耗分布在多个不同节点,簇头节点不是固定。在LEACH算法中,在不同时间内,簇头节点将由一组内所有节点自由选出。所以,在t1时刻簇头节点可能会组成一个C集合,在tl+d时刻会有一个新簇头集合C,如图6所示,t1时刻的簇头和tl+d时刻的簇头明显不同。
3.2 LEACH算法设计
LEACH算法是遵循“轮”的概念工作。每一“轮”分为五个阶段。第一阶段是建立簇头,这一阶段决定在此轮中节点能否成为簇头,第n个节点在0-1之间任选一个数,若此数字小于T(n)这个阈值,则定义该节点是此轮的簇头。T(n)的表达式为:
式(1)中,G表示过去1/P轮中从未当选过簇头节点的集合,
其他参数由上述章节(本文3.1节)介绍了,这里就不再阐述。第二阶段是广播阶段,每个节点在还没有成为簇头节点之前,都会通过载波监听多路访问/冲突避免(CSMAICA)向其他节点播放消息,没有成为簇头节点接收器需是打开状态,以便于接收簇头广播的消息,且所有成为簇头的节点都用相同能量来广播此消息,节点在听到通过广播的消息之后,决定属于哪个簇。第三阶段是簇成立阶段,每个节点归属于簇后,那么节点就用CSMA/CA告诉簇内的簇头,此节点是该簇的簇内成员,此时,簇头的接收器需是开启,便于接收非簇头节点的消息。第四阶段是基于TDMA调度表的建立阶段,在每个节点决定自己属于哪个簇之后,此节点必须通知簇头节点即将成为该簇成员,簇头收到消息后,根据所在簇中的其他节点数量,建立一个基于TDMA的调度表[9],调度表是通过广播的方式发送到簇中节点,此调度表能告知节点什么时候能进行传输。第五阶段是传输阶段,通过前面阶段所做的工作,簇已建立并且TDMA调度表已确定,在农业物联网监测系统中,使用传感器采集到的数据即可进行传输,若所有节点都有数据要传送,则节点会根据TD-MA调度表[9],分配传输时间,使非簇头的每个节点除了广播消息之外的时间都休眠,达到每个节点能耗最小化。簇头节点使其接收器打开状态,接受簇中节点数据,当簇头接收数据之后,簇头就执行数字信号处理功能把接收到的是数据压缩成单个信号,依次循环。图7是LEACH算法流程图。
4 基于LEACH算法的仿真与分析
为了评估LEACH算法在农业物联网监测系统中的节能效果,本文选用了两种常见的网络数据聚合算法作为仿真实验对象,一种是Direct(直接通信协议)[10],这种算法是每个节点都直接向基站传送数据;另一种是MTE(最小传输能量)路由协议[11],节点通过其他节点作为传输介质向基站发送数据。
设每个节点在运行接收器或发送器时能耗是E elec=50nj/bit,运行传输放大器时能耗是8amp=100pJ/bit/m2,信道在传输数据时能耗是r2,假设距离为d(单位米),数据大小为k(单位比特),那么发送数据时能耗的表达式:ETx(k,d)=8pkd2+E elek,接收数据时能耗的表达式:
Erex= Eek。根据最小化传输能耗原则选择介质节点即最小化能耗是ETx-amp(k,d)=εampkd2,当且仅当(
),A节点通过介质节点B向节点C传输数据[12]。
设有100个节点,每一个节点每回合向基站发送的数据包是2000bit,在LEACH算法中,每个节点每轮需要向基站发送大小为2000bit的数据包。在LEACH算法中,每个节点初始能量是0.5J,簇头节点数据融合消耗的能耗是5nj/bit/message。
节点代码由Matable模拟,部分主要代码如下:
distance;
if (distance>do)
S(i).E=S(i).E一( (ETX+EDA)*(4000)+ Emp*4000*(distancea:distancea:distancea:distance));
end
if (distance<=do)
S(i).E=S(i).E-( (ETX+EDA)*(4000)+Efs*4000*(distance8distance));
end
STATISTICS(r+ I).CLUSTERHEADS=cluster-1;
CLUSTERHS(r+l)=clusteI-1;
if(min_dis>0)
S(C(min_dis_cluster). id).E=S(C(min_dis_cluster). id).E-( (ERX+ EDA)*4000);
PACKETS _TO_CH(r+ l)=n-dead-cluster+1;
end
S(i).min_dis=min_dis;
S(i).min_dis_cluster=min_dis_cluster;
当簇头百分比P=5%时,节点传送数据的能量消耗与它所传送数据的距离相关,因此网络直径的不同,WSNs能耗也就不同。图8是网络直径与系统总能耗的关系图,比较了LEACH算法与Direct、MTE两种常见的网络数据聚合算法下,网络直径和WSNs总能耗之间的线性关系。
图8显示,LEACH相较于Direct,可以降低7-8倍能耗;LEACH相较于MTE路由协议,可以降低4-8倍能耗。
5 总结与展望
本文的研究是基于WSNs的农业物联网监测系统,可对农业环境中的CO,、温湿度、光照度、土壤含水量等参数实时监测。为了降低WSNs中的能耗,延长网络生存周期,本文设计了基于LEACH的数据融合算法,且通过Matlab模拟仿真实验,结果表明LEACH算法相较于Direct和MTE,都至少可以降低四倍以上能耗。农田环境复杂且多变,要想将农田数据进行高效传输和精准感知,是实现我国智慧农业的基础,但只对农田环境中的少量数据信息(如CO,、温湿度、光照度、土壤含水量等)采集这是远远不够的,所以在感知层还可以考虑土壤微量元素、土壤PH值等这些信息;传输层还可再优化算法、不确定信息机制设计等都是后续值得研究的问题。
参考文献:
[1]曹明勤,张涛,王健,基于ZigBee的农业物联网监测系统的设计与实现[Jl.电子技术应用,2013,39(12):86-89.
[2]陈建云.基于WSN数据融合的农业物联网监测系统研究与应用[D].抚州:东华理工大学,2018.
[3]唐荥.基于物联网的农业感知数据融合应用研究[D].长春:吉林大学,2016.
[4]马玉芳,陈建华,郝杨满,基于汇聚节点移动的能量均衡路由协议的研究[Jl.计算机工程与应用,2013,49(14):77-80.
[5]舒泽芳,王娟,彭晓珊,等.12 Leads ECG Signal SamplingSystem Design Based on MatLab and STM32F1030-/o基于Mat-Lab和STM32F103的12导联ECG信号采集系统设计[J].自动化与仪表,2018, 033(004):54-58.
[6]牛洪海,臧峰,周绪贵.基于DMA的高速UART串口通信设计与实现[J].自动化仪表,2018,39(9):45-48.
[7]曹洁,郭春禹.GSM模块对终端GPS数据的通信实现[Jl.电子测量与仪器学报,2010,24(11):1068-1073.
[8] Heinzelman W R,Chandrakasan A,Balakrishnan H.Energy-effi-cient communication protocol for wireless microsensor networks[C]//Proceedings of the 33rd Annual Hawaii International Con-ference on System Sciences,Maui, HI,USA.IEEE Comput. Soc,10.1109/hicss.2000.926982.
[9] Ergen S C,Varaiya P.TDMA scheduling algorithms for wirelesssensor networks[Jl.Wireless Networks, 2010,16(4):985-997.
[10]杨伟,何杰,万亚东,等,物联网通信协议的安全研究综述[J].计算机科学,2018.
[11]杨昳,吴兆峰,胡谷雨,基于TeXCP的多路径流量工程协议[Jl.计算机工程,2018, 44(4):155-159.
[12]齐华,吕龙,陈红.Optimized LEACH algorithm based onpower control and clustering quantityo-/o基于功率控制与分簇数量的LEACH优化算法[J].传感器与微系统,2018, 37(010):137-139,146.
【通聯编辑:梁书】
基金项目:江西省教育厅科学技术研究项目(181524);东华理工大学长江学院院长基金资助
作者简介:陈建云(1990-),女,江西丰城人,东华理工大学长江学院助教,主要研究方向:农业物联网、WSNs数据融合。