I have a problem with using my own generated UUID(not using 16 bit UUID reserved by Bluetooth SIG) to communicate in Android BLE.
Target device is two - one is as a peripheral(Samsung galaxy note 4/android 5.1.1) and another one is as a central(Samsung galaxy S5/android 5.0.1). I put my own service's UUID and characteristic's UUID on the peripheral side. On the central side, it could not find characteristic but service.
It seems like it caused by not using one of these Characteristic UUIDs but using custom generated UUID. Below is my own generated UUIDs.
private static final UUID CUSTOM_SERVICE_UUID = UUID.fromString("abcd1111-0000-1000-8000-00805f9b34fb");
private static final UUID CUSTOM_CHARACTERISTIC_UUID = UUID.fromString("abcd1112-0000-1000-8000-00805f9b34fb");
Service, found well, but characteristic, no. Do you have any idea?
you are using the official base UUID: xxxxxxxx-0000-1000-8000-00805f9b34fb, from which all upper 32-bit are reserved (some already assigned.)
Instead, you should use your own 128-bit UUID. You can use an online tool to generate one. Then just assign your own internal n-bit short uuid to each one of your characteristic.
For example: using base => 18902a9a-1f4a-44fe-936f-14c8eea418xx