3

我在使用自己生成的 UUID(不使用蓝牙 SIG 保留的 16 位 UUID)在 Android BLE 中进行通信时遇到问题。

目标设备有两个 - 一个作为外围设备(Samsung Galaxy Note 4/android 5.1.1),另一个作为中央设备(Samsung Galaxy S5/android 5.0.1)。我将自己的服务的 UUID 和特性的 UUID 放在外围设备端。在中央,它找不到特色,只有服务。

它似乎是由于不使用这些特征 UUID之一而是使用自定义生成的 UUID 引起的。下面是我自己生成的 UUID。

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");

服务,发现很好,但有特色,没有。你有什么主意吗?

4

1 回答 1

6

您正在使用官方的基本 UUID:xxxxxxxx-0000-1000-8000-00805f9b34fb,其中保留了所有高 32 位(一些已分配。)

相反,您应该使用自己的 128 位 UUID。您可以使用在线工具生成一个。然后只需将您自己的内部 n 位短 uuid 分配给您的每个特征。

例如:使用 base => 18902a9a-1f4a-44fe-936f-14c8eea418xx

  • 服务 => 18902a9a-1f4a-44fe-936f-14c8eea41800
  • 特征 => 18902a9a-1f4a-44fe-936f-14c8eea41801
于 2015-10-11T04:39:28.423 回答