Android 蓝牙强度Rssi

本文介绍了Android中蓝牙RSSI(接收信号强度指示)的概念,详细讲解了如何通过BluetoothGatt对象的readRemoteRssi方法获取BLE设备的RSSI值,并讨论了RSSI的取值范围。

1.什么是Rssi

RSSI(接收信号强度)Received Signal Strength Indicator
Rss=10logP,
只需将接受到的信号功率P代入就是接收信号强度(灵敏度)。
[例1] 如果发射功率P为1mw,折算为dBm后为0dBm。
[例2] 对于40W的功率,按dBm单位进行折算后的值应为:
10lg(40W/1mw)=10lg(40000)=10lg4+10lg10+10lg1000=46dBm。

2.如何获取BLE蓝牙Rssi

       try {
            return _bluetoothGatt.readRemoteRssi();
        }
        catch (Exception e)
        {

        }

BluetoothGatt对象调用readRemoteRssi方法

    private final BluetoothGattCallback mGattCallback = new BluetoothGattCallback() {
        @Override
        public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {
         }

        @Override
        public void onReadRemoteRssi(BluetoothGatt gatt, int rssi, int status) {
            super.onReadRemoteRssi(gatt, rssi, status);
            if (status == BluetoothGatt.GATT_SUCCESS) {
                broadcastUpdate(status, rssi);
            }
        }
    };

Rssi强度会从BluetoothGattCallback的onReadRemoteRssi接口回调回来。

3.蓝牙强度Rssi的取值范围

Rssi和接收功率有关,单位是dBm,一般为负值,反应的是信号的衰减程度,理想状态下(无衰减),Rssi = 0dBm,实际情况是,即使蓝牙设备挨得非常近,Rssi也只有-50dBm的强度,在传输过程中,不可避免要损耗。
一般情况下,经典蓝牙强度 
-50 ~ 0dBm 信号强
-70 ~-50dBm信号中
<-70dBm      信号弱

低功耗蓝牙分四级
-60 ~ 0   4
-70 ~ -60 3
-80 ~ -70 2
<-80 1


参考文章


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值