池 涛,汪 磊*,陈 明,李丙春,孜克尔·阿不都热合曼,王文龙
(1上海海洋大学信息学院,上海 201306;2喀什大学计算机科学与技术学院,喀什 844006)
我国的新疆维吾尔自治区是一个典型的农业区,一直面临着地理环境复杂,电信基础条件差,网络设施不完善等问题,这些问题直接影响着西部农业经济的发展。随着无线传感器网络技术在农业生产中的发展,如何在西部农业灌区中布设低成本、高效率的物联网已成为目前研究热点。
基于无线传感器网络在农业中的应用已进行了深入的研究,针对不同的农业环境设计了多套基于Zigbee无线传感网络农业监测系统,对不同应用场合下产生的节点定位问题进行分析并解决。其中赵昭等[1]针对现有定位算法中RSSI测距易受外界环境干扰等问题,通过修正RSSI测距中节点之间的距离,选取信标节点,采用加权质心算法定位,提高定位精度;罗清华等[2]为解决现有Bounding-box算法中,定位精度无法随距离估计精度的提高而提高等问题,抛弃传统采用正方形重叠区区域中心作为定位结果的方法,提出了一种采用圆形通信区域模型定位算法;刘锋等[3]针对传统DV-hop算法中通过单个锚节点估计平均跳距产生的误差,对未知节点的跳距进行加权,提高了网络定位精度;除此之外,还可通过设置阈值和优化机制或者基于多条的方式对定位方法进行优化[4-11]。但现有监测系统和位置信息定位算法均是在小面积、无外界干扰的实验室或温室环境中进行应用,且应用场景对网络锚节点密度要求高,提高了硬件成本,并不适用于广阔的西部农业灌区。
本研究针对西部农业灌区应用场景,采用Zigbee与北斗定位技术相结合方案,设计一套基于Zigbee技术与北斗定位技术相结合的无线传感器网络监测系统,实现网络对监测区域环境参数的采集,以期达到农民对灌区信息变化的实时监控,均衡网络负载能力,提高网络寿命。
如图1所示,西部农业灌区内通过Zigbee自组网特性将监测区域分为若干个逻辑簇,IEEE 802.15.4标准按功能将物理节点分为两类,一类是全功能设备(FFD)。另一类是精简功能设备(RFD),FFD担任网络中路由节点和协调器节点,RFD担任网络中终端节点。终端节点不具有路由功能,只能将信息给协调器路由节点或协调器节点,每个簇内由路由节点作为父节点,多个终端节点作为子节点。
图1 Zigbee网络布点Fig.1 Zigbee network distribution
在中大型网络管理中,分簇网络簇头能量消耗快于其余节点,在簇头节点能量耗尽时容易导致网络瘫痪,缩短网络寿命。为解决这种问题,延长网络寿命,本研究在国内已有的路由研究基础上选取一种簇树路由和AODVjr路由相结合的路由算法CLZBR,将网络分为多个逻辑簇。簇内采用树路由算法,减少冗余分组,降低能量消耗,通过设置备用节点解决簇头能量耗尽时导致的网络瘫痪问题,维持网络稳定性;簇与簇之间采用AODVjr路由算法传递数据,通过路由发现最佳路径。
网络中节点地理位置信息在农业环境监测中具有重要意义,也是目前国内外研究热点之一。在西部农业灌区中,因地理环境复杂性和网络节点密度等原因,在实际定位过程中采用常见的基于加权的三边定位算法对网络节点进行定位,但在网络中仍然存在着边缘节点位置信息定位缺失问题。
1.2.1 边界盒算法
为解决传统网络中特殊节点定位问题,常采用传统的边界盒算法进行边缘节点定位。如图2所示,边界盒算法中终端节点在接受到通信范围内路由节点发出的定位请求后,已知通信范围内有2个路由器节点(A、B),则终端节点位置处于节点A的通讯范围圆的外接矩形与节点B的通讯范围圆的外接矩形的相交部分CDEF内,将矩形区域的中心点O作为最终定位结果。在实际测量定位中,传统边界盒算法定位精度不高,且适用范围有限,需对边界盒算法进行改进,增加算法实用性,提高算法精度。
1.2.2 改进型边界盒算法
西部农业灌区受独特的地理环境影响,导致网络中节点密度不足,锚节点分布稀疏,多数边缘节点无法使用上述定位方法进行定位,造成节点位置信息缺失,产生网络定位盲区。
(1)如图3a所示,终端节点的通信半径内能够接收到3个已知位置路由器A、B、C节点。此时分别以A、B、C点为圆心,以d1、d2、d3为半径的圆不能同时相交于一块区域内,因此传统的基于加权的三边定位算法不能对终端节点进行定位。
(2)如图3b所示,终端节点与两个已知坐标位置的路由器节点A、B通信。终端节点通信范围内只能接受到两个路由器节点,终端节点位于以路由器节点为圆心,以路由器节点到终端节点距离为半径的两圆相交部位。此时只能确定终端节点处于两圆相交区域内,无法准确判断节点实际位置。
图2 边界盒算法Fig.2 Bounding box algorithm
图3 实际定位中常见的两种问题Fig.3 Two common problem s in actual location
为解决上述实际监测系统中遇到的定位问题,通过改进边界盒定位算法对终端节点位置定位。当圆A与圆B相交一块区域,圆C与圆A不相交,此时无法使用加权三边定位算法进行定位,需通过改进型边界盒算法进行定位。如图4所示,圆C的内切矩形与圆A、圆B的外切矩形相交于区域DEFIHG中;若RSSIA<RSSIB,将终端节点估计位置缩小到区域EFIH中,取EFIH的中心为估计的节点位置;反之取DEHG的中心为估计的节点位置。
当终端节点的通讯半径内接收到两个路由器节点A、B时,可以直接采用常规的边界盒算法对节点位置进行估算。虽然边界盒算法可以估算出节点位置坐标,且算法计算量简单,但是定位误差与节点能量损耗较大,不利于广泛使用。为了能得出更精确的位置坐标信息,在经过边界盒算法初步对节点坐标区域进行确定后,通过图5方式对节点坐标相交区域进一步进行缩小,减少定位误差。如图5所示,将两路由器节点A、B通信圆相交部分缩小到四边形CDEF中,取四边形的质心O作为终端节点估计位置。当路由器节点A离终端节点较近时,O点位置偏向A点,反之,O点位置偏向B点。
1.2.3 基于邻居终端节点的定位优化
为缩减终端节点估计区域范围,提高定位精度,通过终端节点通信范围内其他的节点对节点位置进行再次缩减。如图4、5所示,通过改进型边界盒算法估算出终端节点O的边界区域ABCD,终端节点Q的边界区域为EFGH,终端节点O向其通信范围内其他节点广播它的边界区域信息,当终端节点Q接收到O的边界区域信息后,向外广播自己的边界区域信息。如图6所示,分别以终端节点Q的边界点E、F、G、H点为圆心,以节点通信范围为半径做圆,分别与边界区域ABCD相交于I、J、K、L点,则取IJKL区域中心点为终端节点O的估计点。
根据西部农业灌区地理环境,设计了一套基于Zigbee结合北斗技术的农业监测系统,整个系统由Zigbee网络与上位机(控制中心)组成,最底层为终端节点,向上依次为路由节点,协调器节点和上位机(控制中心),具体结构如图7所示。
图7 农业监测系统Fig.7 Agriculturalmonitoring system
(1)终端节点:属于半功能设备(RFD),主要功能为测控应用,传输数据量较少,能量功耗最低,经Zigbee协议栈实现与路由节点及协调器节点之间组网,通过各种传感器收集周围环境参数,传递给邻近路由节点。
(2)路由器节点:属于全功能设备(FFD),处于常开状态,传输数据量较多,能量功耗较高;该节点上配置北斗模块,用于自身坐标的绝对定位,对终端节点坐标定位起到辅助作用,将终端节点采集环境参数信息传递给协调器节点,当协调器节点能量消耗过多停止工作时自动升级为协调器节点。
(3)协调器节点:属于全功能设备(FFD),用于建立网络并对网络进行管理维护,包括节点的加入和退出,为加入的节点分配网络地址,将路由节点中信息通过Internet传递给上位机,当协调器节点能量消耗过多时由其余路由节点自动升级为协调器节点。
(4)上位机:即监控中心,显示网络中传感器收集的温度、湿度、光照等环境参数,网络节点坐标位置,节点剩余能量等信息,通过观察状态变化进行合理调整,发出控制命令。
CC2530实现了IEEE 802.15.4的无线传感器网络协议,具有高性能、低功耗的增强型8051微控制器,专门读取RSSI值的寄存器,高级加密标准(AES)协处理器,8 kB的RAM及其强大的支持功能和外设(8路输入8—14位ADC,1个通用的16位和2个8位定时器)以及能够适应2.4 GHz IEEE 802.15.4的RF收发器。
(1)终端节点:以CC2530芯片为处理器,外接低功耗射频前端CC2591芯片,用以放大RF模块接受和发射功率;采用DS18B20温度传感器和BH1750FVI光照传感器进行温度和光照数据采集。
(2)路由器节点:在终端节点硬件结构基础上外接低功耗射频前端CC2591芯片,放大RF模块接受和发射功率,扩大网络覆盖面积,提高网络工作效率。
(3)协调器节点:采用CC2530F256芯片为核心,256 kB可编程flash,设有LED指示灯、串口模块、WAN口、LAN口、LCD等模块。
2.3.1 终端节点软件设计
终端节点是个半功能节点,外接多种传感器模块,可通过传感器进行温度、湿度和光照等环境参数采集;软件设计流程如下:1)上电后完成节点外围电路和Zigbee堆栈初始化;2)信道查询,选择合适网络等待加入,向网络中协调器节点发出请求申请,等待协调器节点发出响应;3)加入网络后,通过ADC采集环境参数;4)将采集的环境参数向协调器节点连续传递几次后自动进入休眠,等待协调器节点发出请求时再次激活。
2.3.2 协调器节点软件设计
协调器负责网络的建立,扫描入网请求,软件设计流程如下:1)上电后完成Zigbee协调器节点外围电路及协议栈初始化;2)建立网络;3)信道查询,选择合适信道进行能量检测避免可能性干扰,等待终端节点和路由节点的入网申请;4)终端节点和路由节点加入网络后,将节点上传感器采集的温湿度等参数数据;5)与上位机进行串口通信,将环境参数数据传递给上位机,同时接受用户通过上位机输入控制命令。
2.3.3 北斗模块数据处理
北斗模块在电源导通的状态下会源源不断地把接收到的和计算的导航信息通过串口传递给CC2530数据处理模块,再通过筛选将信息传递给控制平台,所有的信息以“$”(0x24)开始,后面紧跟消息名,之后是不定数目的参数或数据,最后一个参数是可选的校验和。所要获得的信息主要为时间、纬度、经度等数据,采用 BDGGA消息格式,具体格式为 BDGGA,time,Lat,N,Lon,E,FS,NoSV,HDOP,msl,M,Altrel,M,DIffAge,DiffStation*cs。北斗信息处理流程如图8所示。
图8 北斗信息处理流程图Fig.8 BeiDou information processing flow chart
选取3块200 m×200 m的灌溉区域,将终端节点和路由节点随机分布在2块区域中,节点通信半径为100 m,每个区域内有5个已知位置的路由器节点,20个需要待测的终端节点。在区域1内调节路由器节点与终端节点位置,满足终端节点的通信半径内至少有3个路由器节点。在区域2、3内调节路由器节点与终端节点位置,满足终端节点的通信半径内有两个路由器节点。
为验证改进型边界盒算法在节点稀疏的西部农业灌区中是否适用,采用平均定位误差率作为此算法的评价指标,其定位误差为定位算法测量的位置与节点实际位置的距离与节点通信半径之比,如式(1)所示:
其中(xi,y)i表示终端节点测量位置,(x,y)表示终端节点实际位置,R表示节点通信半径,N表示N个节点。
图9、10、11分别表示3个网络区域中分别采用基于加权三点定位算法、改进型边界盒定位算法及传统边界盒定位算法时终端节点的实际坐标与测量坐标,其中网络节点通信半径为100 m,图 9、10、11中 A、B、C、D、E点表示路由器节点,Fi节点表示第i个终端节点实际位置,fi节点表示第i个终端节点的测量位置。
图9 区域1节点坐标图Fig.9 The node coordinates of regional 1
图10 区域2节点坐标图Fig.10 The node coordinates of regional2
图11 区域3节点坐标图Fig.11 The node coordinates of regional 3
根据式(1)进行计算,基于加权的三边定位算法的节点误差率为10.5%;边界盒算法的节点定位误差率为18.5%;改进型边界盒算法的节点误差率为15.5%,比基于加权的三边定位算法的节点误差率高出48%,比边界盒算法的节点误差率下降了16%。试验结果证明,3种定位算法并不适用于对位置信息精度较高的小面积农区内,但针对某些对位置精度要求不高的广阔西部农业灌区可以使用。通过加权三边定位算法与改进型边界盒算法相结合,应用于西部农业灌区中网络节点的监测,既减少了硬件成本,又可以提高网络覆盖率,解决边缘节点信息的缺失问题。
本研究设计的以物联网技术为核心的西部农业灌区即时监测系统是将物联网与终端管理结合起来,利用Zigbee技术与北斗定位技术结合完成整个系统设计。针对农业灌区中节点密度不足导致的边缘节点位置信息缺失的实际难题,基于已有的边界盒算法基础上提出了一种改进型边界盒算法,在Matlab仿真环境和西部农业实际灌区中对多种定位算法进行验证。通过Matlab对加权三边定位算法、边界盒算法及改进型边界盒算法进行仿真,仿真结果证明改进型边界盒算法解决了基于加权的三边定位算法及其他定位算法中边界节点位置信息缺失问题,节点误差率比基于加权的三边定位算法高48%,相比于传统的边界盒算法的节点误差率下降了16%;在实验室已有农业灌区监测系统上对改进型边界盒算法进行实地验证,验证效果显示相比于传统的边界盒算法有所改善,虽然无法使节点误差率降低10%以上,但适用于面积广阔的对节点位置信息精度不高的西部农业灌区。
目前,西部农业正处于处于从粗放型农业种植到精细化农业生产转换的重要时期,如何解决农业物联网在西部农业灌区的实际应用难题仍然是实现数字精准农业的重要障碍。尽管本研究的即时监测系统与改进型边界盒算法在实际应用中取得预期效果,但仍然是对我国西部农业物联网研究的继承与发展。
[1]赵昭,陈小惠.无线传感器网络中基于RSSI的改进定位算法[J].传感技术学报,2009,22(3):391-394.
[2]罗清华,焉晓贞,彭宇,等.圆外切 Bounding-box WSN定位方法[J].哈尔滨工程大学学报,2015,36(4):567-572.
[3]刘锋,张翰,杨骥.一种基于加权处理的无线传感器网络平均跳距离估计算法[J].电子与信息学报,2008,30(5):1222-1225.
[4]邓小蕾,李民赞,武佳,等.集成 GPRS、GPS、ZigBee的土壤水分移动监测系统[J].农业工程学报,2012,28(9):130-135.
[5]赵雁航,钱志鸿,尚小航,等.基于跳距修正粒子群优化的WSN定位算法[J].通信学报,2013,34(9):105-114.
[6]向满天,王胜,杨友华.基于阈值机制与距离校正的WSN改进DV-Hop定位算法[J].传感技术学报,2016,29(6):920-926.
[7]毛永毅,陈鹏.WSN中基于多功率移动锚节点的智能定位算法[J].西安邮电大学学报,2016,21(3):48-53.
[8]武时龙,张万礼,杨小莹.RSSI修正的 WSN定位算法[J].重庆大学学报,2014,37(8):144-150.
[9]SICHITIU M L,RAMADURAIV.Localization ofwireless sensor networkswith amobile beacon[C]//IEEE International Conference on Mobile Ad-Hoc and Sensor Systems.IEEE,2013:174-183.
[10]SAHU P K,WU H K,SAHOO J.DURT:Dual RSSITrend Based Localization forWireless Sensor Networks[J].IEEE Sensors Journal,2013,13(8):3115-3123.
[11]MALEK A G,LIC L,LIU Y C,et al.Performance Analysis of Improving ZigBee Wireless Network Using AODV Mesh Routing Model[J].Advanced Materials Research,2013,756-759:828-832.