我在这件事上非常努力,所以任何帮助/建议都将不胜感激。在
我一直试图用pyblueZ从RSSI中获得精确的值
我得到了一些不错的结果,但以下是我不想要的(来自blueZ doc):For a BR/EDR Controller, a Connection_Handle is used as the Handle
command parameter and return parameter. The RSSI parameter returns the
difference between the measured Received Signal Strength Indication
(RSSI) and the limits of the Golden Receive Power Range for a
Connection_Handle to another BR/EDR Controller. The Connection_Handle
shall be a Connection_Handle for an ACL connection. Any positive RSSI
value returned by the Controller indicates how many dB the RSSI is above
the upper limit, any negative value indicates how many dB the RSSI is
below the lower limit. The value zero indicates that the RSSI is inside
the Golden Receive Power Range.
换言之,当接收器稍微靠近发电机时,RSSI值仍将为0(可能为2/3米范围)
我真的很烦。在
另一种获取RSSI值的方法是通过event获取它:HCI_Inquiry_Result_with_RSSI,这里我得到RSSI的真实值,但是,这是发现模式,速度有点慢,并返回所有设备的mac地址。
我也不想要。在
凭借我的知识和事实,我无法让谷歌找到我想要的东西,我到了一个我似乎陷入困境的地步。在
所以我的问题是:有没有必要深入研究blueZ提供的蓝牙API?我好像哪儿也找不到!!别跟我谈他们的文件,这几乎不存在!!
有没有一种方法可以用单一的地址来获得结果?
有没有其他方法可以得到RSSI值?我试过hcitool(看起来是一样的问题?),l2ping(4/5成功后,我得到了100%的ping损失,我没有深究)
可能是我的加密狗有点作弊吗?
如果我试图从BLE设备检测RSSI,会有什么不同吗?
(我现在想继续使用蓝牙,但如果你想到我可以使用的其他射频信号,只要提到它,我会记住它,以后再使用它。)
感谢所有到这里来读我的问题的人。在
很抱歉我的英语,一直。。。漫长的一天。在
和平
编辑:有了Bluez,我可以发现BT经典,或者要求RSSI提供特定地址(但是可以得到黄金范围之外的值)。
我也可以发现BLE,但我找不到任何东西来要求RSSI指定地址(对于BLE)。。。在