Construa um iBeacon DIY com um Raspberry Pi

Os anúncios direcionados a um usuário específico que percorre um centro metropolitano são o material dos futuros distópicos. Mas isso não é um futuro distópico: a tecnologia já está aqui.

Os anúncios direcionados a um usuário específico que percorre um centro metropolitano são o material dos futuros distópicos.  Mas isso não é um futuro distópico: a tecnologia já está aqui.
Propaganda

Os anúncios direcionados a um usuário em particular que percorre um centro metropolitano são o material dos futuros distópicos, demonstrado principalmente pelo filme Minority Report, de Tom Cruise. Mas isso não é um futuro distópico: a tecnologia já está aqui. Embora não dependa de identificação rápida usando sua retina, ele usa o Bluetooth. Desenvolvido pela Apple, o iBeacon foi desenvolvido para fornecer informações baseadas em localização para usuários do iOS Como o Bluetooth 4.0 está moldando o futuro da conectividade móvel Como o Bluetooth 4.0 está moldando o futuro da conectividade móvel O Bluetooth é a estrela esquecida na ficha de especificações do dispositivo. Leia mais, usando a proximidade de um dispositivo para acionar um anúncio personalizado ou rastrear os movimentos de um usuário. O Google também criou sua própria especificação de Beacons versátil, embora o suporte para isso seja limitado no momento, já que os desenvolvedores se familiarizam com isso.

muo-rpi-mediaready

Não é novidade que você pode usar um Raspberry Pi como um iBeacon, adicionando um módulo USB Bluetooth de baixa energia (BLE). Mais interessante, podemos cooptar essa tecnologia e abandonar os métodos publicitários futuristas em favor de usos em casa.

Como funciona o iBeacon

Construir um transmissor Bluetooth de baixa energia que os dispositivos inteligentes possam detectar é simples, mas como funciona um iBeacon?

muo-diy-pibeacon-ble2

O BLE é projetado especificamente para transmissão em distâncias curtas, mas com requisitos de energia mais baixos (uma bateria de célula única deve durar três anos). Pequenos pacotes de dados, conhecidos como "propagandas" (não no sentido de marketing), são transmitidos pelo beacon e usados ​​para acionar ações em aplicativos de smartphone, talvez exibir uma mensagem comercial ou solicitar ao leitor que execute uma ação.

Além do marketing, os iBeacons são normalmente usados ​​para enviar estados de localização para um aplicativo, como exibir informações sobre uma exposição enquanto você está andando em um museu.

Construa seu próprio iBeacon com um Raspberry Pi e um Dongle Bluetooth

Para usar seu Raspberry Pi como um iBeacon, você precisará de um adaptador USB Bluetooth. No entanto, você não pode simplesmente conectar qualquer dispositivo USB Bluetooth antigo. Em vez disso, você precisará usar um dispositivo BLE (Bluetooth de baixa energia), que pode ser comprado de forma relativamente barata na Amazon ou na Adafruit. Você pode executar este projeto em uma instalação padrão Raspbian Otimizar o poder do seu Raspberry Pi com Raspbian Otimizar o poder do seu Raspberry Pi com Raspbian Como convém a um homem com muita tecnologia em suas mãos, eu tenho jogado com o Raspberry Pi recentemente, configurando o dispositivo para que ele funcione em todo o seu potencial. Ele continua a ser executado como ... Leia mais, ou instalado da maneira usual Como instalar um sistema operacional para o seu Raspberry Pi Como instalar um sistema operacional para o seu Raspberry Pi Veja como obter um novo sistema operacional instalado e funcionando em seu Pi - e como clonar sua configuração perfeita para recuperação rápida de desastres. Leia mais ou via NOOBS Como o NOOBS para o Raspberry Pi pode ajudar os usuários de primeira viagem Como o NOOBS para o Raspberry Pi pode ajudar os usuários do First Time Há algo sobre o Raspberry Pi que pode deixar as pessoas: até agora, configurá-lo não foi particularmente usuário amigáveis. NOOBS pretende mudar isso! Consulte Mais informação .

(Se você quer um atalho para tudo isso, a imagem do PiBeacon é a sua melhor aposta, da RadiusNetworks. Basta baixar, gravar no cartão SD e inicializar.)

Antes de anexar o BLE, no entanto, é hora de instalar algumas bibliotecas:

sudo apt-get install libusb-dev libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev 

Agora, isso é feito, você precisará instalar o Bluez, a pilha Bluetooth para Linux.

 sudo mkdir bluez cd bluez sudo wget www.kernel.org/pub/linux/bluetooth/bluez-5.11.tar.xz 

muo-diy-pibeacon-code1

Uma vez baixado, o Bluez deve ser construído.

 sudo unxz bluez-5.11.tar.xz sudo tar xvf bluez-5.11.tar cd bluez-5.11 sudo ./configure --disable-systemd sudo make 

(Este passo pode levar algum tempo. Vá e faça uma xícara de chá. Ou faça uma torta de framboesa.)

 sudo make install 

Você está quase pronto para ir. Emita um comando de desligamento e, quando o Pi for desligado, conecte o BLE.

 sudo shutdown -h now 

Transmita o PiBeacon

Para configurar o PiBeacon para transmissão, verifique primeiro se o módulo BLE foi detectado

 hciconfig 

Você notará que, se o módulo for detectado, seu status está atualmente DESATIVADO.

Para resolver isso, configure o dispositivo:

 sudo tools/hciconfig hci0 up sudo tools/hciconfig hci0 leadv 3 sudo tools/hciconfig hci0 noscanc 

(Observe que a linha final desativa a verificação Bluetooth, pois isso pode causar problemas.)

Repita o comando anterior para executar o hciconfig:

 hciconfig 

Você verá agora que o status do dispositivo é UP RUNNING.

Como você anuncia com o PiBeacon?

mui-diy-pibeacon-ipad

Então você tem um iBeacon funcional, alimentado por um Raspberry Pi. Mas como você o usa para se identificar em dispositivos Bluetooth próximos? Conforme explicado pela Adafruit, o beacon precisa de dados de publicidade para serem inseridos. Eles aconselham a seguinte string ser inserida com o comando hcitool:

 sudo hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 E2 0A 39 F4 73 F5 4B C4 A1 2F 17 D1 AD 07 A9 61 00 00 00 00 C8 00 

O que há no pacote de dados?

Sim, isso é uma longa seqüência de números e letras. Está escrito em hexadecimal e, embora não possamos vê-lo, a string é dividida em seções. Por exemplo, a marca FF indica que os dados específicos do fabricante seguirão, neste caso, o 4C 00, que é o ID da Apple. Esta cadeia pode ser alterada conforme apropriado.

Vamos acabar com isso:

mui-diy-pibeacon-data

Como você pode ver, a string significa pouco até que você possa ver para que serve cada segmento de dados. Note que o ID será sempre o mesmo, para identificar o tipo de pacote, e que o Comprimento de Dados precisa ser convertido em decimal para poder apreciar o tamanho real do pacote.

Com a marca FF, vemos o ID de 128 bits, conforme explicado acima, seguido pelos dados Principais e os Dados secundários. Eles identificam locais ou anotações de maneira hierárquica (primeiro maior, segundo menor). Finalmente, o TX Power ajuda a estimar a distância.

O PiBeacon, como um iBeacon, tem três faixas: imediata (localizada a alguns centímetros), próxima (alguns metros) e longe (cerca de 10 metros). Qualquer distância medida é apenas aproximada, pois o sinal BLE é enfraquecido por móveis, portas e paredes.

Se você planeja usar a tecnologia iBeacon, é importante ter uma ID exclusiva para seu aplicativo. Você pode usar algo como www.uuidgenerator.net ou, se usar um Mac, o utilitário uuidgen da linha de comando gerará um ID exclusivo.

PiBeacon está vivo!

Com isso inserido, o PiBeacon agora está anunciando. Tudo o que você precisa fazer agora é encontrar um aplicativo iBeacon adequado na loja do iOS, como o Beacon Toolkit (US $ 0, 99), para detectá-lo, selecionando Ouvir . A string acima é fornecida como um UUID no aplicativo Beacon Toolkit. Outros UUIDs podem ser usados, mas eles não funcionarão com esse aplicativo: use o Beacon Toolbox um pouco mais caro (US $ 4.99), que deve ser capaz de identificar a maioria dos iBeacons dentro do alcance.

Infeliz em dedicar um Raspberry Pi a esta única tarefa? Não se preocupe - você pode construir um iBeacon do Arduino em seu lugar, contanto que você tenha um escudo BLE (que pode estar disponível no seu kit inicial do Arduino. O que há no seu Arduino Starter Kit? [Iniciantes no Arduino] Iniciantes em Arduino] Diante de uma caixa cheia de componentes eletrônicos, é fácil ficar sobrecarregado. Aqui está um guia para exatamente o que você encontrará em seu kit. Aqui está uma demonstração:

Sentindo-se ainda mais aventureiro? US $ 10 em eletrônicos e algumas habilidades de solda Aprenda a soldar, com essas dicas e projetos simples Aprenda a soldar, com essas dicas e projetos simples Você se sente um pouco intimidado pelo pensamento de ferro quente e metal derretido? Se você quiser começar a trabalhar com eletrônicos, precisará aprender a soldar. Deixe-nos ajudar. Leia mais também lhe renderá um iBeacon DIY.

Questões ou Comentários? Deixe-os abaixo.

In this article