Android 如何连续的扫描蓝牙的RSSI来测距离,实现三点定位

Android 如何连续的扫描蓝牙的RSSI来测距离,实现三点定位 


背景:

接到一个小伙伴求助,要实现用蓝牙来测算距离,并用三点计算出蓝牙设备方位,经过以往的经验最终帮这位小伙伴实现了他的需求,下面总结下实现步骤,但愿能帮到你。android

 

分析:

要得到蓝牙的RSSI无外乎两种方法:spa

第一种:就是基于扫瞄的方法,优势是Android自己支持,缺点是scan的时间比较长,而且中间过程不受控制,为了连续的测量,须要不断的scan;.net

第二种:就是基于链接的方法,前提是要创建两个蓝牙设备的链接后,再测量RSSI,优势是后期测量比较方便,间隔时间也较短。blog

 

三点定位实现原理:get

      这里的方位实际上是一个相对方位的概念,咱们须要三个蓝牙模块,三个蓝牙模块之间的距离是固定已知的,好比把这三个蓝牙模块围成一个等边三角形,一个顶点做为正北方,对边当作正南边,如图所示:class

只要分别计算出到三个顶点的距离,而后对比三条距离,按如图比较大小,便可得出目标方位,这里须要注意的是原理

相关文章
相关标签/搜索