基于RSSI测距的WSN定位网络监测系统设计
刘贵云+邬嘉麒+许国良+邱宾豪
摘 要:文章分析了基于RSSI测距的WSN网络定位技术,以ti CC2530芯片为核心设计定位节点,实现了一套适用于各类室内密闭环境的WSN定位网络。针对RSSI测距精度有限、易受环境干扰的问题,文章设计了一套测距模型参数校准流程,用以降低RSSI测距误差,提高系统定位精度,并开发了上位机操作程序,便于用户实时监测网络运行情况。
关键词:RSSI测距;无线传感器网络;室内定位;ZigBee
无线传感器网络(Wireless Sensor Network,WSN)由大量成本低廉的传感器节点以无线通信的方式组建而成,各网络节点可独立进行数据采集、处理和传输。无线传感器网络由于其网络组织形式灵活、节点分布范围广泛、组网成本较低的特点,在医疗监控、环境检测、国防军事等领域得到广泛应用。因此无线传感器网络可以为定位系统的构建提供良好的硬件基础和实现条件。
无线传感器网络定位技术按照测量原理可划分为基于测距和无需测距两类[1],其中基于测距的WSN定位方法(如toa,aoa,tdoa)一般需要装设用于精确测量信号来源方向或信号接收时间的装置[2-3],定位精度相对较高,但存在节点体积大、网络造价高等不足[4]。通过检测接收信号强度指示(Received Signal Strength Indicator, RSSI)实施距离估计[5]。由于RSSI测距技术无需额外添置测距设备,实现原理简单,具有节点体积小、功耗低、成本低廉的优点,适用于运算性能与硬件功耗受限的无线传感器定位网络[6]。
1 测距原理与硬件设计
1.1 RSSI测距原理
RSSI测距技术通过检测接收信号强度指示实施距离估计,利用经过校准的理论模型或经验公式,将信号强度值转化为节点间距离,并通过位置解算实现目标定位[7]。基于RSSI测距的无线传感器网络定位系统通常采用传统的对数距离路径损耗模型[8],其模型参数一般用经验值代替,其表达式如下:
(1)
式中d为收发节点之间的距离,p(d)为收发节点之间的信号强度损耗值,d0为信号强度参考点,p(d0)为参考点的信号损耗值,n为与环境因素相关的路径损耗因子;xσ为服从正态分布的误差修正项,有xσ~n(0,σ2)。设发射节点的传输功率为pt,则接收节点处信号强度可用下式计算:
(2)
根据理论分析,在自由空间中传播的ism频段(2.4 GHz)无线信号随着距离增加,大致呈对数规律衰减。在信号源附近区域信号衰减迅速,信号强度因测量误差或环境随机干扰造成的偏差经过测距换算后,将产生明显误差。在远离信号源区域信号衰减趋势平缓,信号强度几乎无法反映距离特征。因此定位网络各节点之间的间距不宜过大或过小。
1.2 节点硬件设计
无线传感器网络由协调器(coordinator)、路由器(router)、终端节点(end node)组成,采用自组织的方式组建无线传感网络,其中协调器是网络的核心,负责网络的初始组建和运行监督。按照节点位置信息的获取方式可将定位网络节点分为盲节点(blind nodes)和锚节点(anchor nodes)两类,基于RSSI测距定位网络的主要功能就是根据已知的锚节点位置坐标和节点间距,推算出待求的盲节点坐标。
各节点的硬件电路由微处理器核心、人机交互模块、超声波测距模块和电源模块组成,硬件结构如图1所示。其中微处理器核心采用ti公司CC2530芯片,外接32.768 kHz晶振,与单根竖直放置的3 dbi全向天线配套使用,其片上的无线传输模块最大发射功率可达4.5 dbm。微处理器核心利用ZigBee协议(ieee 802.15.4)建立射频通讯,选择合适信道与周围节点建立低功耗、短距离无线通信网络。
节点电路采用两节18650锂离子电池串联供电,经电源管理模块稳压后向其余各部分电路提供持续的3.3V和5V直流稳压电源。人机交互模块由lcd液晶屏、蜂鸣器、按键等组成(见图2),用于指示电源状态、显示提示信息。系统将通过lcd屏幕实时展示装置的运行状况,向用户适时发出操作提示信号。用户也可通过按键调整节点装置的参数设置,保证人机交互的准确性和高效性。
超声波测距模块采用RB-URF02型超声波传感器,通过超声波遇障回传的时间差间接测得距离,具有精度高、能耗小、成本低的优点,可实现视距范围内的精确测距。微处理器接收到超声波测距模块回传的响应信号后,经过换算后获知两节点间的距离,其测量结果将作为两节点间的实际距离供信号校准参考。
2 校準流程与软件设计
2.1 节点定位流程
本文设计实现的网络节点定位程序采用iar embedded workbench for8051编写,各节点接收信号的强度由cc2530内置的射频通讯模块测出,RSSI数值从z-stack协议栈中的结构体afincomingmsgpacket_t中取出。定位网络中各节点依据表1中所列流程实现实时定位。
表1 节点定位流程
节点定位流程
1. 各节点加入WSN网络。
2. 用户在上位机监测程序中标记各节点坐标、类型。
3. 对当前环境进行模型参数校准。
4.盲节点广播自身设备编号值,各锚节点接收信号的同时提取RSSI数值,取5次连续测量的RSSI数值,并对测量结果作均值滤波处理。
5.各节点的RSSI数据上传至上位机监控程序汇总并解算盲节点坐标。
6.如果接收到上位机监控程序的参数校验指令则返回步骤3,重新校准模型参数;否则返回步骤4,实时更新各盲节点的位置坐标。
锚节点坐标、节点间距与盲节点坐标之间满足下列关系
(3)
式中(x,y)为盲节点坐标,网络中n个锚节点坐标为(xi,yi),di为i号锚节点与盲节点之间的距离。根据3边定位原理,每个盲节点至少需要获得与3个锚节点之间的节点间距才能确定其坐标信息[9]。为便于求解,将上述非线性方程组转化为线性方程组
(4)
(5)
(6)
上位机监控程序接收到各节点上传的RSSI数据后,可用下式求取方程组的最小二乘解,获得盲节点的坐标参数。
(7)
2.2 参数校准流程
由于无线信号在密闭空间内存在多径传播、非视距传播、小尺度衰落等因素,在室内空间、山体涵洞等实际应用场景中,理论模型的估算结果存在严重偏差,难以获得较高的测距精度[10]。为了减小环境因素对距离估算结果的影响,提高系统测距精度和定位性能,需对模型参数进行实地校准和现场修正,使模型能准确反映实际应用场景中的信号传输特性,从而确保定位系统能在各类环境中获得较高的测算精度。
本文利用节点硬件电路上,设计了模型参数校准流程(见表2)。选定距离信号源2.5~5 m范围作为校准距离区段,以0.5 m为间隔均匀取点,定义校准距离序列为{2.5,3.0,3.5,4.5,5.0}(单位:m)。
表2 模型参数校准流程
模型参数校准流程
1. 选定参与模型参数校准的节点组合,确定其设备编号和mac地址。
2. 从校准距离序列中取出本轮循环的校准距离值。
3. 用户手持校准装置,朝着远离目标节点的方向缓慢移动,调整两节点之间的间距。期间超声波测距模块持续开启,不断测量目标节点和校准装置之间的实际距离。
4.判断超声波测得的实际距离与预设的测距距离偏差是否大于阈值,如果偏差较大满足,则进一步判断其偏差类型。若实际距离偏小,满足,则亮起远离指示灯,蜂鸣器鸣响,提醒用户增大两节点间距离;否则亮起靠近指示灯,直至实际距离与预设距离的偏差满足精度要求。
5.测量20次当前位置的RSSI值,取其平均值,保存测量结果。
6. 如果校准序列中尚有未测量RSSI值的位置点,则返回步骤2。
7.将各次测量所得的RSSI值,上传至上位机或网络协调器节点进行模型参数解算,并由协调器节点在定位网络中分发,算法结束。
完成校准工作流程后,其校准结果将通过射频收发模块向WSN定位网络中的协调器节点发送处理结果,及时调整衰减模型参数,使最新模型参数立即在定位网络中得到应用。校准流程可由用户根据环境参数变化手动执行,也可由上位机监控程序自动定时触发,以便及时提高定位系统的测距精度和定位性能。
2.3 监测界面设计
为了简化WSN定位网络的管理流程,便于用户在特定应用空间内架设基于RSSI测距的WSN定位系统,本文采用Microsoft Visual c# 2015 編写上位机监控程序,软件界面如图3所示。监控程序提供可视化图形界面,通过串口协议与网络中各节点建立无线通信,向用户提供运行数据实时显示、测距模型参数管理、节点信息设置、实时位置解算等功能,以提高网络管理操作的便捷性。
当用户需要组建WSN定位网络时,首先应通过设置窗口设置串口通信参数,建立协调器节点与计算机之间的通讯连接。通讯连接建立后,可在上位机程序中为各网络节点分配设备编号,为各节点逐一选择节点类型,并为锚节点登记位置坐标。各定位节点的RSSI测距模型在初始化时使用默认参数,用户可根据环境需要触发校准流程获得更准确的模型参数,提高系统定位精度。
WSN定位网络启动后,终端节点在本机测量RSSI数值,通过射频通讯与协调器节点建立联系,将测量数据上传至上位机进行汇总分析和实时换算,并将盲节点的位置坐标解算结果实时显示,在平面图上标注出区域内各节点的位置信息。用户可在界面左上方的“实时数据”区域观察当前网络中各节点的运行数据,当应用环境发生变化后可以执行校准操作,重新校准该节点的测距模型参数,降低因环境因素造成的定位误差。
3 结语
本文针对RSSI测距精度有限、易受环境干扰的问题,设计开发了一套基于RSSI测距的WSN定位网络监测系统,用户可通过上位机及时获知网络中盲节点的实时位置,并根据环境变化及时校准测距模型参数。引入测距模型参数校准流程后,定位网络将根据环境因素的变化对距离估算模型进行修正,实时更新模型参数,确保模型能准确反映实际应用场景中的信号传输特性,从而提高测距精度和定位性能,可用于在物流仓库、地下车库、山体涵洞等密闭空间中实施有效定位,具有较高的实用性。