簡體   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