如何从iOS应用程序中的蓝牙LE设备获取通知

Lal*_*wal 7 notifications bluetooth bluetooth-lowenergy

我正在开发iOS蓝牙LE应用程序.我能够正确且成功地遵循的功能如下:

  1. 发现外围设备.
  2. 连接到外围设备.
  3. 获得服务和特征.
  4. 能够在单击读取按钮的同时从特征中读取数据.
  5. 能够写数据.

在这里我遇到了一个问题,我只需要在BLE设备将其传输到应用程序时才读取传入数据.我正在明确阅读按钮点击的特征.我的BLE设备在特定的时间间隔内不断传输一些数据,但我无法得到它.

我已经设置了setNotify的特性,也没有成功.

[peripheral setNotifyValue:YES forCharacteristic:characteristic];
Run Code Online (Sandbox Code Playgroud)

如何通过BLE设备事件(通过它发送到应用程序)通知我的应用程序?请帮帮我或建议我.

提前致谢.

小智 10

你在做什么应该工作.从外围设备到达的所有数据都将进入didUpdateValueForCharacteristic回调方法.在那里寻找它.

因此,无论您是明确调用该readCharacteristic方法还是仅设置外围设备,以便在有可用数据(如闹钟或心跳)时通知您,您仍将在同一位置接收数据.

注意:当您发送setNotifyValue消息时,您应该收到didUpdateNotificationStateForCharacteristic方法的回调,没有错误.如果没有,我建议您查看外围设备固件并确保该特性不是只读/写.