我想用我的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"的特征。所以我想我应该将数据写入该特性,以便通过串口发送数据。谁能告诉我,我的想法是否正确?
答案 0 :(得分:2)
1)是的。
2)当特征值独立于您自己对该特征的写入而改变时,将调用didUpdateValueForCharacteristic
。
3)您是否阅读过有关如何通过FIFO特性读/写数据的connectBlue document?