Transforme Raspberry Pi 3 em farol de URL Eddystone



O mini PC Raspberry Pi 3 foi lançado recentemente e, em pouco tempo após o surgimento do sistema no mercado, eles começaram a criar projetos interessantes em sua base. Um deles, muito específico, é a transformação de “framboesas” em um farol de URL Eddystone.

Eddystone é o próprio formato de farol aberto do Google (especificação aqui ) e esta tecnologia é compatível com o sistema operacional Android e iOS. Para que isso funcione, você precisa manter o Bluetooth LE constantemente ligado no seu smartphone - talvez essa seja a única condição. Tudo o que é necessário para transformar o RPI 3 em um farol de URL Eddystone é o próprio mini-PC, uma fonte de alimentação para ele e um cartão SD. O resto está sob o corte.

Então, um pouco mais sobre Eddystone. Sua vantagem é a capacidade de enviar três pacotes em vez de um. Estes são UID, URL, telemetria.
  • Eddystone-UID. Este é o mesmo identificador - um análogo do iBeacon (UUID, maior, menor). Consiste em 2 partes: ID do espaço para nome (10 bytes), ID da instância (6 bytes).
  • Eddystone-URL. Agora, os beacons convertem URLs de até 18 bytes. Os encurtadores de URL nos ajudarão a resolver o problema de URLs longos. Por exemplo, um serviço do mesmo Google goo.gl. Nesse endereço, touchin.ru/portfolio/squawk, você pode obter uma versão curta do goo.gl/PidTf3. Esta é a principal inovação, vou explicar por que um pouco mais tarde.
  • Eddystone-TLM (Telemetria). Os seguintes dados do beacon estão disponíveis:

  • nível de carga
  • o número de pacotes enviados desde a conexão à fonte de energia
  • Sinalize o tempo de atividade desde o momento da conexão à fonte de energia
  • temperatura


O telefone que recebe esses pacotes pode avisar sobre o recebimento de informações de um determinado tipo ou executar alguma ação.

Configurando "framboesas"

1. Faça o download do Raspbian ;
2. Instale a imagem ;
3. Estamos à procura de "framboesas" IP. Isso pode ser feito usando o " Raspberry Pi Finder " ou o nmap.

$ sudo nmap -sP 192.168.2.0/24
ou
$ arp -a | grep “b8: 27”

4. Conecte-se ao Raspberry:

$ ssh pi @ <the_ip_of_your_pi>

5. Procuramos informações sobre o comando hciconfig

$ hciconfig -h

6. Ligue o dispositivo bluetooth

pi @ raspberrypi: ~ $ sudo hciconfig hci0

7. Defina o modo "anunciar e não conectável"

pi @ raspberrypi: ~ $ sudo hciconfig hci0 leadv 3

8. Digite os dados para o Beacon

pi @ raspberrypi: ~ $ sudo hcitool -i hci0 cmd 0x08 0x0008 17 02 01 06 03 03 aa 0f 16 aa fe 10 00 02 77 65 62 67 61 7a 65 72 08 00 00 00 00 00 00 00 00 00

Nós transmitimos:

OpçãoDescrição do produto
0x08#OGF = Campo do grupo de operações = Grupo de comandos do Bluetooth = 0x08
0x0008#OCF = Campo de comando da operação = HCI_LE_Set_Advertising_Data = 0x0008
17Comprimento O hexadecimal 17 converte em 23 decimal, que é o número de bytes que se segue
02Comprimento
01Sinaliza o valor do tipo de dados
06Sinaliza dados
03Comprimento
03Lista completa do valor do tipo de dados UUIDs de Serviço de 16 bits
aaUUID de Eddystone de 16 bits
feUUID de Eddystone de 16 bits
0fComprimento O hexadecimal 0f converte em 15 decimal, que é o número de bytes que se segue
16Valor do tipo de dados de dados de serviço
aaUUID de Eddystone de 16 bits
feUUID de Eddystone de 16 bits
10Tipo de quadro = URL
00Potência TX (deve ser calibrada)
02Esquema de URL (http: // = 0x02)
77'w' em hexadecimal
65'e' em hexadecimal
62'b' em hexadecimal
67'g' em hexadecimal
61'a' em hexadecimal
7a'z' em hexadecimal
65'e' em hexadecimal
72'r' em hexadecimal
08.org (.org = 0x08)
00
00
00
00
00
00
00
00


O exemplo acima permite enviar o endereço de blog do autor da ideia por Eddystone e "raspberry". Se você precisar enviar seu URL, altere -o aqui .

Para detectar o farol do Raspberry Pi com o iPhone, use o seguinte tutorial em vídeo:



O Android deve fazer tudo automaticamente, desde que você tenha permissões para Android 4.3.2 ou superior, Bluetooth, geologia e localização do Chrome. Você também pode usar um aplicativo Web para que tudo funcione imediatamente e sem problemas.

A página do autor do projeto .

Source: https://habr.com/ru/post/pt392379/


All Articles