繁体   English   中英

BLE 外设无法正确显示

[英]BLE Peripheral not displaying correctly

我目前在连接外围设备时遇到一些问题。 我们外围设备中的蓝牙模块最初似乎没有宣传名称。 我发现一旦我第一次连接到外围设备,它就会更新名称,然后我的扫描仪就能看到正确的名称。

我不明白为什么会这样。 我还使用我们正在开发的 Swift 应用程序以及 iOS 和 Android 上的一系列蓝牙扫描仪进行了尝试,所以我不相信这是扫描仪方面的操作系统或编程错误。

是否应在外围设备上设置特定参数。 由于我只是应用程序开发人员,因此我对模块如何处理流程并不太了解。

任何帮助将非常感激。

只是为了确认扫描仪在连接一次之前看不到外围设备的名称。 在此之后它将开始显示名称。 更改外围设备名称后,旧名称仍会显示,直到我再次连接到它。

要显示设备的名称,您需要在包含取决于您的设备的多个键的广告数据字典中查看,在来自 CentralManager 的 didDiscoverPeripheral 回调中。

- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary<NSString *, id> *)advertisementData RSSI:(NSNumber *)RSSI

您可以查找密钥CBAdvertisementDataLocalNameKey

如果您没有看到该名称,您可以在固件中进行更改以在 GATT 特征中包含一个名称。

您可以使用 LightBlue 应用程序验证一次。 这是应用商店上一个很好的应用来测试您的 BLE 设备。

暂无
暂无

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

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