如何在iOS应用蓝牙LE设备得到通知(How to get notification from Bl

2019-07-30 20:34发布

我工作在iOS蓝牙LE应用。 这我能够正确地领会功能如下:

  1. 发现外设。
  2. 连接到外设。
  3. 获取服务和特性。
  4. 能同时点击阅读按钮,从特征读取数据。
  5. 能够写数据。

在这里,我面临的一个问题,我只需要在BLE装置将其发送到应用程序读取输入的数据。 我明确地读上按一下按钮的特性。 我的BLE装置连续发送特别的时间间隔的一些数据,但我不能够得到它。

我已经设置了setNotify以及特点,不是成功上它。

[peripheral setNotifyValue:YES forCharacteristic:characteristic];

如何让我的应用程序由BLE装置事件(通过其发送到应用程序)通知? 请帮我在这里还是建议我的东西。

提前致谢。

Answer 1:

你在做什么应该工作。 从周边到达的所有数据都将来到didUpdateValueForCharacteristic回调方法。 寻找它。

所以,无论你显式调用readCharacteristic方法或刚成立的外围时通知您有可用的数据(如报警,或心脏跳动),你仍然会接收到的数据在同一个地方。

注意 :当你发送setNotifyValue消息,你应该得到的回调didUpdateNotificationStateForCharacteristic没有误差的方法。 如果没有,我建议你看看你周围的固件,确保特性不读/只写。



Answer 2:

在外围侧上,有必要设置为使能通知的特性的属性。 你这样做与CBCharacteristicPropertyNotify财产。 例如,下面是你如何可以创建以下特点:

CBMutableCharacteristic *alertLevelCharacteristic = 
[[CBMutableCharacteristic alloc] initWithType:alertLevelCharacteristicUUID
                                   properties:CBCharacteristicPropertyRead | CBCharacteristicPropertyNotify
                                        value: nil permissions:CBAttributePermissionsReadable];


文章来源: How to get notification from Bluetooth LE devices in iOS app