XCode:如何通过 UUID 连接到 BLE 外围设备?

Posted

技术标签:

【中文标题】XCode:如何通过 UUID 连接到 BLE 外围设备?【英文标题】:XCode: How do you connect to BLE peripheral via UUID? 【发布时间】:2015-05-13 06:17:59 【问题描述】:

在我的应用程序中,我试图通过连接到蓝牙低功耗外围设备。它的 UUID,但我没有得到任何结果。

使用[_centralManager scanForPeripheralsWithServices:nil options:nil];,我可以找到外围设备,并且在我的if (_discoveredPeripheral != peripheral && [peripheral.name isEqual: @"PeripheralName"]) 中,我可以连接到我的设备,但这仅仅是因为它是唯一具有该名称的设备。

当我尝试通过连接时。 UUID myUUID = [CBUUID UUIDWithString:@"My UUID"]; [_centralManager scanForPeripheralsWithServices:[NSArray arrayWithObject:myUUID] options:nil];,我什么都没得到。

我做错了什么?

【问题讨论】:

【参考方案1】:

您将UUID 放入带有服务的数组中。您没有扫描特定设备的方法,只能扫描具有特定服务的设备。

您的工作版本没问题,您只需要遍历结果并连接到所需的设备。扫描特定服务的设备用于发现可以支持特定服务的设备。

所以你实际上做错的是你将外围设备UUID 插入到需要服务 UUID 的数组中。

【讨论】:

所以我应该输入我的服务 UUID 而不是我的设备 UUID?我将在今天晚些时候开始处理,如果可行,请确保为您提供正确答案:) 非常感谢!

以上是关于XCode:如何通过 UUID 连接到 BLE 外围设备?的主要内容,如果未能解决你的问题,请参考以下文章

BLE 设备相同的 UUID 用于多个服务

通过 BLE 设备发送命令

使用 MAC ios 连接到 BLE 设备

如果在 Android 中连接到 BLE 设备失败,如何通知用户?

缓存低功耗蓝牙?如何解决它

无法通过 BLE 连接到 AirPods