使用Mac进行iBeacon区域监控?

3
我知道这听起来很奇怪,但一台配备蓝牙低功耗Mac能否使用区域监控来监视其周围的iBeacons?例如,我将使用我的广播一个iBeacon信号,Mac就能看到它。
这种可能性存在吗?我需要这样做是为了在靠近时能够在Mac上执行任务。也许有更好的方法来实现这个需求呢?
3个回答

4

是的,您可以轻松使用Radius Networks的命令行工具在Mac上完成此操作:

% 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的首席工程师。

GitHub链接已失效。 - pkamb

2

是的,这完全是可能的...

虽然没有官方API,但请查看此项目的源代码:

https://github.com/liamnichols/iBeaconScanner

它展示了如何使用CoreBluetooth监听区域内使用iBeacon协议广播的BLE设备。

希望对您有所帮助。


编辑:尽管商业应用程序可能需要实现自己的广告协议,而不是试图借助iBeacon协议... 如果您想了解iBeacon广告数据的工作原理,请查看此答案:https://dev59.com/rmMk5IYBdhLWcg3w2ReT#19026387 它显示了正在广告的包的结构。


“尝试借助iBeacon协议”你确切指的是什么?这样做有什么不利之处吗? - Spenciefy
iBeacon只是一个发送符合特定规范的广告数据包的BLE设备。在我编辑的答案中,你可以看到它只是一些标识符,UUID、Major、Minor和功率校准值。对于商业用途,我认为你可能想要创建自己的广告数据包,更适合你的需求。(你不一定想麻烦地发送major和minor字节,所以也许你可以使用自己的BLE广告数据来完全满足你的需求?) - liamnichols

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接