Microsoft蓝牙堆栈 RSSI 解决方法

本文关键字:解决 方法 RSSI 堆栈 Microsoft | 更新日期: 2023-09-27 18:32:46

我完成了机器人蓝牙应用程序的实现。服务器端,我使用Windows 7作为MS-BT-Stack的操作系统,以及C#作为"在手中"蓝牙库的语言.
目标是在机器人处于范围内时通过蓝牙连接机器人.

就像扩展一样,我试图读取信号强度以确定机器人的距离(估计)。好的,在谷歌搜索(并在堆栈溢出上搜索^^)时,我发现你不能用我用过的BT-stack做到这一点。从那时起,我试图找出一种解决方法来计算或估计信号强度(或距离).
就像通过蓝牙发送一个字节,看看应答时间有多长。虽然由于时间不够,我没有实施它,但有人认为这是一个好主意吗?或者对这个问题有一些其他的想法?

我真的很感谢任何输入.

谢谢!

Microsoft蓝牙堆栈 RSSI 解决方法

不,我认为这不是一个好主意。 您将无法根据响应时间获得有意义的距离估计值。 MAC层和软件堆栈中有许多因素会带来可变性。

即使使用 RSSI 也不能很好地工作,因为

1) 2.4GHz室内的RSSI存在严重的多路径问题,这意味着您可以离开并看到信号变强

2)蓝牙具有功率控制反馈,两侧连续调节Tx功率,使其位于固定的黄金范围内。 所以你离开,RSSI瞬间下降,然后功率控制环路提升Tx功率,使RSSI保持在固定水平。

3) 蓝牙硬件通常具有低精度的 RSSI 测量, 这意味着您只能获得粗略的测量, 而不是您可以准确依赖的东西来获得良好的距离指标.