我工作在iOS蓝牙LE应用。 这我能够正确地领会功能如下:
- 发现外设。
- 连接到外设。
- 获取服务和特性。
- 能同时点击阅读按钮,从特征读取数据。
- 能够写数据。
在这里,我面临的一个问题,我只需要在BLE装置将其发送到应用程序读取输入的数据。 我明确地读上按一下按钮的特性。 我的BLE装置连续发送特别的时间间隔的一些数据,但我不能够得到它。
我已经设置了setNotify以及特点,不是成功上它。
[peripheral setNotifyValue:YES forCharacteristic:characteristic];
如何让我的应用程序由BLE装置事件(通过其发送到应用程序)通知? 请帮我在这里还是建议我的东西。
提前致谢。
你在做什么应该工作。 从周边到达的所有数据都将来到didUpdateValueForCharacteristic
回调方法。 寻找它。
所以,无论你显式调用readCharacteristic
方法或刚成立的外围时通知您有可用的数据(如报警,或心脏跳动),你仍然会接收到的数据在同一个地方。
注意 :当你发送setNotifyValue
消息,你应该得到的回调didUpdateNotificationStateForCharacteristic
没有误差的方法。 如果没有,我建议你看看你周围的固件,确保特性不读/只写。
在外围侧上,有必要设置为使能通知的特性的属性。 你这样做与CBCharacteristicPropertyNotify财产。 例如,下面是你如何可以创建以下特点:
CBMutableCharacteristic *alertLevelCharacteristic =
[[CBMutableCharacteristic alloc] initWithType:alertLevelCharacteristicUUID
properties:CBCharacteristicPropertyRead | CBCharacteristicPropertyNotify
value: nil permissions:CBAttributePermissionsReadable];