我目前正在为Android开发蓝牙低能耗接近配置文件,我偶然发现了一个关于RSSI的问题。
为了使接近配置文件工作,我必须在短时间内接收已连接设备的RSSI数据。
由于我做了一些研究,我知道在设备发现过程中获得蓝牙RSSI是可能的。这对我来说不起作用,因为从属设备在连接后不会做广告。
另一种方法是深入到HCI级别并使用BlueZ。这似乎是相当低的水平。有人有这方面的经验吗?
有人见过在安卓系统上开发的近程配置文件吗?
连接一段时间后,可以重复使用readRemoteRssi()方法。但它不会很好地工作。由于挂起的标志错误。另一种方法是,你可以启动和停止blescan,并获得扫描设备的rssi值,这将是更好的方法,因为在nexus 7 2013设备和一些三星设备不是可过滤设备,它将返回可过滤设备。
您可以获取数据&设备扫描回调中的RSSI。请参阅BluetoothLeGatt示例。
final Runnable runnable = new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
mBluetoothLeService.readRemoteRssi();
mHandler.postDelayed(this, 1000);
}
};
and add mHandler.postDelayed(runnable, 1000); Should work.