我在WindowsXP上使用Python 2.6上的pyBluez模块。我想得到其他蓝牙设备的RSSI。 我发现了一些代码,但它使用了_bluetooth,我无法在Windows的任何地方找到它。
它是否可用/是否有另一种方法来规避问题,在不使用_bluetooth的情况下获取RSSI?
谢谢大家!
答案 0 :(得分:1)
MS蓝牙堆栈不支持API中的RSSI测量。 对于Windows XP直到SP2,这已得到确认,并且在Vista和Seven中情况似乎没有改变。 Windows Mobile 6具有用于BT管理的不同API,并提供功能BthReadRSSI。 在Windows XP中从蓝牙适配器获取RSSI的唯一方法似乎是使用不同的堆栈,如WIDCOMM。使用后,您可以使用 GetConnectionStats 功能获取RSSI。您可以在Google上输入“ GetConnectionStats widcomm ”的更多信息。在python中,(我知道)你可以直接通过ctypes模块调用该函数,但是我不知道pybluez移植是否支持WIDCOMM,请尝试发布结果。 否则,您可以使用其他BT stack进行检查。
答案 1 :(得分:0)
_bluetooth模块是PyBluez的一部分。如果你已经安装了PyBluez的Windows版本,它应该可以工作。
我对蓝牙知之甚少,甚至不知道“不使用它就获得RSSI”的意思或者为什么它应该是一个问题,所以无法帮助你。 :)
答案 2 :(得分:0)
在Windows上你无法获得RSSI,至少如果你使用的是MS蓝牙堆栈,我不知道Widcomm。 PyBluez是蓝牙API的包装器,如果底层堆栈不提供该功能,那么Python项目也不能。
所以可能这就是你在Windows中没有它的原因。您也可以按this thread找到更多信息,即使它是关于Windows 7的,它也适用于Windows XP。