我想用我的 iPad 连接一个 OLS426 蓝牙低功耗模块,通过蓝牙模块上的串口发送数据。我已经成功连接到蓝牙模块。在连接中,iPad 作为中心,蓝牙模块作为外围设备。
这是我的问题:
(1)
[peripheral setNotifyValue:YES forCharacteristic:characteristic];
我在 didDiscoverCharacteristicsForService 中订阅了蓝牙模块。
- (void)peripheralCBPeripheral *)peripheral didUpdateNotificationStateForCharacteristicCBCharacteristic *)characteristic errorNSError *)error{
NSLog(@"Subscribed");
}
订阅后,终端打印“订阅”日志。是否意味着我已经成功订阅了设备?
(2)
我还尝试在 didDiscoverCharacteristicsForService 中为特征写入值。
[peripheral writeValue: data forCharacteristic:characteristic type:CBCharacteristicWriteWithResponse];
由于我已经将type设置为CBCharacteristicWriteWithResponse,所以我认为如果写入不成功,就会报错。但是,没有错误。
- (void)peripheralCBPeripheral *)peripheral didUpdateValueForCharacteristicCBCharacteristic *)characteristic errorNSError *)error{
NSLog(@"Hello sent");
}
我的问题是为什么在我为特性设置值后没有打印“Hello sent”?
(3)
我想通过蓝牙模块上的串口发送一些数据。我只能从特征读取数据,例如心率监测器,或将数据写入特征。在蓝牙模块的服务中,我找到了一个叫做“Serial Port”的,它下面有一个叫做“FIFO”的特性。所以我想我应该将数据写入该特性,以便通过串口发送数据。谁能告诉我我的想法是否正确?
Best Answer-推荐答案 strong>
1) 是的。
2) didUpdateValueForCharacteristic 当特征值的变化独立于你自己对该特征的写入时被调用。
3) 你读过connectBlue document如何通过FIFO特性读写数据?
关于iOS 蓝牙问题,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/24719473/
|