iOS中待机模式下的蓝牙低功耗?

Posted

技术标签:

【中文标题】iOS中待机模式下的蓝牙低功耗?【英文标题】:bluetooth low energy on standby mode in iOS? 【发布时间】:2014-11-17 07:17:33 【问题描述】:

我已经阅读了有关 ios BLE 的文档,并且我可以看到每个设备都有其 UUID 而不是 BLE 的 mac 地址。

我的问题,在文档中没有答案,是-当您打开设备上的蓝牙(不打开任何应用程序)时,设备的蓝牙已打开,然后它会宣传什么,并且可以我发现该设备或获取它的 UUID,而他的蓝牙已打开,但没有打开任何应用程序。

我很确定当 BLE 开启时,您可以发现该设备,或唤醒他,但我想知道在没有应用程序的情况下,我可以从他那里获得什么数据。 (android 也一样。)

【问题讨论】:

【参考方案1】:

iOS 不会宣传任何在未运行应用程序的情况下对另一台 iOS 设备可见的低功耗蓝牙服务。应用广告服务后,您将看到其他可用服务 - 设备信息、时间服务、电池电量。

如果您使用不同的蓝牙硬件进行扫描,那么您可能会看到一些没有应用程序的广告,但出于隐私原因,iOS 设备的报告 UUID 每 15 分钟更改一次 - 请参阅此答案 - Corebluetooth, How to get a unique UUID?

【讨论】:

这可能不是真的,因为当你打开设备上的蓝牙时,例如mac可以识别设备,这意味着设备是可发现的。如果你在正确的地方,iDevices上的蓝牙按钮的建议是什么(当你滑动屏幕底部并打开控制中心时得到的那个) 根据文档和我的经验,UUID 从未改变,并且是恒定的。 我假设您询问的是其他使用 Core 蓝牙的 iOS 设备可以看到的 BLE 服务。该设备可能会宣传传统的蓝牙服务,但这些服务对核心蓝牙是不可见的。也可能有 Apple 服务(例如热点服务)对 iOS 和 OSX 可见,但从 Core Bluetooth 库中过滤(例如,iBeacon 广告不通过 Core Bluetooth 传递)。蓝牙按钮的目的是关闭蓝牙无线电 - 这会影响核心蓝牙和传统(例如免提) 如果您使用非 iOS 设备查找 iOS 设备,则情况可能会有所不同,但除非您与设备配对,否则 UUID 仍会发生变化 我正在使用硬件来识别设备是否在某个区域,我想在没有应用程序的情况下通过 ble 来识别它。

以上是关于iOS中待机模式下的蓝牙低功耗?的主要内容,如果未能解决你的问题,请参考以下文章

「低功耗蓝牙模块」主从一体 蓝牙嗅探-助力智能门锁

低功耗模式下的变量

STM32F103低功耗与IO唤醒

Android 低功耗蓝牙(Ble) 开发总结

STM32低功耗模式与烟雾报警器触发信号电路设计

第23章 RTX 低功耗之待机模式