0

mBluetoothGatt.readRemoteRssi();を入れました。mGattCallback に入力します。

private final BluetoothGattCallback mGattCallback = new BluetoothGattCallback() {
    @Override
    public void onConnectionStateChange(BluetoothGatt gatt, int status,
            int newState) {
        // TODO Auto-generated method stub
        String intentAction;
        if(newState == BluetoothProfile.STATE_CONNECTED) {
            intentAction = ACTION_GATT_CONNECTED;
            mConnectionState = STATE_CONNECTED;
            mBluetoothGatt.readRemoteRssi();
                .
                .
                .

また、onReadRemoteRssiBluetoothGattCallback 関数に入れます

                .
                .
                .
public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) {
            broadcastUpdate(ACTION_DATA_AVAILABLE, characteristic);
        }

        public void onReadRemoteRssi(BluetoothGatt gatt, int rssi, int status) {
            final Intent rssiIntent = new Intent(BluetoothLeService.this, DeviceControl.class);
            rssiIntent.putExtra(DeviceControl.RSSI, rssi);
        }


        };//BluetoothGattCallback End

readRemoteRssi() と onReadRemoteRssi() を呼び出しますが、なぜ rssi が 0 なのかわかりません...

ログは次のようになります。

D/BluetoothGatt( 3684): readRssi() - device: 90:59:AF:0B:8A:AB
D/BtGatt.GattService( 2463): readRemoteRssi() - address=90:59:AF:0B:8A:AB
                    .
                    .
                    .
D/BtGatt.GattService( 2463): onReadRemoteRssi() - clientIf=4 address=90:59:AF:0B:8A:AB, rssi=0, status=0
D/BluetoothGatt( 3684): onReadRemoteRssi() - Device=90:59:AF:0B:8A:AB rssi=0 status=0

私のBLEデバイスは正常であると確信しています。しかし、なぜ rssi 値が o なのかわかりません??

誰か教えてくれませんか??

ありがとう!!

4

2 に答える 2

1

BT コントローラによっては、値が0RSSI が「Golden Receive Power Range」内にあることを意味する場合があります。値が負の場合は -60 dB 未満であることを意味し、値が正の場合は -40 dB を超えることを意味します。

これはHCI_Read_RSSI()、Bluetopia スタック内の低レベルの呼び出しに当てはまります。これがあなたのケースに当てはまるかどうかはわかりません。

この投稿の最後を参照してください: http://www.palowireless.com/infotooth/tutorial/radio.aspで、RSSI について説明しています。

RSSI がゴールデン レンジから外れるように BLE デバイスの範囲を広げてみてください。ゼロ以外の値が得られる可能性があります。

于 2013-10-24T19:45:14.850 に答える