È possibile che il mio MacBook diventi un iBeacon?


14

È possibile che il mio MacBook diventi un iBeacon ?

Vorrei che si trasmettesse su dispositivi iOS che supportano iBeacons. Se ciò è possibile, quali sono i requisiti hardware del computer (ad es. Bluetooth 4.0 è sufficiente?) E come lo farei?

Aggiornamento : sto principalmente cercando un modo per farlo senza alcun hardware aggiuntivo (poiché il mio MacBook ha già il Bluetooth integrato).


Vedere stackoverflow.com/a/19741615/35690 per una domanda simile.
Senso

Risposte:


6

Se sei un programmatore, ho pubblicato le istruzioni su come utilizzare un MacBook con Mavericks come iBeacon. Puoi trovare le istruzioni sul mio blog all'indirizzo http://www.blendedcocoa.com/blog/2013/11/02/mavericks-as-an-ibeacon/

Se / Quando avrò la possibilità, potrei creare un'app che puoi utilizzare per pubblicizzare un iBeacon.

Questa è la risposta che ho dato a una domanda simile su Stack Overflow


Mavericks non ha il supporto iBeacon in Core Location che è stato aggiunto a iOS 7. Tuttavia, Mavericks ora ha la capacità di agire come un dispositivo periferico BLE. Dato che un iBeacon è sostanzialmente una periferica, dovrebbe essere (ed effettivamente è) possibile usare Mavericks come iBeacon.

Per creare un iBeacon su iOS, devi prima creare un CLBeaconRegionoggetto e quindi utilizzare il peripheralDataWithMeasuredPower:metodo per ottenere un NSDictionarycontenente i dati pubblicitari necessari per la trasmissione. Se ne prendi il contenuto NSDictionaryda un dispositivo iOS e lo usi su Mavericks, otterrai un iBeacon.

Ho creato una classe per semplificare e consentire di generare il dizionario dei dati pubblicitari direttamente su Mavericks. Il codice sorgente è disponibile su https://github.com/mttrb/BeaconOSX

La BLCBeaconAdvertisementDataclasse prendere i proximityUUID, major, minore valori di potenza tarati e crea un NSDictionary che può essere passato al startAdvertising:metodo CBPeripheralManagersu Mavericks.

La BLCBeaconAdvertisementDatalezione è abbastanza semplice. Il lavoro principale viene eseguito con il seguente metodo:

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

Ho un post sul blog più dettagliato a riguardo su http://www.blendedcocoa.com/blog/2013/11/02/mavericks-as-an-ibeacon/


4

1) Dovresti ottenere un chipset trasmettitore / ricevitore Bluetooth 4.0 BLE (Bluetooth Low Energy) da collegare / installare sul tuo MacBook.

Ciò consentirebbe di trasmettere il segnale beacon.

2) È necessario creare o acquistare software in grado di utilizzare il chipset in modo appropriato.

Ciò consentirebbe di riconoscere la presenza di dispositivi abilitati al beacon nelle vicinanze, come i nuovi iPhone, e di interagire con essi in modo appropriato.

Ecco un sito che spiega di più su iBeacons e BLE con alcuni buoni video di esempio (in realtà collegati a 'iBeacon' nella domanda originale):

Spiegazione degli iBeacons di Apple - Che cos'è e perché si muove - Pocket-lint

Ecco un link a un'azienda che vende trasmettitori / ricevitori BLE per uso commerciale (menzionato nell'articolo sopra). Questo sito offre anche una panoramica sul funzionamento della tecnologia:

Estimote Beacons - contesto reale per le tue app

Questo sito fornisce dettagli su BLE:

Bassa energia | Sito Web con tecnologia Bluetooth

Quindi direi, indossa il tuo cappello tecnico e inizia a cercare chipset e soluzioni software!

Divertiti!

Modificare:

Un altro nome per BLE è Bluetooth Smart. Cerca hardware e / o software Bluetooth Smart (solo BLE) o Bluetooth Smart Ready (Bluetooth e BLE legacy). Alcuni elenchi si trovano sul sito Web della tecnologia Bluetooth (come sopra) e una ricerca su Google fa apparire alcune app che sono già state create.

Un'altra ricerca fa apparire un documento per gli sviluppatori Apple:

Linee guida di progettazione Bluetooth di Apple (dal loro centro per sviluppatori)

e uno strumento di sviluppo rapido per gli sviluppatori Apple (da bluetooth.org):

Sviluppatori Apple | Portale di sviluppo Bluetooth


Spiacente, avrei dovuto chiarire, sto cercando una soluzione che non richiede hardware esterno. Dato che alcuni MacBook hanno già il Bluetooth 4.0 integrato, speravo che ci fosse una soluzione che potesse utilizzarlo invece di dover aggiungere altro hardware.
Sensazionale

I requisiti sono gli stessi, quindi il tuo MacBook è Bluetooth Smart Ready. Ora, è necessario trovare (o scrivere il proprio) software per sfruttare la tecnologia.
leanne,

Ho aggiunto alcuni link e ulteriori informazioni nella mia risposta per aiutare con ulteriori ricerche.
leanne,

2

Ho usato un piccolo strumento chiamato MactsAsBeacon. Tutto quello che devi fare è scaricare il file .app e aprirlo. Ti consente quindi di impostare i valori UUID, Major, Minor e Power.

https://github.com/timd/MactsAsBeacon


Bella scoperta! È perfetto per il problema.
Ian C.

0

Crea una VM che funzionerà come un iBeacon.

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

:)


Hai pubblicato questo come una risposta, che è solo per le cose che rispondono direttamente alla domanda posta.
Daniel

Questa risposta è pertinente alla domanda, sebbene ritenga che richieda hardware esterno che l'OP non desidera. L'uso della macchina virtuale nell'articolo ti darà un iBeacon funzionante su un MacBook.
mttrb
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.