面向智慧农业的无线传感器路由协议和节点定位算法研究
2019-03-19,
,
(1.兰州理工大学 电气工程与信息工程学院,兰州 730050; 2.甘肃省工业过程先进控制重点实验室,兰州 730050; 3.兰州理工大学 电气与控制工程国家级实验教学示范中心,兰州 730050)
0 引言
随着网络技术的发展,我国的农业也开始向精细化,精准,智能,无人监测的方向发展,提高了农产品产业链的生产效率,推动了农产业链的改造升级[1],智慧农业依据物联网技术,大数据以及云计算等现代网络技术,对农业生产环境的数据进行智能化感知,然后对收集的数据进行分析,从而实现农业的精准化管理[2-3]。
无线传感器网络(Wireless Sensor Networks)是由许多个采集数据的传感器节点组网而成,这些部署在监测区域的传感器节点能够采集,感知,处理监测对象的数据信息,这个网络由传感器普通节点,簇头节点,基站,通信网络,任务管理节点等组成。无线传感器网络在农业引用领域有很大的应用发展空间,通过WSNs可以实现远程监控,无需人工看守,WSNs可以监视农作物水分,光照强度和土壤空气等情况,来实现精细,精准化的管理。无线传感器网络的关键技术有网络拓扑结构、网络协议、时钟同步技术、数据融合技术、网络覆盖和网络规划、定位技术,网络安全技术[4]。本文着重对面向农业无线监控系统中无线传感器网络的路由协议和节点定位技术进行研究。文献[5]改进了LEACH算法的不足,选举簇头节点时考虑了簇头节点的情况,但是只考虑了同构网络。文献[6]提出各节点通过剩余能量来竞争簇头,并通过此簇头将全网的数据融合发送给汇聚节点。并没有考虑划分网格来在每个网格内生成簇头。文献[7-8]给出了无线传感器网络在智慧城市和风机监测系统中的具体引用,包括节点布置,路由协议的选择,可以供无线监测系统的构建做思考。智慧农业中考虑节点定位的算法很少,本文提出基于临时锚节点逐步定位算法,考虑了实际农田或者温室大棚中节点非均匀随机部署,降低节点部署成本和部署节点轻巧微型化等要求。
1 智慧农业的实际应用
智慧农业要求监测系统具有实时监控,智能化数据传输和管理能力。基于智慧农业的无线传感器网络需要采集农业监测的各种数据,比如土壤的湿度和温度,二氧化碳的浓度,周边环境的温度及湿度变量。无线传感器网络对传感器采集的这些数据利用一定的路由算法传输给基站,基站将数据转发给网关,网关发送数据给后台,后台对数据进行分析,判断,然后产生其作用[9]。
以农田种植为例,智慧农业监控系统需要对农田的各类传感器节点进行部署,以及对大面积大数量的传感器进行组网。然后通过一定的路由算法进行数据采集传输,对农田内的作物生长状态可以进行视频监控。传感器采集普通数据和视频数据可以周期性的传输到数据库中,有专门的Web来提供登录界面,农户可以足不出户的进行农作物生长状态查询。专家可以通过数据来进行技术指导,智慧农业还可以应用在温室大棚,水产养殖等方面。
2 无线传感器网络路由协议设计
随着科技和社会的飞速进步,无线传感器网络技术已经成为通信行业的重要部分,为了满足时代发展的要求,怎样提高无线传感器网络路由协议的工作效率,延长它的使用周期,让资源高效利用成了重要的探讨研究部分。路由协议法则将源节点信息发送到目的节点,包括源节点的寻找和节点间的路径优化两个方面,根据路由协议的设计要求,通常要满足的要求[10]:能量高效、数据传输路径最优,簇头支持数据融合。
2.1 基于划分四边形网格分簇的拓扑控制算法
基于划分四边形网格分簇的拓扑控制算法(TCA-VGC),是针对LEACH算法缺点而改进的控制算法。此算法在监控区域内划分了四边形的虚拟网格,让每个单元内运行成簇算法,在每个单元格独立成簇,从而降低整个网络能量损耗。
(1)TCA-VGC算法采用如下的能量模型。
d为两个传感器节点间的距离,能量消耗是自由空间模型的要求:通信距离d ETx(l,d)=lEelec+lEfs*d2d (1) ETx(l,d)=lEelec+lEmp*d4d≥d0 (2) 其中l*Eelec是数据进行编码,解码,调制等过程需要的能量,Efs和Emp两种功率模型下能量的消耗,d0为自由空间模型下的通信最大半径,且: (3) 其中f=n_(i).xd-sink.x, g=n_(i).yd-sink.y,d表示节点i与sink节点之间的距离,n_(i).xd和n_(i).yd分别为节点的横坐标和纵坐标,sink.x和表示sink节点的横坐标和纵坐标。 (2)TCA-VGC算法的实现过程。 第一阶段: 虚拟网格的生成。在该阶段,在边长r满足一定的前提条件下,将整个无线传感器网络区域划分为多个r*r虚拟四边形网格单元,要求相邻网格单元内的任意节点都可以通过一跳来直接通信,其中R为传感器节点的最大通信半径,r为虚拟网格单元的边长。当满足(4)式时,两个相邻的网格单元的任意节点均能通过一跳或多跳直接通信。 第二阶段:虚拟单元网格内节点的统计。此阶段,节点按自己地理位置信息加入虚拟四边形单元格,并向邻近的节点广播消息,发送自己的节点及所在单元格节点状态信息。在同一网格内的节点接收到消息后,回复自身节点的信息,并记录广播消息的节点信息,否则删除此消息。这个过程完成后,每个节点都有了在同一网格里的其他节点信息。 第三阶段:建立虚拟四边形网格和形成簇头节点。此阶段中,按成簇算法来选择出簇头,每次生成的簇头都是剩余能量最多的节点。 En_(i),E_initial为节点的剩余能量和初始能量。 令: (5) 为节点被选择为簇头的概率。Po_(i)的值越大,表明节点成为簇头的几率就越高,这样就能让能量多的节点选为簇头节点,避免了能量低的节点,因为被选为簇头节点而能量快速消耗完全的的情况。 第四阶段:此阶段为拓扑生成和数据传送。选用最短的路径来转发数据,这样当整个网络的拓扑结构形成之后,每个节点到簇头都有最优的路径,整个网络也为最优路径的拓扑网络,然后为数据的采集和发送,节点发送信息给簇头,簇头将信息融合后发送给下一级信息处理点。 仿真实验通过MATLAB2016a完成对无线传感器监测网络的性能仿真,将LEACH算法与TCA-VGC算法分别从形成的网络拓扑结构,节点死亡、能量消耗三方面进行对比。 2.2.1 网络拓扑结构仿真 将仿真目标设置为1 000*1 000,节点数为500。如图1所示,*为簇头节点,由于 LEACH的成簇算法是随机的,节点成簇均是在任意地方随机的成簇,会造成拓扑结构的随机性形成,所以其拓扑结构是不稳定的。如图2所示,在使用划分四边形虚拟网格路由算法后,每个网格会生成一个或是多个簇头节点,这类簇头节点将自己网格内的节点数据,发个下一级高级节点。TCA-VGC算法将监测区域划分为多个四边形网格并在网格内运行成簇算法,算法的变化范围只在小网格内,所以算法得到的网络拓扑结构是稳定的。 图1 LEACH算法node=500 S=1000*1000拓扑结构图 图2 TCA-VGC算法在node=500 时形成的网络结构 2.2.2 节点死亡数量与时间的关系 将节点的数量定100,时间轮数定为2 000,来对两种算法进行比较,由图3可以看出在400轮时,两种算法死亡节点开始拉开差距,并且随着时间的推移,LEACH算法的死亡节点急剧增多,系统死亡节点越多系统越容易陷入瘫痪状态。TCA- VGC算法竞争簇头时,每个周期的簇头都是能量最多的,死亡节点减少,保证了簇内各节点的数量,所以TCA-VGC算法死亡节点相对少。 图3 LEACH和TCA-VGC算法死亡节点数量对比 2.2.3 能量消耗与时间的关系 将节点的数量定为100,时间轮数定为2 000,由图4可以看出,在整个仿真中 TCA- VGC算法能量消耗的少,TCA- VGC算法用节点的剩余能量作为选择簇头的依据,这样避免了监测系统能量的不均衡的情况。 图4 两种算法节点能量消耗与时间关系 节点定位技术在无线传感器网络中有着很重要的作用,让每一个传感器节点都能报告自己的位置是最好的,但是目前现状是给每一个传感器加装GPS定位装置的成本是非常高的,所以只能给一部分节点加装GPS定位。而怎么能让少量的加装GPS的节点能够实现全局定位,成了我们探讨的重点。无线无线传感器节点定位中,节点通常分为两类,一类是安装有GPS位置信息已知的锚节点,一类是位置不清楚的普通节点。 三边测量法属于基于距离的的节点定位算法,图中锚节点B、C、D的坐标位置可以分别表示为(xB,yB)、(xC,yC)和(xD,yD),并且与未知节点A之间的距离分别为dAB、dAC和dAD,未知节点A的坐标为(x,y)则有: 图5 三边测量法 (6) 由上式可以解得,普通节点A的坐标为: (7) 其中: 三边测量法利用三个节点就可计算未知节点,计算简单。 本章设计的基于WSN的面向智慧农业节点定位算法中,考虑到一般的农田等地理环境的要求,系统节点选择随机不均匀部署。在设计过程中还要考虑节点部署成本,部署节点轻巧微型化等要求,只能允许一部分节点带有GPS定位装置,这部分节点被称为锚节点。这些锚节点非均匀分布在不同的监控区域。本文提出的基于临时锚节点逐步定位全网的定位算法,利用部分普通节点,作为临时锚节点,利用临时锚节点来协助锚节点工作具体流程如下: (1)节点通电正常运行后,自带GPS的锚节点开始广播信息,包括地理位置坐标,节点ID,最大洪泛次数TTL,监测区域内接收到广播的普通节点根据广播信息利用三边测量法可定位自己的地理位置。 (2)锚节点信息洪泛完毕后,接收锚节点洪泛信息的普通节点计算自身位置,成为临时锚节点。 (3)初次定位完成后,锚节点和普通节点继续重复操作(1),直至全网的定位完成,节点定位工作完成。 为了验证本文设计的节点定位算法在农业生产中的性能,在matlab2016a上仿真测试,假设选取的生产区域都是长宽均为1 000*1 000的正方形区域,为了节约成本,其中锚节点要求为50,找出最优的普通节点部署,让定位误差最优。下面分别从邻居关系图,定位误差两个方面来对节点分别为100,200,400的节点来做对比。 3.3.1 监测区域不同节点对比图邻居节点关系图 在无线传感器网络节点定位中,临近锚节点数目的多少一定程度上决定了节点定位的精确程度。仿真场景中的邻居节点关系图反映了未知节点与锚节点间相互通信关系,是一个能够大致反映节点定位精度的图。图6的(1)(2)(3)所示总节点分别为100,200,400,其中50个锚节点的邻居关系图。*表示锚节点,O表示普通节点,线表示锚节点与普通节点间的通信关系。 图6中(1)总节点为100:,网络的平均连通度为:9.9网络的邻居锚节点平均数目为:4.98。毎个未知节点平均能够接收到4.98个锚节点的地理信息广播,能够与邻居的9.9个节点收发数据。 图6中(2)总节点为200:网络的平均连通为:20.47网络的邻居锚节点平均数为:5.32。毎个未知节点平均能够接收到5.32个锚节点的地理信息广播,能够与邻居的20.47个节点收发数据。 图6中(3)总节点为400:网络的平均连通度为:43.03网络的邻居锚节点平均数目为:5.4毎个未知节点平均能够接收到5.4个锚节点的地理信息广播,能够与邻居的43.03个节点收发数据。 3.3.2 不同普通节点定位误差对比图 同一场景普通节点数不同时仿真得出的定位误差图如图7所示:-表示未知节点的定位误差是未知节点的计算位置和实际部署位置之间的连线,也就是定位误差。 图7 3种不同节点定位误差图 图7中(1)节点总数100时,定位的误差为0.110 43。图7中(2)节点总数为200时,定位误差为0.040 939。图7中(3)节点总数为400时,定位误差为0.044 867。总的来说,节点定位误差都在可接受范围内,设计的节点定位算法能够对全网节点实现精确的定位,但是如果要是算法性能更优,选择布置总结点数为200,网络的平均连通性越好,定位误差是最小的。 智慧农业是我国农业现代会的一种奋斗目标。文章从无线监控系统的路由协议和节点定位算法两个方面来进行研究,结果表明基于划分四边形网格分簇的拓扑控制算法不管应用在农田无线监测系统还是温室大棚无线监测系统,都有良好的使用性能。基于临时锚节点逐步定位算法在节点数为200,其中锚节点为50时,节点定位误差最小,但是从邻居关系图看出节点越多,这种算法的连通性越好[12-19]。2.2 仿真环境
3 无线传感器网络定位技术
3.1 三边测量法
3.2 基于临时锚节点逐步定位算法介绍及工作流程
3.3 仿真模拟
4 结论