OGeek|极客世界-中国程序员成长平台

标题: ios - 同时连接多个 BLE 设备 iOS [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 09:01
标题: ios - 同时连接多个 BLE 设备 iOS

我正在尝试扫描附近所有可用的 BLE 设备并与每个设备建立连接,以便我可以继续获取 RSSI 值。

这是我的代码:

- (void)centralManagerCBCentralManager *)central didDiscoverPeripheralCBPeripheral *)peripheral
     advertisementDataNSDictionary *)advertisementData RSSINSNumber *)RSSI {
    NSLog(@"Received peripheral : \n%@", peripheral);
    myPeripheral=peripheral;
    NSLog(@"RSSI value:%@",RSSI);

    [myCentralManager connectPeripheral:peripheral options:nil];
    peripheral.delegate=self;

}

-(void)centralManagerCBCentralManager *)central didConnectPeripheralCBPeripheral *)peripheral{
    //NSLog(@"eripheral Connected");
    NSLog(@"%@ connected",peripheral.identifier);
}

谁能指导我如何建立与多个外围设备的连接? 谢谢



Best Answer-推荐答案


你可以这样做:

第 1 步:停止扫描。这有助于加快连接速度。

[self.centralManager stopScan];

第 2 步:扫描外围设备。

[self.centralManager scanForPeripheralsWithServices:nil options:nil];

第 3 步:将所有发现的外设保存在委托(delegate)回调方法下方。

centralManager:didDiscoverPeripheral:advertisementData:RSSI:

步骤 2.1: 我称之为 2.1,因为这将在步骤 2 之后立即执行。使用 GCD,在延迟 2-5 秒后调度线程(用户 dispatch_after) 并循环保存的 Per 并调用 connectPeripheralptions: 方法来连接它们。

关于ios - 同时连接多个 BLE 设备 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32708546/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4