【问题标题】:Reading Bluetooth RSSI for BLE proximity profile in Android在 Android 中为 BLE 接近配置文件读取蓝牙 RSSI
【发布时间】:2012-07-31 06:00:09
【问题描述】:

我目前正在为 Android 开发低功耗蓝牙接近配置文件,我偶然发现了有关 RSSI 的问题。

为了使接近度配置文件正常工作,我必须每隔很短的时间使用已连接的设备接收 RSSI 数据。

我做了一些研究,了解到在设备发现过程中可以获取蓝牙 RSSI。这对我不起作用,因为从设备在连接后不会做广告。

另一种方式是深入挖掘 HCI 级别并使用 BlueZ。似乎水平很低。有没有人有这方面的经验?

有人看过在 Android 上开发的邻近配置文件吗?

【问题讨论】:

  • 您的意思是希望 Android 设备模拟运行接近配置文件的外围设备,还是希望 Android 设备连接到具有接近配置文件的设备?

标签: android bluetooth rssi bluetooth-lowenergy


【解决方案1】:

您可以在连接后一段时间后重复使用 readRemoteRssi() 方法。但它不会很好地工作。因为挂起标志错误。另一种方法是您可以启动和停止 blescan 并获取扫描设备的 rssi 值,这将是更好的方法,因为在 nexus 7 2013 设备中,一些三星设备不是过滤 ble 设备,它将返回 ble 设备。

【讨论】:

    【解决方案2】:

    您可以在设备扫描回调中获取数据和 RSSI。请参阅the BluetoothLeGatt sample

    【讨论】:

    • 此链接中的资源不再可用。
    【解决方案3】:
    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.
    

    【讨论】:

      猜你喜欢
      • 2014-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多