连接LightBlue外设模式

时间:2013-08-07 23:44:03

标签: bluetooth core lightblue

我在外围模式的IOS设备(iPhone 4s,iOS 6.1.3)上使用LightBlue应用程序,在中央模式下使用另一个IOS设备(iPhone 4s,iOS 6.1.3)。

我正在使用Apple的BTLE Transfer示例代码,它在这两个设备上正常运行。但是,它不适用于LightBlue。因为我只想开发一个从血压设备读取数据的简单应用程序,我刚刚在Transfer.h文件中更改了以下服务和特征UUID

定义TRANSFER_SERVICE_UUID @“1810”

定义TRANSFER_CHARACTERISTIC_UUID @“2A49”//只读取值

我的计划是在LightBlue上克隆一个真实的设备结构,然后开发一个中央应用程序来连接LightBlue外围设备(我认为它将与真实设备一起工作,因为我现在没有任何真正的设备)。我将设备设置为外围设备,第二个设备将修改应用程序(来自apple示例)作为中心或客户端。

Apple提供的以下委托方法:

- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
{
    // Reject any where the value is above reasonable range
    if (RSSI.integerValue > -15) {
        return;
    }

    // Reject if the signal strength is too low to be close enough (Close is around -22dB)
    if (RSSI.integerValue < -35) {
        return;
    }

    NSLog(@"Discovered %@ at %@", peripheral.name, RSSI);

    // Ok, it's in range - have we already seen it?
    if (self.discoveredPeripheral != peripheral) {

        // Save a local copy of the peripheral, so CoreBluetooth doesn't get rid of it
        self.discoveredPeripheral = peripheral;

        // And connect
        NSLog(@"Connecting to peripheral %@", peripheral);
        [self.centralManager connectPeripheral:peripheral options:nil];
        self.connectingPeripheral=peripheral; // this line of code I have added as recommended from a member
    }
}

问题是,这个委托方法已被触发,日志面板显示“发现LightBlue在-32”。它可能无法连接到Lightblue外设,因为我看不到代码行NSLog的输出(@“正在连接到外围%@“,外围设备);

欢迎并高度赞赏所有建议。

0 个答案:

没有答案