Transformez Raspberry Pi 3 en balise URL Eddystone



Le mini PC Raspberry Pi 3 est sorti récemment, et en très peu de temps après l'apparition du système sur le marché, ils ont commencé à créer des projets intéressants sur sa base. L'un d'eux, très spécifique, est la transformation de «framboises» en balise URL Eddystone.

Eddystone est le propre format de balise ouverte de Google (spécification ici ), et cette technologie est compatible avec Android OS et iOS. Pour que cela fonctionne, vous devez garder Bluetooth LE constamment allumé sur votre smartphone - c'est peut-être la seule condition. Tout ce qui est nécessaire pour transformer RPI 3 en une balise URL Eddystone est le mini-PC lui-même, une alimentation électrique et une carte SD. Le reste est sous la coupe.

Alors, un peu plus sur Eddystone. Son avantage est la possibilité d'envoyer trois paquets au lieu d'un. Ce sont UID, URL, télémétrie.
  • Eddystone-UID. Il s'agit du même identifiant - un analogue d'iBeacon (UUID, majeur, mineur). Se compose de 2 parties: ID d'espace de noms (10 octets), ID d'instance (6 octets).
  • Eddystone-URL: les balises traduisent désormais les URL jusqu'à 18 octets. Les raccourcisseurs d'URL nous aideront à résoudre le problème des URL longues. Par exemple, un service du même Google goo.gl. À partir de cette adresse touchin.ru/portfolio/squawk, vous pouvez obtenir une version courte de goo.gl/PidTf3. C'est la principale innovation, je vais vous expliquer pourquoi un peu plus tard.
  • Eddystone-TLM (télémétrie). Les données de balise suivantes sont disponibles:

  • niveau de charge
  • le nombre de paquets envoyés depuis la connexion à la source d'alimentation
  • Temps d'activité de la balise à partir du moment de la connexion à la source d'alimentation
  • température


Le téléphone qui reçoit ces paquets peut soit vous avertir de la réception d'informations d'un certain type, soit effectuer une action.

Configuration des "framboises"

1. Téléchargez Raspbian ;
2. Installez l'image ;
3. Nous recherchons des "framboises" IP. Cela peut être fait en utilisant le " Raspberry Pi Finder " ou nmap.

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

4. Connectez-vous à Raspberry:

$ ssh pi @ <the_ip_of_your_pi>

5. Nous recherchons des informations sur la commande hciconfig

$ hciconfig -h

6. Allumez le périphérique bluetooth

pi @ raspberrypi: ~ $ sudo hciconfig hci0 up

7. Définissez le mode "publicité et non connectable"

pi @ raspberrypi: ~ $ sudo hciconfig hci0 leadv 3

8. Saisissez les données pour Beacon

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

Nous diffusons:

OptionLa description
0x08#OGF = Champ du groupe d'opérations = Groupe de commandes Bluetooth = 0x08
0x0008#OCF = Champ de commande d'opération = HCI_LE_Set_Advertising_Data = 0x0008
17La longueur L'hexadécimal 17 est converti en 23 décimal, qui est le nombre d'octets qui suivent
02La longueur
01Indique la valeur du type de données
06Données de drapeaux
03La longueur
03Liste complète des valeurs de type de données UUID de service 16 bits
aaUUID Eddystone 16 bits
feUUID Eddystone 16 bits
0fLa longueur Le 0f hexadécimal se transforme en 15 décimales qui est le nombre d'octets qui suivent
16Valeur du type de données des données de service
aaUUID Eddystone 16 bits
feUUID Eddystone 16 bits
10Type de trame = URL
00Puissance TX (celle-ci doit être calibrée)
02Schéma d'URL (http: // = 0x02)
77«w» en hexadécimal
65«e» en hexadécimal
62«b» en hexadécimal
67«g» en hexadécimal
61«a» en hexadécimal
7a«z» en hexadécimal
65«e» en hexadécimal
72«r» en hexadécimal
08.org (.org = 0x08)
00
00
00
00
00
00
00
00


L'exemple ci-dessus vous permet d'envoyer l'adresse du blog de l'auteur de l'idée par Eddystone et "framboise". Si vous devez envoyer votre URL, modifiez -la ici .

Pour détecter la balise Raspberry Pi avec iPhone, utilisez le didacticiel vidéo suivant:



Android devrait tout faire automatiquement, à condition que vous disposiez d'Android 4.3.2 ou version ultérieure, de la fonction Bluetooth, de la géologie et des autorisations de localisation de Chrome. Vous pouvez également utiliser une application Web pour que tout fonctionne immédiatement et sans problème.

La page de l' auteur du projet .

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


All Articles