OGeek|极客世界-中国程序员成长平台

标题: iOS 蓝牙问题 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 10:48
标题: iOS 蓝牙问题

我想用我的 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-推荐答案


1) 是的。

2) didUpdateValueForCharacteristic 当特征值的变化独立于你自己对该特征的写入时被调用。

3) 你读过connectBlue document如何通过FIFO特性读写数据?

关于iOS 蓝牙问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24719473/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4