iphone 4s可以连接两个蓝牙4.0设备吗?

Posted

技术标签:

【中文标题】iphone 4s可以连接两个蓝牙4.0设备吗?【英文标题】:iphone 4s can connect two bluetooth 4.0 device? 【发布时间】:2012-08-02 07:17:54 【问题描述】:

我想知道

我使用 Corebluetooth.framework 连接我的 bluetooth4.0 设备,现在我有疑问,如果我们有两个设备,我可以同时连接吗?

非常感谢!

【问题讨论】:

【参考方案1】:

是的。

例如,请查看 Apple 的心率监测器示例,网址为 http://developer.apple.com/library/mac/#samplecode/HeartRateMonitor/Introduction/Intro.html%23//apple_ref/doc/uid/DTS40011322。在 HeartRateMonitorAppDelegate.m 中,您会发现以下方法收集多个设备:

- (void) centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)aPeripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI 
    
    NSMutableArray *peripherals = [self mutableArrayValueForKey:@"heartRateMonitors"];
    if( ![self.heartRateMonitors containsObject:aPeripheral] )
        [peripherals addObject:aPeripheral];

    /* Retreive already known devices */
    if(autoConnect)
    
        [manager retrievePeripherals:[NSArray arrayWithObject:(id)aPeripheral.UUID]];
    

在这个特定示例中,该应用仅与其中一个心率监测器连接,但您可以查看代码并轻松了解它如何连接到两个(假设您愿意更新 UI 以显示两个心率) .

【讨论】:

但是如果不止一个设备,如何知道 aPeripheral.UUID。谢谢你变化很大~ 对不起..我测试了一段时间。但我无法连接两个心率 USB 设备,您能帮帮我吗? 涉及两个 UUID,这可能会让人感到困惑。该服务有一个 UUID,这就是您用来扫描的。设备本身也有一个 UUID,每个设备都应该是唯一的。因此,当您扫描服务 UUID 时,请查看返回的每个设备并检查设备 UUID。如果这与您已经看到的不同,那么您已经找到了提供相同服务的第二台设备。 我有一个新问题,如何控制两个设备NotifyValue,我连接了两个心率设备,但只能得到一个设备值,如何控制获得两个设备值?谢谢【参考方案2】:

如果 iPhone 设备扮演主机角色,您可以连接。一台从设备只能与一台主设备连接。包括 iPhone 设备在内的 BLE 设备可以同时扮演主从角色。更多BLE设备连接信息,可以关注link。

【讨论】:

我认为运行ios 5.1的设备只能是主设备。

以上是关于iphone 4s可以连接两个蓝牙4.0设备吗?的主要内容,如果未能解决你的问题,请参考以下文章

iPhone 4 BLE 使用核心蓝牙 4.0

iOS 蓝牙

为啥android6.0的手机不能连接蓝牙

IOS 蓝牙介绍

混合APP低功耗蓝牙项目解析数据可能用到的一些小方法---ble

蓝牙BLE如何连接连接多台设备