【发布时间】:2014-06-16 10:29:01
【问题描述】:
我知道这听起来很奇怪,但是配备 Bluetooth LE 的 Mac 可以使用区域监控 来监控周围的iBeacons 吗?例如,我会使用我的 iPhone 广播iBeacon 信号,Mac 将能够看到它。
这可能吗?我这样做的原因是当 iPhone 靠近它时能够在 Mac 上执行任务。也许有更好的方法来做到这一点?
【问题讨论】:
标签: ios iphone macos bluetooth ibeacon
我知道这听起来很奇怪,但是配备 Bluetooth LE 的 Mac 可以使用区域监控 来监控周围的iBeacons 吗?例如,我会使用我的 iPhone 广播iBeacon 信号,Mac 将能够看到它。
这可能吗?我这样做的原因是当 iPhone 靠近它时能够在 Mac 上执行任务。也许有更好的方法来做到这一点?
【问题讨论】:
标签: ios iphone macos bluetooth ibeacon
【讨论】:
是的,这完全有可能......
它没有官方 API,但请查看该项目的源代码:
https://github.com/liamnichols/iBeaconScanner
它展示了如何在使用 CoreBluetooth 的区域内使用 iBeacon 协议监听 BLE 设备广播。
希望对你有帮助
编辑:尽管商业应用程序可能需要实现自己的广告协议,而不是尝试背靠 iBeacon 协议...如果您想了解 iBeacon 的广告数据如何工作,请查看此答案:https://stackoverflow.com/a/19026387/814389 它显示了被广告打包的结构。
【讨论】:
是的,您可以在 Mac 上使用 Radius Networks 的命令行工具轻松完成此操作:
% ibeacon --scan
{entered: { uuid: "2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6", major: 1, minor: 1, rssi: -61}}
{ranged: [{ uuid: "2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6", major: 1, minor: 1, rssi: -61}]}
您可以将上述输出与启动应用程序或在检测到 iBeacon 时执行其他活动的脚本结合起来。
可从此处免费获得:https://github.com/RadiusNetworks/ibeacon-cli
全面披露:我是 Radius Networks 的首席工程师
【讨论】: