基于ZigBee和RSSI测距算法的室内定位系统设计

2018-03-10 00:40蓝芳萍张文锦殷旭东
软件导刊 2018年2期
关键词:室内定位ZigBee技术

蓝芳萍+张文锦+殷旭东

摘 要:移动终端室内定位技术需求日益增加,解决方案多种多样,但已有技术存在实现困难、硬件功耗大、环境变化不适应等问题。阐述了基于ZigBee协议和RSSI测距算法实现室内定位的基本原理,并以此理论为基础设计了室内定位系统。设计了室内定位系统整体架构,阐述了室内定位系统关键技术,包括RSSI测距模型、参数优化、节点RSSI阈值处理、盲节点坐标计算及ZigBee自组网。选取实验楼进行测试,结果表明,基于该技术的定位系统精确度较高,且具有节能和环境适应性好等优点。

关键词:室内定位;ZigBee技术;RSSI测距

DOIDOI:10.11907/rjdk.172262

中图分类号:TP319

文献标识码:A 文章编号:1672-7800(2018)002-0105-03

0 引言

室内定位技术[1]蓬勃发展,技术方案有基于测距技术和基于非测距技术两大类。基于测距技术的算法有AOA、TOA、TDOA和RSSI;基于非测距技术的算法有DV-HOP、质心算法等[2] 。

室内定位技术多样、室内环境复杂,对该技术的研究较多。如唐铭等[3]研究比较了TDOA与TOA这两种基于测距技术的方法,得出TDOA的定位精度更高但实现难度较大的结论;魏培等[3-4]将三角形质心算法改进为内三角形质心算法,用以解决基于非测距质心算法定位精度低、稳定性差等问题,但算法流程多,实现较复杂;干建勇等[5]为了解决DV-HOP算法精度低的问题,提出改进算法ECDV-HOP,但改进后存在通信量和计算量明显增大,算法代价高等问题。RSSI测距[6]算法难度较低,易于实现,不需要额外增加硬件设施,是大多数室内定位系统的首要选择。

在蓝牙、WiFi、超声波、ZigBee等短距离无线通信技术中,蓝牙通信技术虽然成本功耗低,但传输性能差稳定性差;WiFi在生活中常见,用于室内定位可说是一举两得,但现有的WiFi定位技术依赖于热点位置,若要实现较准确的定位,需布置充足的WiFi热点,成本高功耗大;超声波技术用于室内定位准确度高,但易受障碍物影响且设备成本高。ZigBee[7]作为一种低成本、低功耗、低速率的短距离无线传感网络技术,信号传输不受视距影响,用于室内定位系统有独特优势。因此,本系统采用具有低成本、低功耗的ZigBee通信协议和RSSI测距技术,实现室内定位。

1 系统整体设计

系统由ZigBee无线传感器网络、上位机和用户定位导航APP三部分组成。ZigBee无线传感器网络主要是收集和形成用于实现盲节点定位的数据信息,并传送给上位机;上位机则负责处理ZigBee无线传感器网络传送过来的数据包,用定位算法计算出盲节点坐标。

系统处理流程: ZigBee盲节点广播的RSSI信号值,通过ZigBee自组网中的ZigBee参考节点将其收集并发送给协调器,协调器通过WPAN(无线个人局域网)传送给上位机,上位机将从ZigBee自组网内接收到的数据包交给数据处理程序,计算出盲节点位置坐标。系统架构如图1所示。

2 关键技术

本系统定位采用RSSI测距算法。定位算法分两步:①使用RSSI测距算法测距;②根据测得的距离以及从ZigBee节点收集到的数据,计算出盲节点位置。

2.1 RSSI测距模型

信号在传播过程中,由于外界环境的复杂性会在一定程度上造成信号衰弱,而且传播距离越大,信号衰弱越大,根据这个规律可以得出信号强度的衰减与距离的关系。目前工业中采用最多的无线信号传输理论模型为shadowing模型[8]:

2.2 参数优化

A和n的值对能否实现精准定位起着至关重要的作用,为了提高RSSI信号值的准确度,参数A和n的取值需要在实际定位环境中多次测量计算取得。

2.3 盲节点RSSI阈值处理

所谓盲节点RSSI阈值[10],用来排除受环境干扰比较严重的参考节点接收到的RSSI信号值,是衡量RSSI信号值的一个标准量。

设阈值为RRSSI,参考节点的定位半径为r,首先参考节点在距离盲节点为r处接收多个RSSI信息包,然后通过参考节点RSSI值滤波处理的优化步骤得到一个RSSI值,该值可作为阈值RRSSI。为了提高定位的准确性,需多次测量,最后取所有RSSI值的平均值作为阈值。

假设盲节点接收到一跳范围内n个参考节点的RSSI值RSSIi,i=0,1,…,n,x为RSSIi≥RRSSI的个数。如果x≥3,则这x个参考节点所接收的RSSI信号值说明,该参考节点的数据受障碍物影响小,可以使用;如果x<3,即参考节点受障碍物影响大,但所接收的RSSI仍具有参考意义。所以,将一部分参考节点接收到的RSSI信号值与参考节点位置信息打包发送给协调器。

2.4 盲节点坐标计算

2.5 ZigBee自组网

ZigBee网络最大的特点就是在ZigBee启动后将自动形成ZigBee局域网络。ZigBee的网络类型分为星型网、树状网和网状网。组建一个ZigBee网状网分为两步:①协调器初始化;②ZigBee节点加入网络。

2.5.1 协调器初始化网络

协调器初始化网络步骤:①检测协调器。由具有ZigBee协调器功能的节点发起建立一个新网络;②信道扫描。网络层实体选出一个网络数目最少、符合要求的信道。若没有,则进程终止,初始化失败;③配置网络参数。网络管理层实体随机分配一个唯一的PAN描述符给这个新网络。若没有符合條件的PAN描述符则进程终止,初始化失败;④运行新网络。MAC层启动并运行新网络;⑤允许设备加入网络,由ZigBee协调器或路由器来设置网络状态。

通过上述步骤,协调器建立一个新的网络并允许ZigBee节点加入。endprint

2.5.2 节点加入网络

节点加入网络有两种方法:①通过使用MAC层关联进程加入网络;②通过与先前指定的父节点连接加入网络,本文采用后一种方法。

(1)父节点处理子设备直接加入网络。父节点对请求加入的子节点进行判断,确定它不存在于新的网络中;确认后为其分配一个网络地址,并在节点信息表中登记。

(2)子节点连接父节点确认父子关系。子节点要向父节点发起建立父子关系,此时网络层实体管理将会扫描信道,确认父节点信息。确认完毕后,通知父节点允许子节点加入,此时子节点与父节点之间建立了父子关系,即成功加入ZigBee网络。

经过上述步骤,ZigBee节点在协调器的作用下即可自动加入ZigBee自组网络中。

3 测距定位流程

ZigBee协调器启动后,与室内所设置的ZigBee参考节点自动组成网路,并通过WPAN与上位机建立连接。用户进入室内前,工作人员为其分配一个手持电子标签(盲节点)。进入室内后,电子标签将自动加入ZigBee协调器组成的网络并不断发送RSSI信号,开始向网络广播数据包;参考节点接收到广播数据包后,处理广播包中的RSSI值,将RSSI值与自身的位置信息整合,并将处理后的数据包发送到协调器;ZigBee协调器接收参考节点发送的数据包并发送至上位机;上位机处理接收到的数据包并计算出盲节点坐标。图3为定位流程。

4 系统测试

4.1 数据包说明

定位数据由ZigBee节点收集,以比特流的形式传输至上位机。表1、表2为一个数据包实例。

4.2 上位机软件运行实测

上位机将接收到的数据包进行处理,最终由上位机定位软件显示,图4为测试结果。图中蓝色框带有标签号的为参考节点,黑色框带有标签号的为盲节点。以N6一楼为实验环境,设置3个参考节点和一个盲节点进行测试。

5 结语

本文论述了基于ZigBee技术和RSSI测距算法的室内定位技术,详细说明了室内定位系统的基本架构和原理,优化了RSSI测距,提出了RSSI阈值处理方法,计算出盲节点与参考节点之间的准确距离;同时提出一种盲节点计算方式,利用最小二乘法准确计算出盲节点坐标。最后在上位机中编写出测试软件,利用实验楼环境实测室内定位技术,结果显示效果理想。但由于参考节点数量少,实验环境中画圈区域的定位由于非视距、信号强度等因素,会影响到定位准确度。今后将增加参考节点数,实现整个楼层的精准定位。

参考文献:

[1] 赵旋旋,韩李涛,郑莹,等.室内导航模型研究综述[J].软件导刊,2016(5):1-3.

[2] 刘梦君,曾帅.室内定位导航技术[J].科技展望,2017(6):140-141.

[3] 唐铭,张志颖.基于TDOA室内定位算法的研究[J].科技与企业,2016(2):225-226.

[4] 魏培,姜平,贺晶晶,等.基于内三角形质心算法的超宽带室内定位[J].计算机应用,2017(1):289-298.

[5] 干建勇,张静.一种基于DV-Hop节点的室内定位改进算法[J].上海师范大学学报:自然科学版,2017(1):48-53.

[6] 陶佳峰,杨晓洪,王剑平,等.基于RSSI的室内测距模型优化技术[J].传感器与微系统,2017(1):24-30.

[7] 陈伟.基于ZigBee网络的路由算法研究[J].软件导刊,2017(3):42-44.

[8] 付雄,彭冰.基于Shadowing模型的无线入侵主机物理定位研究[J].微电子学与计算机,2010(12):4-9.

[9] 朱明辉,张会清.基于RSSI的室内测距模型的研究[J].传感器与微系统,2010(8):19-22.

[10] 王鵬,施伟斌,孙凤.基于RSSI值的室内定位系统算法研究[J].数据通信,2014(2):30-33.endprint

猜你喜欢
室内定位ZigBee技术
多传感器数据融合技术在机房监控系统中的应用