0

J'utilise le Raspberry Pi 3 modèle B comme périphérique Bluetooth. Le Pi gère un serveur du GATT et le commercialise également.Problème de connexion de l'application Android à Raspberry Pi 3 sur BLE

Je peux me connecter à partir de l'application iOS LightBlue et peut lire et écrire des valeurs.

J'ai des difficultés à me connecter au Pi via BLE à partir d'une application Android. J'ai essayé d'utiliser 2 applications du Play Store - BLE Scanner et Bluetooth LE Scanner. BluetoothLeGatt est une autre application que j'ai essayé d'utiliser. Il est disponible comme exemple de projet BLE sur Android Studio. Le pi apparaît dans les résultats de l'analyse et une fois que j'appuie sur se connecter, l'application essaie de se connecter mais est peut-être refusée la connexion par le pi. Le contrôle de programme va à la fonction GattCallback avec l'état changé à 'déconnecté' et la découverte de service ne se produit jamais. Les journaux ressemblent à ceci:

D/BluetoothGatt: connect() - device: B8:27:EB:A4:E7:75, auto: false 
D/BluetoothGatt: registerApp() 
D/BluetoothGatt: registerApp() - UUID=0c46767a-1ddc-4d91-83fe-490f9d3a5ad7 
D/BluetoothGatt: onClientRegistered() - status=0 clientIf=6 
D/BluetoothLeService: Trying to create a new connection. 
D/BluetoothGatt: onClientConnectionState() - status=133 clientIf=6 device=B8:27:EB:A4:E7:75 
I/BluetoothLeService: Disconnected from GATT server. 

La même application peut se connecter à un périphérique simulé virtuel en utilisant l'application iOS LightBlue ou l'application iOS DropBeacon. Cela me fait penser, une certaine configuration sur le pi l'empêche d'accepter une connexion d'Android.

Code src: https://github.com/googlesamples/android-BluetoothLeGatt

Toute suggestion de faire ce travail? Merci

Répondre

0

Utilisation

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

au lieu de

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

a fait l'affaire pour moi. Cette définition de fonction de connectGatt avec 4 arguments est prise en charge pour le niveau d'API 23