APP下载

基于Zigbee及RSSI的养老院室内定位系统的开发

2018-02-26张凤英

电子技术与软件工程 2018年14期

张凤英

摘要 我国人口老龄化状态日益严重,未来养老院养老势必成为主流。本文针对养老院场地较大,老人发生安全问题时,人员无法及时定位救助的问题,设计了一种基于Zigbee技术的室内无线定位系统。本设计采用TI公司的CC2530芯片作为系统核心,基于Z-STACK协议栈,使用IAR软件平台开发。经实际测试该定位系统易于操作、精度较高,是一种适应性较强的定位系统。

【关键词】Zigbee 室内定位CC2530 RSSI

1 引言

近年来,随着生活水平的日益提高及医疗技术的不断发展65岁以上的老龄化人口越来越多,养老方式成为社会研究的重要课题,这其中养老院养老成为越来越多老龄人口选择的养老方式,老年人随着年龄增长慢慢会得的老年病,典型的阿兹海默症,失智症,在老年群体越来越严重。所以对于在养老院养老的老龄人口进行及时定位救助非常有必要。ZigBee技术是一种易于施、能耗低、复杂度低、花费低的无线通信技术。基于ZigBee的定位方式所采纳无线射频信号能够进行较为健壮的传输,是一种较为稳定的系统。再者ZigBee更多的关注于低数据传输速率,其更加适用于节点个数多、分布区域广、所处环境复杂等特点的定位需求。

2 系统整体设计

2.1 定位系統结构设计

与其他定位网络架构相比较,ZigBee定位网络在铺设己知锚节点和需求取未知节点外,还需要协调器(网关)这关键一环才能构建并达成设计目的。网关是整个系统中的重要角色,首先它需要能够响应主机发出的命令,打开网络,等待其他类型节点访问网络,并接收节点发送回来的数据,将数据传输到上位机进行处理。对锚节点而言是无法移动节点,其各自的位置参数是已明确设置的。它的任务是获取包括RSSI参数等定位相关参数并对所需参量采取合理算法进行处理。最后,发送盲点填充的参数均值后,发送盲点填充参数,将协调器返回到上位计算机软件处理。而且能起到链路路由的作用进行数据中继。盲节点是可在锚节点的物理范围内随机移动的非固定节点,定位的目的是获取本类节点的坐标参数。

2.2 定位系统方法研究

基于RSSI(接收信号的强度指示值)的定位方法是一种普遍适用的方法,节点依据接收信号的强度指示值与传送距离的相合映射关系(函数关系式)得到距离参数。这是定位流程中最为核心的环节,必须在完成了这一核心环节后,进而调用其他各类定位算法计算盲节点的位置信息。

2.2.1 理想测距模型

理想状况下,RSSI是接收双方间所传输功率和距离的映射关系。接收信号强度一般为负值随着距离的增加而减少。下面公式4.1给出了RSSI与距离d的理想关系。该式中,λ为信号传播常量,也称为传播指数;d是信号放射距离。A是在1m处的接收信号强度值。

RSS/(d)=-(lOλlgd+A)

(1)

在实验室环境下为了获取一个有实际意义的理论关系式,在环境中的多个位置布设两个节点间距1米情况下,测试10次RSSI值,取平均值得到A,则n取1~5一个数值的时候,可以绘制接受信号强度值的拟合曲线。通过曲线得到RSSI和距离的关系式。其他盲节点信号强度值可以通过这些关系转换为相应的距离d。在得到距离信息后,使用某种基于距离的定位几何数学算法即可得到坐标完成任务要求。

2.2.2 模型参数优化

在通过协议栈获取改进的RSSI参数值后,紧接着把RSSI值用响应算法对应程序语言实现距离的转化。对于封闭建筑这类复杂度较高的空间场景而言,已有的自用空间模型等模型已不在符合,一种基于统计学模型的对数路径损耗模型是目前较为常用的模型,它已实现于多样化实际区域中取得证实,其通用模型为下式:

在公式中,RS(d)代表距离发射点d(单位:m)处接收到的RSSI值,测量值在运算时可使用绝对值。RS(do)代表距离发射点do处接收到的RSSI值,也称参考衰减RSSI(ReceivedSignal Strength Indication)值,其中do称为参考距离,一般情况下取一米。λ为路径动态衰减指数,表示信号依据传送距离的增加其功率的衰减速度,该值与所处环空间因素有很大关系,取决于现场区域的类型。ξ来表示一个均值为0、标准差为σ的高斯分布随机噪声,其在不同室内场景下的赋值也是有差异一般在3.0到14.0 dB。

则由上面公式推算得到盲节点与锚节点的距离d为:

式中RS(d)、λ和ξ称为模型参数值,三个实参一起决定距离的最终求取值。为提高使用性一般情况下采用多次测量多种环境下参数值进行赋值。此次方案可移植性杰出,在实际场景改动后不必对常量重新测量后系统设置模型参数值,而依托自身算法重新给定参数。

2.2.3三边定位算法

基于RSSI的三边定位算法是未知点的己知三点坐标和RSSI的信号值,这三个点被解决,未知坐标被求解。第一种是将RSSI信号值转换为从未知点到三点的距离,剩下的是解决未知点坐标问题。我们都知道,两个圆将在一个或两个点相交(如果相交),那么三个圆,如果它们相交,必然会在一个点相交(这里不考虑三个检测装置在直线上有两点相交)所以我们需要解决的盲节点是以三个己知节点为中心绘制的三个圆的交点,以及它们与未知节点的距离作为半径,如图1所示。然后,坐标求解转化为找到三个己知圆的交集,然后根据图形几何关联求方程。

在实际应用过程中,很多时候存在导致三个圆也许无法汇聚一点,假设移动节点仅在参考节点的物范围内活动,则会产生如图2所示的四种情形,所以在实际操作中,首先需要判断三个圆中哪几个相交,采用的办法是将三个圆的方程两两组合,根据计算判断是否有解。

如果方程(1)有解(x12,y12)、(x21,y21),判断其中哪个点到(x3,y3)的距离近,选取该点为D;如果方程(2)有解(x13,y13)、(x31,y31),判断其中哪个点到(x2,y2)的距离近,选取该点为F;如果方程(3)有解( x23,y23)、(x32,y23),判断其中哪个点到(xl,yl)的距离近,选取该点为E;所求盲节点的二维坐标即三角形DEF的中心坐标。如果其中方程(1)无实根,则连接两圆圆心,与圆相交两点的直线中心就是D;对于方程(2)、(3)无实根情况下,E、F点也依此求得,就此则可获取中心作为移动节点坐标。

3 定位系统实现

3.1 硬件设计

硬件设计包括核心模块和扩展模块两大部分,核心模块选择TI公司的CC2530片上系统,该芯片集成了无线收发器和增强型8051处理器。并在在单芯片上组装了ZigBee无线电磁发射模组,存储器和MCU。供电电路采用直流(Direct Curren)电池模组供能,直流为5V电源适配器。移动节点采用4节5号电池进行供能。协调器模块需要和上位机通信,所以除了必要的无线通信外还需要串口通信功能,为方便调试串口通信使用Prolific公司生产的一种高度集成的RS232-USB接口转换器。硬件功能模块图如图3所示。

3.2 定位系统软件设计

无线传感网络定位的基本思想是将盲节点附近所有的节点无线覆盖范围内的己知锚节点的信号强度值传输给协调器,同时利用相应的定位算法,由协调器将信号强度值传递到上位机监控软件,计算出未知节点的坐标值并进行显示。协调器建立网络成功后,首先向盲节点广播发送请求定位帧。盲节点收到上述广播帧后,将封装有RSSI值和步跳数设置为1的结构体数据包进行广播,保证只有在单跳范围内的参考节点才能接收到该封装信息包。

参考节点对一跳范围内的锚节点接收到RSSI信号进行预处理,记录该盲点的RSSI值,由于无法处在理想场景下存在干扰波动,该数值并非稳定不变。因此各锚节点可对收取的RSSI值进行适当加工,即简单的对RSSI值求和作平均。盲节点发送RSSI的数据包请求信号,接收到数据包请求命令信号后,参考节点将各種所需参数值按特定协议封装,发送到盲节点。盲节点将数据包发送到协调器。考虑到协调器将组网和串口通信功效用外,仍可兼具锚节点部分效用,所以仅需编译两类相近的算法与数据结构。盲节点定位流程图如图4所示。

3.3 上位机软件设计

协调器将收到的数据通过下述过程发送给主机进行位置信息的显示,基于ZigBee网络定位系统PC处理软件中,与定位相关的功能主要包括两大类:串口通信和讯息处置。定位信息处理包括2个方面:

(1)提供PC和网关节点硬件与软件接口,PC通过调用串口与网关来交互。

(2)区块定位。移用相应定位算法实现程序,打印串口发送数据在PC端显示获取未知节点二维坐标讯息,并显示和保存定位二维坐标。协调器发送数据给主机流程如图5所示。

4 定位测试与误差分析

通过比较未知节点标准位置与多次实测节点的二维坐标值进行为误差分析,设置标准节点的位置坐标为(0.5,0.5),为了提高系统测试精度,数据进行10次采集。将十次结果进行平均值,通过测试计算得X平均值为0.51603米,Y平均值为0.48896米,X值的误差为1.063%,Y值的误差为2.208%。整体测量误差在正负1.635%。如表1所示。

5 总结

本文论述了基于Zigbee技术和RSSI的室内定位技术,详细说明了室内定位系统的基本原理和算法,从理想模型出发,优化了RSSI算法,计算出盲节点与参考节点之间的准确距离;最后在上位机中通过串口打印位置信息,利用校园室内环境进行实际测试,测试结果表明该对于平面定位需求该系统定位精确,误差小。后续将进行节点合理封装,适宜佩戴,并且考虑增加参考节点个数,实现不同楼层间精确定位。

参考文献

[1]陈鹏飞,姜可宇,严翔忠,基于ZigBee的无线传感器网络定位技术研究[J]通讯世界,2017 (12).

[2]白旭华,张瑞峰,王桂英.基于ZigBee网络的室内定位系统的设计与实现[J],天津理工大学学报,2012 (02).

[3]侯启真,史秉鑫,刘衍帆,基于RSSI的Zigbee定位技术研究[J],计算机应用与软件,2016 (04).

[4]张亚琳.基于ZigBee中继器矿山井下人员定位算法[J].物联网技术,2016 (08).

[5]李树明,肖艳,林巧民.基于ZigBee的定位监护医疗服务系统设计与实现[J].计算机技术与发展,2015 (08).

[6]申静涛,基于RSSI的对数距离路径损耗模型研究[J].电子质量,2013 (12).