一种基于嵌入式实时操作系统实现无线定位的方法与流程

文档序号:17797654发布日期:2019-05-31 20:53阅读:665来源:国知局
一种基于嵌入式实时操作系统实现无线定位的方法与流程

本发明属于无线通信定位技术领域,尤其涉及一种基于嵌入式实时操作系统实现无线定位的方法。



背景技术:

无线定位的方法之一是利用ds(double-sidedtwo-wayranging)的方法测试出定位基站与无线终端的距离,完成一次ds测距需要6个步骤。

1.设备a发送poll包。并记下发送时间t1。

2.设备b收到poll包,记录时间t2。

3.设备b在t3(t3=t2+treply1)时刻发送response包。

4.设备a收到response包,记录时刻t4。

5.设备a在t5(t5=t4+treply2)发送final包。

6.设备b收到final包,记录时间t6。

此方法必须采用嵌入式实时操作系统进行收发和运算,只有这样才能保证测距的精度,定位基站再把各个无线终端的距离数据传给定位服务器,定位服务器使用两点或三点定位的算法即可得到设备的准确位置。如图1所示,ds测距是在ss测距的基础上再增加一次通讯,两次通讯的时间可以互相弥补因为时钟偏移引入的误差。

距离=tprop×光速。

公式推导:

tround1=treply1+2tprop;

tround2=treply2+2tprop;

tround1*tround2-treply1*treply2=4tprop2+2tprop*treply1+2tprop*treply2;

tround1+tround2+treply1+treply2=4tprop+2treplyl+2treply2;

所以trop等于上图的公式。

下面是具体的时间计算:

tround1=t4-t1

tround2=t6-t3

treplyl=t3-t2

treply2=t5-t4

因为无线定位的数据采集使用嵌入式实时操作系统进行收发和运算,所以不能同时进行接收和发送,导致多台待定位无线终端在同一地点且都需要被定位时,会产生时空上的冲突,必须使用一个设计好的控制接收和发送顺序的方法来解决此问题。又因为能耗、价格等因素,不得不选择低成本的硬件,所以普通的方法不能最大限度的发挥硬件的性能,假定每秒钟需要更新一次无线终端的定位信息,最大能够同时存在的无线终端数只有10-20个,不能满足实际生产生活中的需求。



技术实现要素:

本发明实施例的目的在于提供一种基于嵌入式实时操作系统实现无线定位的方法,能够提升同一时空下能够承载的最大定位终端数。

本发明实施例是这样实现的:

一种基于嵌入式实时操作系统实现无线定位的方法,包括:

主基站发送广播,查询附近是否有无线终端;

无线终端告知主基站其终端id,并带上t1数据,并开始进行ds测距;

主基站收到无线终端的报文并记录t1、t2、t3,向无线终端发出已获取无线终端id的通知,继续ds测距;

无线终端收到该通知后,继续与主基站进行ds测距,同时,无线终端将主基站相关的ds数据t4、t5进行广播,主基站收到无线终端相关的ds数据后,记录t4、t5、t6,计算得出主基站与无线终端的距离,并上报给服务器;

副基站收到无线终端与主基站通信的广播后,将报文中的t5时间值作为t1的时间,并记录t2、t3然后给无线终端发送报文,通知终端继续ds测距;

无线终端收到该通知后,继续与副基站进行ds测距,同时,无线终端将副基站相关的ds数据t4、t5进行广播,副基站收到无线终端相关的ds数据后,记录t4、t5、t6,计算得出副基站与无线终端的距离,并上报给服务器。

其中,主基站收到无线终端以广播的方式发送给副基站相关的ds数据后,认定此次定位结束,重新进入下一次定位流程。

其中,无线终端将主基站相关的ds数据进行广播以及将副基站相关的ds数据进行广播后,无线终端深度睡眠1秒钟后再重新进入侦听状态,以保证不会在1秒内重复测距。

本发明实施例通过控制主基站、无线终端、副基站以及服务器之间的数据交互时间顺序,保证了ds测距能够顺利进行,能够提升同一时空下能够承载的最大定位终端数。

附图说明

图1是现有技术中ds测距说明示意图;

图2是本发明中线状地形主副定位基站分布图;

图3是本发明中树状地形主副定位基站分布图;

图4是本发明中测距定位交互流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

以下结合具体实施例对本发明的具体实现进行详细描述:

如图2、图3和图4所示,一种基于嵌入式实时操作系统实现无线定位的方法,包括:

主基站发送广播,查询附近是否有无线终端;

无线终端告知主基站其终端id,并带上t1数据,并开始进行ds测距;

主基站收到无线终端的报文并记录t1、t2、t3,向无线终端发出已获取无线终端id的通知,继续ds测距;

无线终端收到该通知后,继续与主基站进行ds测距,同时,无线终端将主基站相关的ds数据t4、t5进行广播,主基站收到无线终端相关的ds数据后,记录t4、t5、t6,计算得出主基站与无线终端的距离,并上报给服务器;

副基站收到无线终端与主基站通信的广播后,将报文中的t5时间值作为t1的时间,并记录t2、t3然后给无线终端发送报文,通知终端继续ds测距;

无线终端收到该通知后,继续与副基站进行ds测距,同时,无线终端将副基站相关的ds数据t4、t5进行广播,副基站收到无线终端相关的ds数据后,记录t4、t5、t6,计算得出副基站与无线终端的距离,并上报给服务器。

其中,主基站收到无线终端以广播的方式发送给副基站相关的ds数据后,认定此次定位结束,重新进入下一次定位流程。

其中,无线终端将主基站相关的ds数据进行广播以及将副基站相关的ds数据进行广播后,无线终端深度睡眠1秒钟后再重新进入侦听状态,以保证不会在1秒内重复测距。

具体流程如下:

步骤一:因为两点定位的场合,其地形图通常为线状或树状,所以很容易就可以得到主副定位基站的分布图,只要主定位基站与主定位基站之间有大于等于1台副定位基站即可,其依据是主定位基站的信号覆盖范围,只要主定位基站与主定位基站之间不会被互相覆盖即可,以主定位基站之间相隔两台副定位基站为例,如图2和图3所示。

步骤二:主定位基站负责控制终端的定位请求的发送顺序,并对无线终端进行测距;副定位基站对无线终端进行测距,作为辅助定位的数据支撑;如图4所示。

步骤三:定位服务器根据主副基站反馈的信息,利用两点定位法,算出终端的最新定位位置。

本发明实施例通过控制主基站、无线终端、副基站以及服务器之间的数据交互时间顺序,保证了ds测距能够顺利进行,能够提升同一时空下能够承载的最大定位终端数。本发明的方法比无线客户端分别与主、副基站完成ds测距至少节省一次报文发送的时间;从无线终端开始发包算起,标准ds测距每次需要3个交互报文,分别完成需要6个报文,本发明的方法完成主副基站的测距一共只需要5个交互报文;本发明的方法创造了最简洁的无线终端的排队机制,使得同一时空下的无线终端能够以最高效的方式进行无线定位;在理论上使用此方法,同一时空能够承载的最大无线终端数=1秒钟/ds测距一次所花费的时间,如果无线终端不进行排队,无线终端之间报文的冲突概率非常高,有效报文就少,因为设备一次只能接收一个报文。

本发明所述的无线包括uwb、zigbee、bluetooth、irda、lora、wifi、homerf、z-wave、insteon、rfid、lpwan等所有可用于嵌入式实时操作系统进行收发和运算的所有无线技术。

以上所述仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1