【发布时间】:2020-07-30 14:32:46
【问题描述】:
我在使用 BLE 与我们定制的 BLE 单元进行通信的 iOS 应用程序上工作。 我们希望通过 BLE 自动向设备发送特定命令。
当用户靠近设备并满足特定条件时,应用程序应连接到设备,“登录”用户,通过 BLE 发送命令并立即断开连接。
这些特定标准基于广告中的制造商数据(即,当制造商数据的最后一个字节为 0x01 时,设备处于“可登录”状态,当它“不可登录”时,最后一个字节为 0x00)。
在前台,这种机制完美无缺。 即使应用程序处于后台或终止状态(在 iPhone 上的仪表板中向上滑动),我们也希望这样做。
我们实现的机制:
- 该单元具有充当 iBeacon 的能力
- 当设备无法登录时,iBeacon 处于关闭状态
- 当它可用于登录时,iBeacon 将打开并唤醒应用程序,此时 BLE 扫描将以后台模式开始
- 后台模式设置为蓝牙中心
这里的问题是,无论我尝试什么,广告:
- 有时根本没有发现(看起来是时间问题?)
- 被发现时不包含制造商数据
有没有人遇到过类似的事情? 感谢您提供任何帮助,祝您有愉快的一天!
【问题讨论】:
-
这篇文章可能会有所帮助:medium.com/@cbartel/…
-
谢谢,我看了几遍。他的问题是根本没有在后台模式下发现外围设备。就我而言,这种发现有时会发生。
标签: ios bluetooth-lowenergy core-bluetooth ibeacon bluetoothleadvertiser