如何处理 Bluetooth LE 中的 16 位特性

How to handle 16-bit characteristics in Bluetooth LE

我已经搜索了几天来寻找这个问题的答案。

我正在编写一个 Android 应用程序来连接低功耗蓝牙设备。我有设备的 128 位服务 ID UUID 和几个 16 位特征 ID。我如何在软件中处理这些 16 位值?我是否应该通过将它们与 0000SSSS-0000-1000-8000-00805F9B34FB 的默认 BLE UUID(其中 'SSSS' 是 16 位特征 ID 值)组合来将它们扩展到 128 位?如果不是那样,那是什么?

我找不到任何关于此的文档,而且我无法通过查看随我尝试使用的 RxAndroidBle library 提供的示例应用程序来弄清楚。

请注意,这是一个独特的设备,我不关心与其他同类设备的兼容性,因为没有。

您应该创建完整的 128 位 UUID 的 16 位缩短 UUID

例如,权重特征有一个 2A9D 的 16 位 UUID,对应于 UUID.fromString("00002A9D-0000-1000-8000-00805F9B34FB")