我目前拥有一台LilyPad Simblee BLE板 - RFD77101,我正试图与我在arduino 1.6.5 IDE中使用Simblee.customUUID
命令定义的自定义服务建立连接。< / p>
我后来尝试使用我之前建立的UUID,使用BluetoothleGatt
示例代码获取Android Studio中的服务和特性。
问题是当我连接到Simblee时,应用程序无法识别该服务并将以下错误记录下来。
找不到自定义BLE服务
代码有点长,因此我没有直接发布所有内容。如果有人对我的问题和需求以及部分代码的解决方案有所了解,我显然非常乐意发布它。
提前感谢任何人。
这是我试图获得特征的公共空白:
public void readCustomCharacteristic() {
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("fe84-0000-1000-8000-00805f9b34fb"));
if(mCustomService == null) {
Log.w(TAG, "Custom BLE Service not found");
return;
}
/*get the read characteristic from the service*/
BluetoothGattCharacteristic mReadCharacteristic = mCustomService.getCharacteristic(UUID.fromString("2d30c083-f39f-4ce6-923f-3484ea480596"));
if(!mBluetoothGatt.readCharacteristic(mReadCharacteristic)) {
Log.w(TAG, "Failed to read characteristic");
}
}
答案 0 :(得分:0)
BluetoothGattService mCustomService = mBluetoothGatt.getService(UUID.fromString("fe84-0000-1000-8000-00805f9b34fb"));
您提供的UUID格式不正确。根据文档,第一个连字符之前的部分应该包含4个十六进制八位字节(请参阅您提供的特性),但这里只有2个。您应该在前面添加填充0,如
BluetoothGattService mCustomService = mBluetoothGatt.getService(UUID.fromString("0000fe84-0000-1000-8000-00805f9b34fb"));
编辑:在这里缺少一点。你有没有打电话给mBluetoothGatt.discoverServices()?