低功耗蓝牙规范并没有过多说明外设是否可以一次连接到多个中央设备,但我的测试经验告诉我它们不能。
因为我的应用程序需要与外围设备建立非占有关系(即没有连接,这会阻塞其他设备),并且需要不断更新它们的 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/