Czy to możliwe, aby mój MacBook stał się iBeacon?

14

Czy to możliwe, aby mój MacBook stał się iBeacon ?

Chciałbym, aby transmitował się na urządzeniach iOS obsługujących iBeacons. Jeśli to możliwe, jakie są wymagania sprzętowe komputera (np. Czy wystarczy Bluetooth 4.0?) I jak mam to zrobić?

Aktualizacja : przede wszystkim szukam sposobu, aby to zrobić bez dodatkowego sprzętu (ponieważ mój MacBook ma już wbudowaną technologię Bluetooth).

Rozsądny
źródło
Zobacz podobne pytanie na stackoverflow.com/a/19741615/35690 .
Rozsądny

Odpowiedzi:

6

Jeśli jesteś programistą, zamieściłem instrukcje dotyczące używania MacBooka z Mavericks jako iBeacon. Instrukcje znajdują się na moim blogu pod adresem http://www.blendedcocoa.com/blog/2013/11/02/mavericks-as-an-ibeacon/

Jeśli / Kiedy dostanę szansę, mogę utworzyć aplikację, której można użyć do reklamowania iBeacon.

To jest odpowiedź na podobne pytanie dotyczące przepełnienia stosu


Mavericks nie ma obsługi iBeacon w Core Location, która została dodana do iOS 7. Jednak Mavericks ma teraz możliwość działania jako urządzenie peryferyjne BLE. Biorąc pod uwagę, że iBeacon jest w zasadzie urządzeniem peryferyjnym, powinno być możliwe (i rzeczywiście) możliwe użycie Mavericks jako iBeacon.

Aby utworzyć iBeacon na iOS, najpierw musisz utworzyć CLBeaconRegionobiekt, a następnie użyć peripheralDataWithMeasuredPower:metody, aby uzyskać NSDictionaryniezbędne dane reklamowe do emisji. Jeśli weźmiesz zawartość tego NSDictionaryurządzenia z urządzenia iOS i użyjesz go w Mavericks, otrzymasz iBeacon.

Stworzyłem klasę, aby to ułatwić i umożliwić generowanie słownika danych reklamowych bezpośrednio w Mavericks. Kod źródłowy jest dostępny na https://github.com/mttrb/BeaconOSX

BLCBeaconAdvertisementDataKlasa podjąć proximityUUID, major, minori kalibrowane wartości mocy i tworzy NSDictionary, które mogą być przekazywane do startAdvertising:metody CBPeripheralManagerna Mavericks.

BLCBeaconAdvertisementDataKlasa jest dość prosta. Główną pracę wykonuje się następującą metodą:

- (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];
}

Bardziej szczegółowy post na ten temat znajduje się na stronie http://www.blendedcocoa.com/blog/2013/11/02/mavericks-as-an-ibeacon/

mttrb
źródło
4

1) Musisz podłączyć chipset nadajnika / odbiornika Bluetooth 4.0 BLE (Bluetooth Low Energy), aby podłączyć / zainstalować w MacBooku.

Pozwoliłoby to na przesłanie sygnału nawigacyjnego.

2) Konieczne będzie utworzenie lub zakup oprogramowania, które mogłoby odpowiednio wykorzystywać mikroukład.

Umożliwiłoby to rozpoznanie obecności pobliskich urządzeń z funkcją beacon, takich jak nowe iPhone'y, i odpowiednie interakcje z nimi.

Oto strona, która wyjaśnia więcej o iBeacons i BLE z kilkoma dobrymi przykładowymi filmami (faktycznie linkowanymi z „iBeacon” w pierwotnym pytaniu):

IBeacons firmy Apple wyjaśnił - Co to jest i dlaczego to się dzieje - Pocket-lint

Oto link do firmy sprzedającej nadajniki / odbiorniki BLE do użytku komercyjnego (wspomniane w powyższym artykule). Ta strona zawiera także przegląd działania tej technologii:

Estimote Beacons - rzeczywisty kontekst dla twoich aplikacji

Ta strona zawiera szczegółowe informacje na temat BLE:

Niska energia | Witryna technologii Bluetooth

Powiedziałbym: załóż kapelusz inżynierski i zacznij szukać chipsetów i rozwiązań programowych!

Baw się dobrze!

Edytować:

Inną nazwą BLE jest Bluetooth Smart. Wyszukaj sprzęt i / lub oprogramowanie obsługujące technologię Bluetooth Smart (tylko BLE) lub Bluetooth Smart Ready (obsługuje zarówno starszą wersję Bluetooth, jak i BLE). Niektóre listy znajdują się na stronie internetowej poświęconej technologii Bluetooth (tak samo jak powyżej), a wyszukiwarka Google wyświetla kilka już utworzonych aplikacji.

Kolejne wyszukiwanie przywołuje dokument dla programistów Apple:

Wytyczne Apple dotyczące projektowania Bluetooth (z centrum programistów)

oraz narzędzie do szybkiego programowania dla programistów Apple (z bluetooth.org):

Deweloperzy Apple | Portal rozwoju Bluetooth

leanne
źródło
Przepraszam, powinienem był wyjaśnić, szukam rozwiązania, które nie wymaga zewnętrznego sprzętu. Ponieważ niektóre MacBooki mają już wbudowaną technologię Bluetooth 4.0, miałem nadzieję, że istnieje rozwiązanie, które mogłoby to wykorzystać zamiast konieczności dodawania dodatkowego sprzętu.
Sensowny
Wymagania są takie same - więc Twój MacBook jest gotowy na Bluetooth Smart. Teraz musisz znaleźć (lub napisać własne) oprogramowanie, aby skorzystać z tej technologii.
leanne
Dodałem kilka linków i dalsze informacje w mojej odpowiedzi, aby pomóc w dodatkowych badaniach.
leanne
2

Korzystałem z małego narzędzia o nazwie MactsAsBeacon. Wszystko, co musisz zrobić, to pobrać plik .app i otworzyć go. Następnie pozwala ustawić wartości UUID, Major, Minor i Power.

https://github.com/timd/MactsAsBeacon

cuomo456
źródło
Niezłe znalezisko! To idealnie pasuje do problemu.
Ian C.
0

Utwórz maszynę wirtualną, która będzie działać jak iBeacon.

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

:)

Lew
źródło
Opublikowałeś to jako odpowiedź, która dotyczy tylko rzeczy, które bezpośrednio odpowiadają na zadane pytanie.
Daniel
Ta odpowiedź dotyczy pytania, chociaż uważam, że wymaga zewnętrznego sprzętu, którego OP nie chce. Korzystanie z maszyny wirtualnej w tym artykule da ci działający iBeacon na MacBooku.
mttrb,