MacBook是否可以成为iBeacon?


14

我的MacBook是否有可能成为iBeacon

我希望将其广播到支持iBeacons的iOS设备。如果可能,计算机的硬件要求是什么(例如,蓝牙4.0是否足够?),我将如何做?

更新:我主要是在寻找一种无需任何其他硬件即可完成此操作的方法(因为我的MacBook已经内置了蓝牙)。


有关类似问题,请参见stackoverflow.com/a/19741615/35690
有意义的2014年

Answers:


6

如果您是一名程序员,我已经发布了有关如何将MacBook与Mavericks用作iBeacon的说明。您可以在我的博客上找到说明,网址http://www.blendedcocoa.com/blog/2013/11/02/mavericks-as-an-ibeacon/

如果/当我有机会的时候,我可能会创建一个可以用来宣传iBeacon的应用程序。

这是我对堆栈溢出的类似问题的回答


Mavericks在Core Location中没有添加到iOS 7的iBeacon支持。但是,Mavericks现在可以充当BLE外围设备。鉴于iBeacon基本上是外围设备,应该可以(确实有可能)使用Mavericks作为iBeacon。

为了在iOS上创建iBeacon,您首先要创建一个CLBeaconRegion对象,然后使用该peripheralDataWithMeasuredPower:方法来获取NSDictionary包含要广播的必要广告数据的。如果您NSDictionary从iOS设备上获取此内容并在Mavericks上使用,那么您将获得一个iBeacon。

我创建了一个类来简化此过程,并允许您直接在Mavericks上生成广告数据字典。源代码位于https://github.com/mttrb/BeaconOSX

BLCBeaconAdvertisementData类取proximityUUIDmajorminor和校正的功率值,并创建可被传递到一个NSDictionary startAdvertising:的方法CBPeripheralManager对小牛。

BLCBeaconAdvertisementData班是很简单的。主要工作通过以下方法完成:

- (NSDictionary *)beaconAdvertisement {
    NSString *beaconKey = @"kCBAdvDataAppleBeaconKey";

    unsigned char advertisementBytes[21] = {0};

    [self.proximityUUID getUUIDBytes:(unsigned char *)&advertisementBytes];

    advertisementBytes[16] = (unsigned char)(self.major >> 8);
    advertisementBytes[17] = (unsigned char)(self.major & 255);

    advertisementBytes[18] = (unsigned char)(self.minor >> 8);
    advertisementBytes[19] = (unsigned char)(self.minor & 255);

    advertisementBytes[20] = self.measuredPower;

    NSMutableData *advertisement = [NSMutableData dataWithBytes:advertisementBytes length:21];

    return [NSDictionary dictionaryWithObject:advertisement forKey:beaconKey];
}

我在http://www.blendedcocoa.com/blog/2013/11/02/mavericks-as-an-ibeacon/上对此有更详细的博客文章


4

1)您需要获得一个蓝牙4.0 BLE(蓝牙低能耗)发射器/接收器芯片组,以连接到MacBook /安装在MacBook中。

这将允许您发送信标信号。

2)您需要创建或购买可以适当使用芯片组的软件。

这将使您能够识别附近启用信标的设备(例如新iPhone)的存在,并与它们进行适当的交互。

这是一个站点,通过一些很好的示例视频(实际上是从原始问题中的“ iBeacon”链接到)来说明有关iBeacons和BLE的更多信息:

Apple的iBeacons解释了-它是什么以及为什么会混乱-Pocket-lint

这是到商业销售BLE发射器/接收器的公司的链接(在上面的文章中提到)。该站点还概述了该技术的工作原理:

Estimote信标-应用程序的真实环境

该站点提供有关BLE的详细信息:

低能耗 蓝牙技术网站

然后,我会说,戴上您的工程帽,开始寻找芯片组和软件解决方案!

玩得开心!

编辑:

BLE的另一个名称是Bluetooth Smart。搜索属于Bluetooth Smart(仅适用于BLE)或Bluetooth Smart Ready(既适用于传统蓝牙又适用于BLE)的硬件和/或软件。蓝牙技术网站上有一些列表(与上面相同),而Google搜索会弹出一些已经创建的应用程序。

另一个搜索为Apple开发人员提供了一个文档:

苹果的蓝牙设计指南(来自其开发人员中心)

和苹果开发人员的快速开发工具(来自bluetooth.org):

苹果开发商| 蓝牙开发门户


抱歉,我应该澄清一下,我正在寻找不需要外部硬件的解决方案。由于某些MacBook已经内置了蓝牙4.0,因此我希望有一种可以利用该解决方案而不需要添加更多硬件的解决方案。
2013年

要求是相同的-因此您的MacBook支持Bluetooth Smart。现在,您需要查找(或编写自己的)软件以利用该技术。
leanne

我在答案中添加了一些链接和更多信息,以帮助进行其他研究。
leanne


0

创建一个将像iBeacon一样运行的VM。

http://developer.radiusnetworks.com/ibeacon/virtual.html

:)


您已将其发布为答案,仅用于直接回答所问问题的事物。
丹尼尔

尽管我认为它需要OP不需要的外部硬件,但该答案与该问题有关。使用本文中的虚拟机将为您提供在MacBook上运行的iBeacon。
mttrb
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.