【发布时间】:2019-11-04 15:43:49
【问题描述】:
我目前在连接外围设备时遇到了一些问题。我们外围设备中的蓝牙模块最初似乎没有宣传名称。我发现一旦我第一次连接到外围设备,它就会更新名称,然后我的扫描仪就能看到正确的名称。
我不明白为什么会这样。我还使用我们正在开发的 Swift 应用程序以及 iOS 和 Android 上的一系列蓝牙扫描仪进行了尝试,所以我不认为这是扫描仪端的操作系统或编程错误。
是否应该在外围设备上设置特定参数。由于我只是应用程序开发人员,我对模块如何处理流程不是很了解。
任何帮助将不胜感激。
只是为了确认扫描仪在连接一次之前看不到外围设备的名称。在此之后它将开始显示名称。更改外围设备名称后,旧名称仍会显示,直到我再次连接到它。
【问题讨论】:
-
您可以使用 LightBlue.app 进行检查(我不是开发人员,它只是 AppStore 上一个很好的调试应用程序)。看看你是否看到它。否则,您可能不会为它做广告,并且由于广告数据是成块的,请检查(使用正确的扫描选项),它出现了多次,并且有一次带有它的名称。
-
名称既可以包含在 GATT 名称特征中,也可以包含在广告数据中。您可以从广告数据中提取名称字段,以确保获得正确的名称。
-
我知道该设备正在做广告,因为当使用 AppStore 中的“Bluetooth BLE Device Finder”应用程序时,该应用程序会自动尝试连接到所有外围设备,因此名称正在更新。因此我知道它正在被宣传,并且仅在初始连接时更新名称。
标签: bluetooth bluetooth-lowenergy core-bluetooth ios-bluetooth