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/24ou$ 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 -h6. Allumez le périphérique bluetoothpi @ raspberrypi: ~ $ sudo hciconfig hci0 up7. Définissez le mode "publicité et non connectable"pi @ raspberrypi: ~ $ sudo hciconfig hci0 leadv 38. Saisissez les données pour Beaconpi @ 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 00Nous diffusons:Option | La 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 |
17 | La longueur L'hexadécimal 17 est converti en 23 décimal, qui est le nombre d'octets qui suivent |
02 | La longueur |
01 | Indique la valeur du type de données |
06 | Données de drapeaux |
03 | La longueur |
03 | Liste complète des valeurs de type de données UUID de service 16 bits |
aa | UUID Eddystone 16 bits |
fe | UUID Eddystone 16 bits |
0f | La longueur Le 0f hexadécimal se transforme en 15 décimales qui est le nombre d'octets qui suivent |
16 | Valeur du type de données des données de service |
aa | UUID Eddystone 16 bits |
fe | UUID Eddystone 16 bits |
10 | Type de trame = URL |
00 | Puissance TX (celle-ci doit être calibrée) |
02 | Sché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