Возможно ли, чтобы мой MacBook стал iBeacon?


14

Возможно ли, чтобы мой MacBook стал iBeacon ?

Я хотел бы, чтобы он транслировался на устройства iOS, которые поддерживают iBeacons. Если это возможно, каковы требования к оборудованию компьютера (например, достаточно ли Bluetooth 4.0?) И как мне это сделать?

Обновление : в первую очередь я ищу способ сделать это без какого-либо дополнительного оборудования (так как мой MacBook уже имеет встроенный Bluetooth).


См. Stackoverflow.com/a/19741615/35690 для аналогичного вопроса.
Senseful

Ответы:


6

Если вы программист, я разместил инструкции о том, как использовать MacBook с Mavericks в качестве iBeacon. Вы можете найти инструкции в моем блоге по адресу http://www.blendedcocoa.com/blog/2013/11/02/mavericks-as-an-ibeacon/

Если / когда я получу шанс, я могу создать приложение, которое вы можете использовать для рекламы iBeacon.

Это ответ, который я дал на аналогичный вопрос о переполнении стека


У Mavericks нет поддержки iBeacon в Core Location, которая была добавлена ​​в iOS 7. Однако теперь у Mavericks есть возможность выступать в качестве периферийного устройства BLE. Учитывая, что iBeacon в основном является периферийным устройством, должно быть (и действительно возможно) использовать Mavericks в качестве iBeacon.

Чтобы создать iBeacon на iOS, сначала нужно создать CLBeaconRegion объект, а затем использовать peripheralDataWithMeasuredPower:метод, чтобы получить NSDictionaryнеобходимые рекламные данные для трансляции. Если вы берете это содержимое NSDictionaryс устройства iOS и используете его на Mavericks, вы получаете iBeacon.

Я создал класс, чтобы упростить это и позволить вам создавать словарь рекламных данных непосредственно на Mavericks. Исходный код доступен по адресу https://github.com/mttrb/BeaconOSX.

BLCBeaconAdvertisementDataКласс принимают proximityUUID, major, minorи калиброванные значения мощности и создает NSDictionary , который может быть передан в startAdvertising:метод CBPeripheralManagerна Mavericks.

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) Вам понадобится чипсет передатчика / приемника Bluetooth 4.0 BLE (Bluetooth Low Energy) для подключения / установки на вашем MacBook.

Это позволит вам передавать сигнал маяка.

2) Вам потребуется создать или приобрести программное обеспечение, которое могло бы использовать чипсет соответствующим образом.

Это позволит вам распознать присутствие близлежащих устройств с маяком, таких как новые iPhone, и соответствующим образом взаимодействовать с ними.

Вот сайт, который объясняет больше о iBeacons и BLE с несколькими хорошими примерами видео (на самом деле на него ссылается «iBeacon» в оригинальном вопросе):

IBeacons от Apple объяснили - что это такое и почему оно стоит - Pocket-lint

Вот ссылка на компанию, продающую передатчик / приемник BLE для коммерческого использования (упомянутый в статье выше). Этот сайт также предоставляет обзор того, как работает технология:

Estimote Beacons - реальный контекст для ваших приложений

Этот сайт дает подробную информацию о BLE:

Низкая энергия | Сайт технологии Bluetooth

Тогда я бы сказал, наденьте свою инженерную шляпу и начните поиск чипсетов и программных решений!

Веселиться!

Редактировать:

Другое название для BLE - Bluetooth Smart. Найдите аппаратное и / или программное обеспечение, которое является Bluetooth Smart (поддерживает только BLE) или Bluetooth Smart Ready (поддерживает как Bluetooth, так и BLE). Некоторые списки на веб-сайте технологии Bluetooth (такие же, как указано выше), а поиск Google несколько приложений, которые уже были созданы.

Другой поиск вызывает документ для разработчиков Apple:

Рекомендации Apple по дизайну Bluetooth (из их центра разработчиков)

и инструмент быстрой разработки для разработчиков Apple (от bluetooth.org):

Разработчики Apple | Портал разработки Bluetooth


Извините, я должен был уточнить, я ищу решение, которое не требует внешнего оборудования. Так как некоторые MacBook уже имеют встроенный Bluetooth 4.0, я надеялся, что есть решение, которое могло бы использовать его вместо добавления дополнительного оборудования.
Чувственный

Требования одинаковы, поэтому ваш MacBook поддерживает Bluetooth Smart Ready. Теперь вам нужно найти (или написать свое) программное обеспечение, чтобы воспользоваться преимуществами этой технологии.
Линн

Я добавил несколько ссылок и дополнительную информацию в свой ответ, чтобы помочь с дополнительными исследованиями.
Линн

2

Я использовал небольшой инструмент под названием MactsAsBeacon. Все, что вам нужно сделать, это загрузить файл .app и открыть его. Затем он позволяет вам установить значения UUID, Major, Minor и Power.

https://github.com/timd/MactsAsBeacon


Хорошая находка! Это идеально подходит к проблеме.
Ян С.

0

Создайте виртуальную машину, которая будет работать как iBeacon.

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

:)


Вы опубликовали это как ответ, который предназначен только для тех вопросов, которые прямо отвечают на заданный вопрос.
Даниил

Этот ответ имеет отношение к вопросу, хотя я полагаю, что он требует внешнего оборудования, которое ОП не хочет. Использование виртуальной машины в статье даст вам работающий iBeacon на MacBook.
Mttrb
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.