繁体   English   中英

iOS 说 BLE 特性没有通知

[英]iOS says BLE Characteristic is not notifying

我正在使用 Adafruit Feather BLE 模块进行修补。

随之而来的是我用来创建自定义服务和特征的 AT 命令集。 我正在使用它的通知选项。 iOS 端代码说特性没有通知。 我做了一些谷歌搜索,有些人说需要一个描述符才能通知特征。 所以我加了一个,但仍然没有成功。

这是代码的 Adafruit 方面——

AT+GATTADDSERVICE=UUID128= 3d-e8-3e-34-dc-98-43-d0-87-de-3d-97-73-8b-ba-b6
AT+GATTADDCHAR=UUID=0xABCD, PROPERTIES=0x10, MIN_LEN=2, VALUE='01', DATATYPE=1, DESCRIPTION=TEST, PRESENTATION=17-00-AC-27-01-00-00

我在串行监视器中看到它成功了。 在此之后,我每隔几毫秒写入一次 BLE 模块。

在 iOS 方面,这是我得到的日志——

Characteristics: [<CBCharacteristic: 0x2817a4180, UUID = ABCD, properties = 0x10, value = (null), notifying = NO>] 

我正在使用示例附带的标准代码。 我使用的属性值不正确吗? Adafruit 文档说 0x10 是为了让它通知。

调试说明中的isNotifying = no表示您尚未为此特性启用通知(即其isNotifying属性为false )。 这并不意味着该特性不支持通知。

您需要调用setNotifyValue(true, for: characteristic)来启用通知。

然后,您将收到对didUpdateNotificationState委托回调的调用,以告诉您通知是否已成功启用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM