2016-07-05 11 views
0

Ich entwickle eine Android-App, um Daten an BLE-Gerät zu senden. Wenn ich CONNECTO Gerät BLE, entdeckte ich, Dienstleistungen und Eigenschaften und erhalten dieseWelche Dienste und Merkmale müssen verwendet werden, um Daten über BLE in Android zu senden?

onGetService() - Device=D8:80:39:F0:03:6E UUID=00001800-0000-1000-8000-00805f9b34fb 
onGetService() - Device=D8:80:39:F0:03:6E UUID=0000180a-0000-1000-8000-00805f9b34fb 
onGetService() - Device=D8:80:39:F0:03:6E UUID=49535343-fe7d-4ae5-8fa9-9fafd205e455 
onGetCharacteristic() - Device=D8:80:39:F0:03:6E UUID=00002a00-0000-1000-8000-00805f9b34fb 
onGetCharacteristic() - Device=D8:80:39:F0:03:6E UUID=00002a01-0000-1000-8000-00805f9b34fb 
onGetCharacteristic() - Device=D8:80:39:F0:03:6E UUID=00002a04-0000-1000-8000-00805f9b34fb 
onGetCharacteristic() - Device=D8:80:39:F0:03:6E UUID=00002a29-0000-1000-8000-00805f9b34fb 
onGetCharacteristic() - Device=D8:80:39:F0:03:6E UUID=00002a24-0000-1000-8000-00805f9b34fb 
onGetCharacteristic() - Device=D8:80:39:F0:03:6E UUID=00002a25-0000-1000-8000-00805f9b34fb 
onGetCharacteristic() - Device=D8:80:39:F0:03:6E UUID=00002a27-0000-1000-8000-00805f9b34fb 
onGetCharacteristic() - Device=D8:80:39:F0:03:6E UUID=00002a26-0000-1000-8000-00805f9b34fb 
onGetCharacteristic() - Device=D8:80:39:F0:03:6E UUID=00002a28-0000-1000-8000-00805f9b34fb 
onGetCharacteristic() - Device=D8:80:39:F0:03:6E UUID=00002a23-0000-1000-8000-00805f9b34fb 
onGetCharacteristic() - Device=D8:80:39:F0:03:6E UUID=00002a2a-0000-1000-8000-00805f9b34fb 
onGetCharacteristic() - Device=D8:80:39:F0:03:6E UUID=49535343-6daa-4d02-abf6-19569aca69fe 
onGetCharacteristic() - Device=D8:80:39:F0:03:6E UUID=49535343-aca3-481c-91ec-d85e28a60318 
onGetCharacteristic() - Device=D8:80:39:F0:03:6E UUID=49535343-1e4d-4bd9-ba61-23c647249616 
onGetCharacteristic() - Device=D8:80:39:F0:03:6E UUID=49535343-8841-43f4-a8d4-ecbe34729bb3 
onGetCharacteristic() - Device=D8:80:39:F0:03:6E UUID=49535343-026e-3a9b-954c-97daef17e26e 
onGetDescriptor() - Device=D8:80:39:F0:03:6E UUID=00002902-0000-1000-8000-00805f9b34fb 
onGetDescriptor() - Device=D8:80:39:F0:03:6E UUID=00002902-0000-1000-8000-00805f9b34fb 
onGetDescriptor() - Device=D8:80:39:F0:03:6E UUID=00002902-0000-1000-8000-00805f9b34fb 
onSearchComplete() = Device=D8:80:39:F0:03:6E Status=0 

, so denke ich, dass mein Gerät haben 3-Dienste und 16 Merkmale (jeder Dienst diferents Eigenschaften haben), das Problem ist, wenn ich ein senden muss char, ich benutze diesen Code

public void writeCustomCharacteristic(int value) { 
    if (mBluetoothAdapter == null || mBluetoothGatt == null) { 
     Log.w(TAG, "BluetoothAdapter not initialized"); 
     return; 
    } 
    /*check if the service is available on the device*/ 
    BluetoothGattService mCustomService = mBluetoothGatt.getService(UUID.fromString("00001800-0000-1000-8000-00805f9b34fb")); 
    if(mCustomService == null){ 
     Log.w(TAG, "Custom BLE Service not found"); 
     return; 
    } 
    /*get the read characteristic from the service*/ 
    BluetoothGattCharacteristic mWriteCharacteristic = mCustomService.getCharacteristic(UUID.fromString("00002a04-0000-1000-8000-00805f9b34fb")); 
    mWriteCharacteristic.setValue(value,android.bluetooth.BluetoothGattCharacteristic.FORMAT_UINT8,0); 
    if(mBluetoothGatt.writeCharacteristic(mWriteCharacteristic) == false){ 
     Log.w(TAG, "Failed to write characteristic"); 
    } 
} 

so ist die Frage, welcher Service und Merkmal muss verwenden? Ich sopuse das, was ich entdeckt habe. Ich möchte ein einfaches Zeichen an das BLE-Gerät senden und von der UART-Typ-Schnittstelle empfangen.

+0

Die Spezifikation für das Gerät, mit dem Sie sprechen, sollte angeben, mit welcher Eigenschaft und mit welchem ​​Dienst gearbeitet werden soll. – Ifor

Antwort

0

Ich denke, dass Sie den Service nutzen sollten:

49535343-fe7d-4ae5-8fa9-9fafd205e455

, die für den Datenaustausch mit den Eigenschaften verwendet wird:

49535343-8841-43f4-a8d4-ecbe34729bb3

, die zum Schreiben von Daten verwendet wird