ios - 持续扫描 iOS CoreBluetooth Central Manager?

标签 ios bluetooth core-bluetooth bluetooth-lowenergy peripherals

低功耗蓝牙规范并没有过多说明外设是否可以一次连接到多个中央设备,但我的测试经验告诉我它们不能。

因为我的应用程序需要与外围设备建立非占有关系(即没有连接,这会阻塞其他设备),并且需要不断更新它们的 RSSI 值,所以我正在寻找一种方法来持续扫描外围设备并捕获它们的 RSSI 值。

scanForPeripheralsWithServices 方法似乎扫描了特定时间间隔然后停止。我相信我最好的选择是一次扫描 3 秒,停止扫描,等待(几秒钟),然后重新启动扫描。重复。

谁能指出更好的方法?比如配置一个外设连接多个Central?

最佳答案

一个外设不能连接到多个中央。但是,如果您只需要捕获 RSSI,那么您甚至不需要连接。扫描设备可以使用此函数检索 RSSI:

- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI

关于ios - 持续扫描 iOS CoreBluetooth Central Manager?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16577546/

相关文章:

php - 如何使用命令 2 发送推送通知二进制格式

iphone - CBCentralManager 的状态什么时候会打开但仍然给我一个 "not powered on"警告?

java - 在PAN for Android 中创建蓝牙NAP 和PANU 并基于IP 相互通信

iOS BLE 设备在应用程序处于后台或被杀死或挂起时配对

ios - 使用 timeIntervalSince1970 时 DateFormatter 结果不正确

c# - UITabBar 或 UITabBarItem 的触摸事件

安卓蓝牙连接问题

bluetooth - 氟化物蓝牙堆栈的文档

swift - 为什么 Swift 参数标签对 BLE 回调很重要

ios - 无法在结构上看到象征性的崩溃报告