android - 如何处理低功耗蓝牙中的 16 位特征

标签 android bluetooth-lowenergy rxandroidble

我一直在寻找这个问题的答案。

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

我找不到任何相关文档,也无法通过查看 RxAndroidBle library 提供的示例应用程序来弄清楚。我正在尝试使用。

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

最佳答案

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

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

关于android - 如何处理低功耗蓝牙中的 16 位特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41771676/

相关文章:

android - 无法使 AppBarLayout 透明

Android:如何对齐底部的按钮和上方的 ListView ?

android - Assets 文件夹未添加到 Android Studio 项目和 APK

ios - 如何使用核心蓝牙框架在最小化模式下扫描 'Lower Energy Bluetooth Device'?

ios - 将两个具有相同 UUID 的 BLE 设备配对(使用 CoreBluetooth)

linux - 通过命令行将蓝牙文件设备设置为广播模式

android - 如何通过 Android 应用程序连接多个 BLE 设备?

android - IntentService 和绑定(bind)模式

android - 在 RxJava 中使用多个 .subscribe() 语句

android - 如何同时有效地读取两个 BLE 设备的温度?