2016-07-21 10 views
0

Ich habe ein BLE Peripheriegerät. Ich kann nicht mit BluetoothLeGatt Beispiel Android-Anwendung und keine anderen BLE-Anwendungen in Android Market verbinden. Aber iOS BLE-Anwendungen können sich damit verbinden. Dies ist BluetoothLeGatt Verbindungsprotokoll:Unterschied zwischen iOS und Android Bluetooth Low Energy Verbindung

07-21 21:06:37.506 27402-27420/bluetoothlegatt D/BluetoothLeScanner: onScanResult() - ScanResult{mDevice=xx:xx:xx:xx:xx:xx, mScanRecord=ScanRecord [mAdvertiseFlags=2, mServiceUuids=null, mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=TestBLE], mRssi=-82, mTimestampNanos=12459248011929} 
07-21 21:06:37.506 27402-27402/bluetoothlegatt D/BluetoothDevice: mAddress: xx:xx:xx:xx:xx:xx 
07-21 21:06:37.516 27402-27402/bluetoothlegatt D/BluetoothDevice: mAddress: xx:xx:xx:xx:xx:xx 
07-21 21:06:40.930 27402-27402/bluetoothlegatt D/BluetoothAdapter: stopLeScan() 
07-21 21:07:50.754 27402-27402/bluetoothlegatt D/BluetoothDevice: mAddress: xx:xx:xx:xx:xx:xx 
07-21 21:07:50.764 27402-27402/bluetoothlegatt D/BluetoothAdapter: stopLeScan() 
07-21 21:07:50.764 27402-27402/bluetoothlegatt D/BluetoothAdapter: scan not started yet 
07-21 21:07:50.924 27402-27402/bluetoothlegatt D/BluetoothDevice: mAddress: xx:xx:xx:xx:xx:xx 
07-21 21:07:50.924 27402-27402/bluetoothlegatt D/BluetoothGatt: connect() - device: xx:xx:xx:xx:xx:xx, auto: false 
07-21 21:07:50.924 27402-27402/bluetoothlegatt D/BluetoothGatt: registerApp() 
07-21 21:07:50.924 27402-27402/bluetoothlegatt D/BluetoothGatt: registerApp() - UUID=xxxxxxxx-xxxx-xxxxxxxxx-xxxxxxxxxxxx 
07-21 21:07:50.924 27402-27420/bluetoothlegatt D/BluetoothGatt: onClientRegistered() - status=0 clientIf=5 
07-21 21:07:50.924 27402-27420/bluetoothlegatt D/BluetoothDevice: mAddress: xx:xx:xx:xx:xx:xx 
07-21 21:07:50.934 27402-27402/bluetoothlegatt D/BluetoothLeService: Trying to create a new connection. 
07-21 21:07:56.060 27402-27421/bluetoothlegatt D/BluetoothGatt: onClientConnectionState() - status=133 clientIf=5 device=xx:xx:xx:xx:xx:xx 
07-21 21:07:56.060 27402-27421/bluetoothlegatt D/BluetoothDevice: mAddress: xx:xx:xx:xx:xx:xx 
07-21 21:07:56.060 27402-27421/bluetoothlegatt I/BluetoothLeService: Disconnected from GATT server. 

Was muss ich tun, um eine Verbindung zu diesem Gerät herzustellen? Was ist der Unterschied zwischen Android- und iOS-BLE-Verbindungen zum BLE-Peripheriegerät?

Update: Meine Android-Geräte:

HTC One M7. Android-Version: 5.0.2

LG Nexus 5X. Android-Version: 6.0.1

Antwort

0

Sieht aus wie ich Antwort gefunden habe. Wir verwenden CC2564 Texas Instruments Chip. Für BLE Verbindung zu diesem Chip mit BluetoothLeGatt Android Beispielanwendung benötigt diesen Befehl ersetzen:

mBluetoothGatt = device.connectGatt(this, false, mGattCallback); 

auf diesen Befehl:

mBluetoothGatt = device.connectGatt(this, false, mGattCallback,BluetoothDevice.TRANSPORT_LE); 
0
07-21 21:07:50.934 27402-27402/bluetoothlegatt D/BluetoothLeService: Trying to create a new connection. 
07-21 21:07:56.060 27402-27421/bluetoothlegatt D/BluetoothGatt: onClientConnectionState() - status=133 clientIf=5 device=xx:xx:xx:xx:xx:xx 
07-21 21:07:56.060 27402-27421/bluetoothlegatt D/BluetoothDevice: mAddress: xx:xx:xx:xx:xx:xx 
07-21 21:07:56.060 27402-27421/bluetoothlegatt I/BluetoothLeService: Disconnected from GATT server. 

Nach Verbindungsanfrage zu senden, bis onClientConnectionState gibt es ca. 5 Sekunden Paging-Zeit, Ich gehe davon aus kann es die Paging-Auszeit sein.

Es gibt wenige Anfragen: 1) Ist dieses Problem auch auf anderen Android-Telefon oder nur auf Ihrem Testtelefon aufgetreten? 2) Was ist das Werbeintervall Ihres Geräts?

Es ist seltsam, dass Sie das Gerät durchsuchen können, aber nicht verbunden werden können; oder es sollte das RF-Problem zwischen Ihrem Telefon und Ihrem Gerät sein.

+0

ich meinen Beitrag aktualisiert. Dieses Problem trat auf meinem HTC One M7 mit Android 5.0.2 und LG Nexus 5X mit Android 6.0.1 auf. Werbeintervall 100 - 200 ms. Android-Geräte erhalten nach 3 bis 5 Sekunden Verzögerung einen Verbindungsfehler. iOS-Geräte werden sofort mit dem BLE-Gerät verbunden. – BadEugene