BLE 5 外围设备未在支持 BLE 5 的 Android 手机和 iPhone 上得到扫描

Posted

技术标签:

【中文标题】BLE 5 外围设备未在支持 BLE 5 的 Android 手机和 iPhone 上得到扫描【英文标题】:BLE 5 peripheral devices are not getting scanned on BLE 5 supported Android phones and iPhones 【发布时间】:2018-11-23 09:50:35 【问题描述】:

我正在开发一个需要与支持 BLE 5 的外围设备通信的应用程序,这是我们使用扩展广告数据包的要求。众所周知,BLE 5 设备完全支持后台兼容。因此,当 BLE 5 设备在传统模式下广播自身时,它会在 Andorid/iPhone 设备上进行扫描。但是,当它在没有传统模式的情况下广播时,它不会被扫描。我不知道我错过了什么。我相信在应用程序端没有什么比在堆栈级别处理更多的事情要做的了。

任何帮助将不胜感激。提前致谢。

【问题讨论】:

问题解决了吗?很久以前。如果您仍然知道,听到解决方案可能会很有趣。 【参考方案1】:

请检查以下几点:

    拿一个蓝牙嗅探器。你的设备有广告吗? 广告间隔是多少?它与手机兼容吗?如果间隔不好,则可能存在混叠问题。启动Accessory Design Guidelines from Apple. 的一个好点如果时间长于 500 毫秒,则可能需要很长时间才能找到设备。 给您发送什么样的广告?有向/无向?如果您直接发送,非目标设备的堆栈将忽略广告 如果您有一个良好的 BLE 扫描仪,它也可能会显示广告数据是否格式错误。我曾经遇到过我的所有广告都被忽略的问题,因为长度字段与有效负载不匹配。 您需要公共或随机 BLE 地址吗?我不确定这一点,但可以过滤或过滤。因此,如果您的设备切换到随机地址并且您只过滤公共地址,您可能看不到它。

我希望对于任何有同样问题的人来说,这是一个良好的调试开始。

【讨论】:

以上是关于BLE 5 外围设备未在支持 BLE 5 的 Android 手机和 iPhone 上得到扫描的主要内容,如果未能解决你的问题,请参考以下文章

从 Bluez 5.48 开始,iPhone 在连接 BLE GAP 外围设备时需要配对,为啥?

如何查看外围设备的 BLE 服务?

Android-低功耗蓝牙(BLE)-客户端(主机/中心设备)和服务端(从机/外围设备)

BLE外围设备断开

如何在 Android 中获取当前连接的 BLE 外围设备

使用基于广告服务 UUID 的扫描过滤器扫描 BLE 外围设备