0

我正在开发一个反应原生应用程序,它使用库通过蓝牙连接健康设备

https://github.com/dotintent/react-native-ble-plx

但是在连接后我尝试通过调用来获得服务,device.service()但是出现一个错误,说没有发现服务。

现在我很困惑如何让服务 uuid 和特征 uuid 从蓝牙设备读取数据。该设备是血糖仪。

4

3 回答 3

0

抱歉,我已经得到我设备的应答服务 uuid 是 1808

我在这里搜索它 https://btprodspecificationrefs.blob.core.windows.net/assigned-values/16-bit%20UUID%20Numbers%20Document.pdf

我通过记录显示 00001808-0000-1000-8000-00805f9b34fb 的设备来确认它

那么这个答案的基础 如何将蓝牙 16 位服务 UUID 转换为 128 位 UUID?

我知道如何像这样将 16 位 uuid 读取为 4 位数字

或者,更简单地说,16 位属性 UUID 替换了下面的 x:

0000xxxx-0000-1000-8000-00805F9B34FB 此外,32 位属性 UUID 替换了下面的 x:

xxxxxxxx-0000-1000-8000-00805F9B34FB

然后我认为文档中的特征 uuid 参考 2A18 以获得相同的名称或描述

于 2022-01-26T09:50:57.683 回答
0

如该库的文档中所述 Since Android 6 to scan the app needs to have ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION runtime permission. Since Android 10 only ACCESS_FINE_LOCATION is accepted by the OS.。您需要处理 Android 运行时权限。

于 2022-01-26T08:46:50.323 回答
0

如果没有可用于设备的文档,则可以使用 BLE 扫描仪应用程序扫描附近的设备并以这种方式简单地获取 UUID。

有多个此类应用程序可用于 iOS 和 Android,例如nRF ConnectLightBlue

这些不仅可以扫描 BLE 设备,还可以使用简单的读取、写入和通知操作来测试它们。

于 2022-01-26T10:03:51.600 回答