- O que é BLE e Bluetooth Beacon?
- Como a Tecnologia BLE funciona e é usada com Beacons?
- O que é Eddystone Beacon?
- Requisitos
- Configurar Raspberry Pi para Eddystone Beacon
- Otimize a potência do sinal de transmissão através da calibração da potência Tx
- Aplicações do Eddystone Bluetooth Beacon
Bluetooth é uma das tecnologias revolucionárias para transferir dados sem fio, controlar outros dispositivos, construir sistemas de automação residencial, etc. Mas você já se perguntou que o Bluetooth também pode ser usado para transmitir qualquer informação para dispositivos próximos para exibir informações importantes, s, fácil checkout etc. Existe um protocolo desenvolvido pelo Google para realizar a tarefa que pode ser facilmente implantado no Raspberry Pi para torná-lo transmissor de Bluetooth Beacon.
Neste tutorial vamos conhecer o BLE (Bluetooth Low Energy) e o beacon Bluetooth e instalar o Eddystone Bluetooth Beacon no Raspberry Pi para transmitir uma URL. É muito fácil converter Raspberry Pi em um Beacon Bluetooth, pois tem Bluetooth embutido.
O que é BLE e Bluetooth Beacon?
O Bluetooth Low Energy, como o nome indica, consome menos energia do que o Bluetooth clássico. Isso é feito enviando dados quando necessário com atualizações periódicas predefinidas. Mas, ao contrário do Bluetooth clássico, não é usado para transferir arquivos ou músicas. Um dispositivo BLE funciona com Bluetooth V4.0 e pode operar com baixo consumo de energia como servidor ou cliente, o que torna o BLE uma escolha ideal para beacons, relógios inteligentes, pulseiras de fitness, etc. O Bluetooth clássico, por outro lado, é simplesmente o velho e simples. Protocolo Bluetooth que usamos para transferir arquivos e outros dados. Quase todos os dispositivos BLE têm a funcionalidade Bluetooth Clássica associada a ele. Anteriormente, explicamos o BLE em detalhes com o ESP32.
Beacons Bluetooth:
Beacons são os dispositivos de hardware que transmitem algumas mensagens para dispositivos eletrônicos próximos e se comportam como um Broadcaster. Essa tecnologia permite que os dispositivos portáteis executem algumas ações quando estão próximos ao dispositivo de farol. Agora, os beacons podem ser implementados usando BLE e Bluetooth clássico. Como a maioria dos smartphones e outros dispositivos eletrônicos são compatíveis com BLE e podem ser usados como receptor de Beacon, a implementação de um farol BLE é mais eficiente do que o farol Bluetooth clássico para reduzir o consumo de energia.
Em média, um farol Bluetooth de baixa energia pode transmitir sinais BLE a 80 metros.
Como a Tecnologia BLE funciona e é usada com Beacons?
BLE é uma tecnologia de baixo consumo de energia projetada para comunicação de curto alcance e é preferida onde a vida da bateria é um fator mais importante do que a alta taxa de dados. A transferência de dados nesta comunicação é unilateral. O beacon BLE transmite pequenos pacotes de dados em intervalos regulares de tempo. Esses pacotes de dados são recebidos e decodificados pelo aplicativo de scanner de beacon instalado em smartphones. Esses dados recebidos acionam ações como promover um produto ou enviar uma mensagem.
No beacon Bluetooth, um número de ID é transmitido 10 vezes a cada segundo por meio dos canais BLE. Em seguida, esse número de ID é recebido pelo dispositivo habilitado para Bluetooth e reconhecido pelo aplicativo de scanner de beacon, ele o vincula a uma ação, como baixar um aplicativo ou conteúdo armazenado na nuvem, e exibe no smartphone.
O que é Eddystone Beacon?
Eddystone é um protocolo desenvolvido pela Google que permite a transmissão de mensagens unilaterais para dispositivos BLE. O quadro Eddystone-URL forma a espinha dorsal da Web física, o que ajuda na descoberta de conteúdo da Web nos arredores. O Beacon pode transmitir quatro tipos de dados usando o protocolo Eddystone. Eles são os seguintes:
- Eddystone-URL para endereços de URL de transmissão
- Eddystone-UID para transmissão de IDs de beacons
- Eddystone-TLM para transmissão de telemetria de farol, como temperatura do dispositivo, potência da bateria, etc.
- Eddystone-EID para segurança.
Existem também outros tipos de beacons como iBeacon que é para dispositivos com suporte iOS, mas Eddystone é apenas para dispositivos Android. Observe também que o Google descontinuou as Notificações de proximidade, agora o usuário terá que instalar um aplicativo de scanner de farol especializado que mostrará o conteúdo transmitido.
Neste tutorial, usaremos Raspberry Pi como Eddystone Beacon e nos concentraremos na transmissão de endereço URL usando Eddystone URL para que qualquer pessoa possa acessar facilmente as informações transmitidas com a ajuda de seus dispositivos Android.
Requisitos
Aqui, apenas Raspberry Pi é necessário para construir este Beacon Bluetooth. Deve ser Raspberry Pi 2 ou mais recente com Raspbian Jessie ou um OD mais recente instalado nele.
Aqui, usaremos SSH para acessar Raspberry Pi no laptop. Você pode usar a conexão VNC ou Remote Desktop no laptop ou pode conectar o Raspberry pi a um monitor. Saiba mais sobre como configurar o Raspberry Pi sem cabeça aqui, sem monitor.
Configurar Raspberry Pi para Eddystone Beacon
É muito fácil configurar a emissora Eddystone no Raspberry Pi. Envolve apenas 3 comandos.
Isso pode ser feito configurando o HCI (Host controller Interface), que pode ser acessado usando o commad hciconfig. Para verificar o que pode ser feito usando este comando, digite o comando abaixo no terminal.
hciconfig -h
1. Primeiro, temos que habilitar o dispositivo Bluetooth em nosso Raspberry Pi usando o comando abaixo.
sudo hciconfig hci0 up
2. Agora, temos que definir o Bluetooth para dispositivo “anunciado e não conectável” usando o comando abaixo.
sudo hciconfig hci0 leadv 3
3. Os comandos acima fazem o dispositivo executar o serviço de transmissão, agora basta inserir os dados do beacon no próximo comando que contém informações de quadros diferentes e URL em formato hexadecimal. Execute o comando abaixo para iniciar a transmissão do farol.
sudo hcitool -i hci0 cmd 0x08 0x0008 1c 02 01 06 03 03 aa fe 14 16 aa fe 10 00 02 63 69 72 63 75 69 74 64 69 67 65 73 74 07 00 00 00
Este comando transmitirá o URL
Para verificar a mensagem transmitida em seu smartphone, baixe o Physical Web App ou scanner Beacon em seu smartphone Android e inicie a digitalização. Você verá o link transmitido no aplicativo, conforme mostrado abaixo. Clique no link para visitar e abrir o site no navegador.
Agora vamos entender a codificação hexadecimal da mensagem. Na tabela abaixo, fornecemos uma explicação de cada um dos valores presentes no código:
Valor |
Descrição |
---|---|
0x08 |
#OGF = Campo do grupo de operação = Grupo de comando Bluetooth = 0x08 |
0x0008 |
#OCF = Campo de comando de operação = HCI_LE_Set_Advertising_Data = 0x0008 |
1c |
Comprimento. O hexadecimal 1c é convertido em 23 decimal, que é o número de bytes seguintes. |
02 |
comprimento |
01 |
Sinaliza o valor do tipo de dados |
06 |
Dados de sinalizadores |
03 |
comprimento |
03 |
Lista completa de valores de tipo de dados de UUIDs de serviço de 16 bits |
aa |
UUID Eddystone de 16 bits |
fe |
UUID Eddystone de 16 bits |
14 |
Comprimento. O hexadecimal 14 é convertido em 15 decimal, que é o número de bytes que se seguem |
16 |
Valor de tipo de dados de serviço |
aa |
UUID Eddystone de 16 bits |
fe |
UUID Eddystone de 16 bits |
10 |
Tipo de quadro = URL |
00 |
Potência TX (deve ser calibrado) |
02 |
Esquema de URL (http: // = 0x02) |
63 |
'c' em hexadecimal |
69 |
'i' em hexadecimal |
72 |
'r' em hexadecimal |
63 |
'c' em hexadecimal |
75 |
'u' em hexadecimal |
69 |
'i' em hexadecimal |
74 |
't' em hexadecimal |
64 |
'd' em hexadecimal |
69 |
'i' em hexadecimal |
67 |
'g' em hexadecimal |
65 |
'e' em hexadecimal |
73 |
's' em hexadecimal |
74 |
't' em hexadecimal |
07 |
.com (.com = 0x07) |
00 |
|
00 |
|
00 |
Para transmitir qualquer URL personalizado usando o Raspberry Pi Bluetooth Beacon, basta converter os caracteres do URL em hexadecimal usando qualquer ferramenta online e colocá-lo no comando acima. O máximo de caracteres que podem ser transmitidos é 16, se a URL for muito longa, reduza-a usando quaisquer serviços de abreviações de URL, como bitly.com, e ajuste os dados na tabela acima.
É muito complicado e demorado converter cada caractere em um equivalente hexadecimal. Portanto, para fazer seu trabalho com facilidade, há uma calculadora de comandos de URL Eddystone onde você só precisa inserir a URL que deseja transmitir e terá seu comando pronto assim.
O beacon Bluetooth agora está transmitindo a URL e funcionando bem, mas há mais uma coisa a ser calibrada que é a potência Tx, que é um dos valores do comando acima para obter a distância precisa do beacon Bluetooth.
Otimize a potência do sinal de transmissão através da calibração da potência Tx
No quadro de Eddystone existem poucos componentes que são transmitidos e a potência Tx é um deles que informa a força do sinal. Ao decodificar a força do sinal, o receptor encontra a distância da emissora Beacon. O valor da potência Tx pode variar de -12 a 10. Temos que encontrar o valor pelo método de acerto e tentativa para obter a distância precisa. Para isso, ajuste o valor da potência Tx no comando de mensagem Eddystone e coloque seu smartphone a uma distância de 1 m com o aplicativo do scanner Beacon aberto. Agora comece a colocar os valores da potência Tx no comando de 0 a valores negativos. Lembre-se de converter os valores decimais no formato hexa decimal, para isso use as ferramentas de conversão de valor online para fácil decodificação e pegue os dois últimos dígitos do valor convertido. No meu caso, o valor hexa é f4. Verifique a distância no aplicativo do scanner, ajuste os valores até mostrar aproximadamente 1m e depois disso você deve usar o transmissor de URL Eddystone com distância precisa.
Aplicações do Eddystone Bluetooth Beacon
Aqui estão alguns dos casos de uso para o beacon BLE:
- Varejo habilitado para BLE: essa tecnologia pode ser usada para atrair clientes nas proximidades das lojas, anunciando as ofertas e vendas emocionantes.
- Eventos habilitados com beacon BLE: Pode ser utilizado para facilitar as inscrições em eventos e estádios com fácil check-outs de pagamento.
- Beacons BLE no Imobiliário: Você pode obter todos os detalhes dos imóveis disponíveis perto de você e reservar com um toque.
Existem muitos outros aplicativos que você pode pensar e implementar de acordo com os requisitos.
Então é assim que o Raspberry Pi pode ser usado para transmitir qualquer mensagem ou URL, convertendo-o em um Beacon Bluetooth usando Eddystone. Confira o vídeo de demonstração abaixo.
/>