É possível que meu MacBook se torne um iBeacon?


14

É possível que meu MacBook se torne um iBeacon ?

Gostaria que ele se transmitisse para dispositivos iOS compatíveis com iBeacons. Se isso for possível, quais são os requisitos de hardware do computador (por exemplo, o Bluetooth 4.0 é suficiente?) E como eu faria isso?

Atualização : Estou procurando principalmente uma maneira de fazer isso sem nenhum hardware adicional (já que o meu MacBook já possui o Bluetooth embutido).


Consulte stackoverflow.com/a/19741615/35690 para obter uma pergunta semelhante.
Sensável

Respostas:


6

Se você é um programador, publiquei instruções sobre como usar um MacBook com o Mavericks como um iBeacon. Você pode encontrar as instruções no meu blog em http://www.blendedcocoa.com/blog/2013/11/02/mavericks-as-an-ibeacon/

Se / quando eu tiver uma chance, posso criar um aplicativo que você possa usar para anunciar um iBeacon.

Esta é a resposta que eu dei a uma pergunta semelhante no Stack Overflow


O Mavericks não tem o suporte do iBeacon no Core Location que foi adicionado ao iOS 7. No entanto, o Mavericks agora tem a capacidade de atuar como um dispositivo periférico BLE. Dado que um iBeacon é basicamente um periférico, deve ser (e de fato é) possível usar o Mavericks como um iBeacon.

Para criar um iBeacon no iOS, você primeiro cria um CLBeaconRegionobjeto e, em seguida, usa o peripheralDataWithMeasuredPower:método para obter um NSDictionarycontendo os dados de anúncio necessários para transmitir. Se você pegar o conteúdo disso NSDictionaryem um dispositivo iOS e usá-lo no Mavericks, recebe um iBeacon.

Eu criei uma classe para facilitar isso e permitir que você gere o dicionário de dados do anúncio diretamente no Mavericks. O código fonte está disponível em https://github.com/mttrb/BeaconOSX

A BLCBeaconAdvertisementDataclasse tomar as proximityUUID, major, minore os valores de potência calibrado e cria um NSDictionary que pode ser passado para o startAdvertising:método de CBPeripheralManagerno independentes.

A BLCBeaconAdvertisementDataaula é bem simples. O trabalho principal é realizado pelo seguinte 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];
}

Eu tenho um post mais detalhado sobre isso em http://www.blendedcocoa.com/blog/2013/11/02/mavericks-as-an-ibeacon/


4

1) Você precisaria obter um chipset do transmissor / receptor Bluetooth 4.0 BLE (Bluetooth Low Energy) para conectar / instalar no seu MacBook.

Isso permitiria transmitir o sinal de farol.

2) Você precisaria criar ou adquirir um software que pudesse usar o chipset adequadamente.

Isso permitiria que você reconhecesse a presença de dispositivos habilitados para beacon próximos, como os novos iPhones, e interagisse com eles adequadamente.

Aqui está um site que explica mais sobre o iBeacons e o BLE com alguns bons exemplos de vídeos (na verdade, vinculados ao 'iBeacon' na pergunta original):

Os iBeacons da Apple explicados - O que é e por que é adaptado - Pocket-lint

Aqui está um link para uma empresa que vende transmissores / receptores BLE para uso comercial (mencionado no artigo acima). Este site também fornece uma visão geral de como a tecnologia funciona:

Estimote Beacons - contexto do mundo real para seus aplicativos

Este site fornece detalhes sobre o BLE:

Baixa energia | Site da tecnologia Bluetooth

Então eu diria, coloque seu chapéu de engenharia e comece a procurar por chipsets e soluções de software!

Diverta-se!

Editar:

Outro nome para BLE é Bluetooth Smart. Procure por hardware e / ou software Bluetooth Smart (somente BLE) ou Bluetooth Smart Ready (bluetooth herdado e BLE). Algumas listas estão no site da tecnologia Bluetooth (o mesmo que acima) e uma pesquisa no Google traz alguns aplicativos que já foram criados.

Outra pesquisa traz um documento para desenvolvedores da Apple:

Diretrizes de design Bluetooth da Apple (do centro de desenvolvedores)

e uma ferramenta de desenvolvimento rápido para desenvolvedores da Apple (em bluetooth.org):

Desenvolvedores da Apple | Portal de Desenvolvimento Bluetooth


Desculpe, eu deveria ter esclarecido, estou procurando uma solução que não exija hardware externo. Como alguns MacBooks já têm o Bluetooth 4.0 embutido, eu esperava que houvesse uma solução que pudesse utilizá-la em vez de precisar adicionar mais hardware.
Senseful

Os requisitos são os mesmos - portanto, o seu MacBook é compatível com Bluetooth Smart. Agora, você precisa encontrar (ou escrever seu próprio) software para tirar proveito da tecnologia.
quer

Adicionei alguns links e mais informações na minha resposta para ajudar em pesquisas adicionais.
quer

2

Eu tenho usado uma pequena ferramenta chamada MactsAsBeacon. Tudo o que você precisa fazer é baixar o arquivo .app e abri-lo. Em seguida, permite definir os valores de UUID, Maior, Menor e Potência.

https://github.com/timd/MactsAsBeacon


Bom achado! Esse é um ajuste perfeito para o problema.
Ian C.

0

Crie uma VM que funcione como um iBeacon.

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

:)


Você postou isso como uma resposta, que é apenas para itens que respondem diretamente à pergunta.
Daniel

Essa resposta é relevante para a pergunta, embora eu acredite que exija hardware externo que o OP não deseja. O uso da máquina virtual no artigo fornece um iBeacon em funcionamento em um MacBook.
mttrb
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.