iOS蓝牙问题

时间:2014-07-13 04:09:49

标签: ios serial-port bluetooth-lowenergy core-bluetooth

我想用我的iPad连接OLS426蓝牙低功耗模块,通过蓝牙模块上的串口发送数据。我已成功连接到蓝牙模块。在这种连接中,iPad作为中央设备,蓝牙模块作为外围设备。

以下是我的问题:

(1)

    [peripheral setNotifyValue:YES forCharacteristic:characteristic];

我订阅了didDiscoverCharacteristicsForService中的蓝牙模块。

    - (void)peripheral:(CBPeripheral *)peripheral didUpdateNotificationStateForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error{

        NSLog(@"Subscribed");

}

订阅后,"订阅"日志打印在终端上。这是否意味着我已成功订阅该设备?

(2)

我还尝试在didDiscoverCharacteristicsForService中为特征写入值。

    [peripheral writeValue: data forCharacteristic:characteristic type:CBCharacteristicWriteWithResponse];

由于我已将类型设置为CBCharacteristicWriteWithResponse,我认为如果写入不成功,则会出现错误。但是,没有错误。

    - (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error{
        NSLog(@"Hello sent");
    }

我的问题是为什么"你好发送"在为特征设置值后不会打印?

(3)

我想通过蓝牙模块上的串口发送一些数据。我只能从特征中读取数据,如心率监测器,或将数据写入特征。在蓝牙模块的服务中,我发现了一个名为"串行端口"在其下有一个名为" FIFO"的特征。所以我想我应该将数据写入该特性,以便通过串口发送数据。谁能告诉我,我的想法是否正确?

1 个答案:

答案 0 :(得分:2)

1)是的。

2)当特征值独立于您自己对该特征的写入而改变时,将调用didUpdateValueForCharacteristic

3)您是否阅读过有关如何通过FIFO特性读/写数据的connectBlue document