特定特征的 BLE ReadValue 引发“资源不足错误”

Posted

技术标签:

【中文标题】特定特征的 BLE ReadValue 引发“资源不足错误”【英文标题】:BLE ReadValue for particular characteristic throws "Resource Insufficient Error" 【发布时间】:2018-12-05 12:38:31 【问题描述】:

我正在尝试读取特定特征。它无法读取特征的价值。如果我尝试使用 nRFConnect 连接它,它会正确读取该值。

【问题讨论】:

完整的错误信息是什么?你读过error.localizationerror 吗?另外,你能检查一下特性的属性吗?是否可以加密(例如indicateEncryptionRequired),您需要与它配对才能读取它。 是的,只有配对后我才尝试阅读它。我读了error.localizedDescription。将检查加密的东西。 我们很清楚,配对是在 ios 弹出窗口明确显示时完成的,这不是简单的“didConnect”,对吧? 我收到了这个错误。 "Error Domain=CBATTErrorDomain Code=17 "资源不足。" UserInfo=NSLocalizedDescription=资源不足。​ " 【参考方案1】:

是的,找到了答案。 问题出在 BLE 设备上。即使在 nRFConnect 中,日志中也会打印相同的错误。当我们发现特定特征的描述符时,就会发生这种情况。希望 nRFConnect 的日志救了我 :)

当我尝试关闭并打开 BLE 设备或取出电池并重新插入时,问题已解决。 :)

【讨论】:

以上是关于特定特征的 BLE ReadValue 引发“资源不足错误”的主要内容,如果未能解决你的问题,请参考以下文章

我在 dart 中使用 BLE,我需要将 9 个字节发送到特定的特征,其中第一个字节是 5,剩余的是 epoch

在 iOS 中监听多个连接的 BLE 设备的特征值变化

关于通过 BLE 实现固件 OTA 的任何好的资源?

IOS 蓝牙 BLE 写入值返回“未知错误”

蓝牙 (BLE) bluetoothLeAdvertiser.startAdvertising 引发错误代码 2 (ADVERTISE_FAILED_TOO_MANY_ADVERTISERS)

BLE 中的心率值