¿Es posible que mi MacBook se convierta en un iBeacon?


14

¿Es posible que mi MacBook se convierta en un iBeacon ?

Me gustaría que se transmita a dispositivos iOS que admitan iBeacons. Si esto es posible, ¿cuáles son los requisitos de hardware de la computadora (por ejemplo, ¿es suficiente Bluetooth 4.0?) Y cómo lo haría?

Actualización : principalmente estoy buscando una manera de hacer esto sin ningún hardware adicional (ya que mi MacBook ya tiene Bluetooth incorporado).


Consulte stackoverflow.com/a/19741615/35690 para una pregunta similar.
Senseful

Respuestas:


6

Si es programador, he publicado instrucciones sobre cómo usar un MacBook con Mavericks como iBeacon. Puede encontrar las instrucciones en mi blog en http://www.blendedcocoa.com/blog/2013/11/02/mavericks-as-an-ibeacon/

Si tengo la oportunidad, puedo crear una aplicación que pueda usar para anunciar un iBeacon.

Esta es la respuesta que le di a una pregunta similar sobre Stack Overflow


Mavericks no tiene el soporte de iBeacon en Core Location que se agregó a iOS 7. Sin embargo, Mavericks ahora tiene la capacidad de actuar como un dispositivo periférico BLE. Dado que un iBeacon es básicamente un periférico, debería ser (y de hecho es posible) usar Mavericks como un iBeacon.

Para crear un iBeacon en iOS, primero debe crear un CLBeaconRegionobjeto y luego usar el peripheralDataWithMeasuredPower:método para obtener un que NSDictionarycontenga los datos publicitarios necesarios para transmitir. Si toma el contenido de esto NSDictionarydesde un dispositivo iOS y lo usa en Mavericks, obtendrá un iBeacon.

He creado una clase para facilitar esto y permitirle generar el diccionario de datos publicitarios directamente en Mavericks. El código fuente está disponible en https://github.com/mttrb/BeaconOSX

La BLCBeaconAdvertisementDataclase tome las proximityUUID, major, minory los valores de potencia calibrado y crea una NSDictionary que se puede pasar al startAdvertising:método para CBPeripheralManagerel Mavericks.

La BLCBeaconAdvertisementDataclase es bastante simple. El trabajo principal se realiza mediante el siguiente método:

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

Tengo una publicación de blog más detallada sobre esto en http://www.blendedcocoa.com/blog/2013/11/02/mavericks-as-an-ibeacon/


4

1) Debería obtener un chipset transmisor / receptor bluetooth 4.0 BLE (Bluetooth de baja energía) para conectarlo / instalarlo en su MacBook.

Esto le permitiría transmitir la señal de baliza.

2) Debería crear o comprar software que pueda utilizar el conjunto de chips de manera adecuada.

Esto le permitiría reconocer la presencia de dispositivos habilitados para balizas cercanas, como los nuevos iPhones, e interactuar con ellos de manera adecuada.

Aquí hay un sitio que explica más sobre iBeacons y BLE con algunos buenos videos de ejemplo (en realidad enlazados desde 'iBeacon' en la pregunta original):

Los iBeacons de Apple explicaron: qué es y por qué se molesta - Pocket-lint

Aquí hay un enlace a una empresa que vende transmisores / receptores BLE para su uso comercial (mencionado en el artículo anterior). Este sitio también proporciona una descripción general de cómo funciona la tecnología:

Estimote Beacons: contexto del mundo real para sus aplicaciones

Este sitio proporciona detalles sobre BLE:

Baja energía | Sitio web de tecnología Bluetooth

¡Entonces diría, póngase su sombrero de ingeniería y comience a buscar conjuntos de chips y soluciones de software!

¡Que te diviertas!

Editar:

Otro nombre para BLE es Bluetooth Smart. Busque hardware y / o software que sea Bluetooth Smart (solo BLE) o Bluetooth Smart Ready (tanto Bluetooth heredado como BLE). Algunas listas están en el sitio web de tecnología Bluetooth (igual que el anterior), y una búsqueda en Google muestra algunas aplicaciones que ya se han creado.

Otra búsqueda muestra un documento para desarrolladores de Apple:

Pautas de diseño de Bluetooth de Apple (de su centro de desarrolladores)

y una herramienta de desarrollo rápido para desarrolladores de Apple (de bluetooth.org):

Desarrolladores de Apple | Portal de desarrollo de Bluetooth


Lo siento, debería haberlo aclarado, estoy buscando una solución que no requiera hardware externo. Dado que algunas MacBooks ya tienen Bluetooth 4.0 incorporado, esperaba que hubiera una solución que pudiera utilizarla en lugar de tener que agregar más hardware.
Sentido

Los requisitos son los mismos, por lo que su MacBook es Bluetooth Smart Ready. Ahora, necesita encontrar (o escribir su propio) software para aprovechar la tecnología.
Leanne

He agregado algunos enlaces e información adicional en mi respuesta para ayudar con la investigación adicional.
Leanne

2

He estado usando una pequeña herramienta llamada MactsAsBeacon. Todo lo que necesita hacer es descargar el archivo .app y abrirlo. Luego le permite establecer los valores de UUID, Mayor, Menor y Potencia.

https://github.com/timd/MactsAsBeacon


Buen hallazgo! Eso encaja perfectamente con el problema.
Ian C.

0

Cree una máquina virtual que funcione como un iBeacon.

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

:)


Has publicado esto como una respuesta, que es solo para cosas que responden directamente a la pregunta formulada.
Daniel

Esta respuesta es relevante para la pregunta, aunque creo que requiere un hardware externo que el OP no quiere. El uso de la máquina virtual en el artículo le dará un iBeacon en funcionamiento en una MacBook.
mttrb
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.