BLE每0.5秒阅读一次广告

时间:2015-05-21 10:45:48

标签: android bluetooth-lowenergy

我有Laird BL6000 BLE设备,我已连接传感器并配置为每0.5秒发布一次数据。

现在我想每0.5秒阅读一次此广告数据。

我可以使用startScanning()读取数据并在uiOnLeScan(BluetoothDevice device, int rssi, byte[] scanRecord)中访问数据,但此过程大约需要2-3秒。我需要更快地读取这些数据。

如果他们的广告时间最短为0.5秒,则必须有一种方法来读取此数据。

1 个答案:

答案 0 :(得分:0)

您是否使用LeScanCallback来显示广告包?

onLeScan方法你应该几乎立即收到数据包。如果您不这样做,您的设备可能不会在您设置的时间内做广告。

尝试使用您收到的广告包中的scanRecord打印日志:

 private BluetoothAdapter.LeScanCallback mLeScanCallback = new BluetoothAdapter.LeScanCallback() {
    @Override
    public void onLeScan(final BluetoothDevice device, final int rssi, final byte[] scanRecord) {
        Log.i("ON LE SCAN", "UUID: "+ byteArrayToHex(scanRecord));
    }
 };

您还可以找到HERE关于如何扫描BLE设备并连接它们的完整示例。

祝你好运!