Construire un iBeacon de bricolage avec un Raspberry Pi
Les publicités ciblant un utilisateur particulier traversant un centre métropolitain font partie de l'avenir dystopique, démontré notamment par le film de Tom Cruise. Rapport minoritaire. Mais ce n’est pas un avenir dystopique: la technologie est déjà là. Bien qu'il ne repose pas sur une identification rapide à l'aide de votre rétine, il utilise Bluetooth. Développé par Apple, iBeacon a été développé pour fournir aux utilisateurs d'iOS des informations de localisation. Comment Bluetooth 4.0 façonne l'avenir de la connectivité mobile Comment Bluetooth 4.0 façonne l'avenir de la connectivité mobile Bluetooth est l'étoile oubliée sur la fiche de spécifications du périphérique. En savoir plus, en utilisant la proximité d'un appareil pour déclencher une publicité personnalisée ou suivre les mouvements d'un utilisateur. Google a également créé sa propre spécification polyvalente Beacons, bien que la prise en charge de celle-ci soit limitée à l'heure actuelle, car les développeurs y parviennent..
Sans surprise, vous pouvez utiliser un Raspberry Pi comme un iBeacon, en ajoutant un module USB Bluetooth Low Energy (BLE). Plus intéressant encore, nous pouvons coopter cette technologie et abandonner les méthodes de publicité futuristes au profit d'utilisations à la maison..
Comment fonctionne iBeacon
Construire un émetteur Bluetooth basse consommation détectable par les applications d'appareils intelligents est simple, mais comment fonctionne un iBeacon?
BLE est spécialement conçu pour la transmission sur de courtes distances, mais avec une consommation d'énergie moindre (une seule pile bouton devrait durer trois ans). Petits paquets de données, appelés “annonces” (pas dans le sens marketing), sont diffusés par la balise et sont utilisés pour déclencher des actions dans les applications pour smartphone, peut-être afficher un message commercial ou inviter le lecteur à effectuer une action.
Au-delà du marketing, les iBeacons sont généralement utilisés pour transmettre des états de localisation à une application, par exemple pour afficher des informations sur une exposition lorsque vous vous promenez dans un musée..
Construisez votre propre iBeacon avec un Raspberry Pi et un dongle Bluetooth
Pour utiliser votre Raspberry Pi comme un iBeacon, vous avez besoin d'un adaptateur USB Bluetooth. Cependant, vous ne pouvez pas simplement connecter un ancien périphérique USB Bluetooth. Au lieu de cela, vous devrez utiliser un périphérique BLE (Bluetooth low-energy), qui peut être acheté à un prix relativement avantageux auprès d'Amazon ou d'Adafruit. Vous pouvez exécuter ce projet sur une installation standard de Raspbian. Optimiser la puissance de votre Raspberry Pi avec Raspbian. Optimiser la puissance de votre Raspberry Pi avec Raspbian. Comme il sied à un homme qui a trop de technologie à sa main, j’ai récemment joué avec mon Raspberry Pi. en configurant l’appareil pour qu’il fonctionne au maximum de ses possibilités. Il continue de fonctionner comme… Lire la suite, soit installé de la manière habituelle Comment installer un système d'exploitation sur votre Raspberry Pi Comment installer un système d'exploitation sur votre Raspberry Pi Voici comment installer un nouveau système d'exploitation sur votre Pi - et comment cloner votre configuration parfaite pour une récupération après sinistre rapide. En savoir plus ou via NOOBS Comment NOOBS pour Raspberry Pi peut aider les utilisateurs novices Comment NOOBS pour Raspberry Pi peut aider les utilisateurs novices Il y a quelque chose dans Raspberry Pi qui risque de mettre les gens mal à l'aise: jusqu'à maintenant, sa configuration n'a pas été particulièrement utile amical. NOOBS vise à changer cela! Lire la suite .
(Si vous voulez un raccourci vers tout cela, l'image PiBeacon est votre meilleur choix, de RadiusNetworks. Téléchargez, écrivez simplement sur une carte SD et démarrez.)
Avant d’attacher le BLE, il est temps d’installer certaines bibliothèques:
sudo apt-get installez libusb-dev libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev
Ceci fait, vous devez installer Bluez, la pile Bluetooth pour Linux..
sudo mkdir bluez cd bluez sudo wget www.kernel.org/pub/linux/bluetooth/bluez-5.11.tar.xz
Une fois téléchargé, Bluez doit être construit.
sudo unxz bluez-5.11.tar.xz sudo tar xvf bluez-5.11.tar cd bluez-5.11 sudo ./configure --disable-systemd sudo make
(Cette étape peut prendre un certain temps. Allez faire une tasse de thé. Ou préparez une tarte aux framboises.)
sudo faire installer
Vous êtes presque prêt à partir. Émettez une commande d'arrêt, puis lorsque le Pi est mis hors tension, connectez le BLE.
sudo shutdown -h maintenant
Diffuser le PiBeacon
Pour configurer le PiBeacon pour la diffusion, vérifiez d’abord que le module BLE a été détecté.
hciconfig
Vous remarquerez que si le module est détecté, son statut est actuellement DOWN.
Pour résoudre ce problème, configurez le périphérique:
outils sudo / hciconfig hci0 up outils sudo / hciconfig hci0 leadv 3 outils sudo / hciconfig hci0 noscanc
(Notez que la dernière ligne désactive l'analyse Bluetooth car cela peut causer des problèmes.)
Répétez la commande précédente pour exécuter hciconfig:
hciconfig
Vous verrez maintenant que l'état de l'appareil est UP RUNNING.
Comment annoncer avec le PiBeacon?
Vous avez donc un iBeacon en état de marche, alimenté par un Raspberry Pi. Mais comment l'utilisez-vous pour vous identifier auprès des périphériques Bluetooth à proximité? Comme expliqué par Adafruit, la balise nécessite la saisie de données publicitaires. Ils conseillent de saisir la chaîne suivante avec la commande 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 J1 AD 07 A9 61 00 00 00 00 C8 00
Que contient le paquet de données?
Oui, c'est une longue chaîne de chiffres et de lettres. Il est écrit en hexadécimal et bien que nous ne puissions pas le voir, la chaîne est divisée en sections. Par exemple, la marque FF indique que les données spécifiques au fabricant suivront, dans ce cas le 4C 00, qui est l'identifiant Apple. Cette chaîne peut être modifiée selon les besoins.
Brisons-le:
Comme vous pouvez le constater, la chaîne signifie peu jusqu'à ce que vous puissiez voir à quoi sert chaque segment de données. Notez que l'ID sera toujours le même pour identifier le type de paquet et que la longueur de données doit être convertie en décimal pour apprécier la longueur réelle du paquet..
Avec la marque FF, nous voyons l'ID 128 bits comme expliqué ci-dessus, suivi des données principales et des données secondaires. Celles-ci identifient les emplacements ou les notes de manière hiérarchique (majeur en premier, mineur en second). Enfin, le TX Power aide à estimer la distance.
Le PiBeacon, comme un iBeacon, a trois gammes: immédiate (localisée à quelques centimètres), proche (quelques mètres) et lointaine (environ 10 mètres). Toute distance mesurée n’est qu’approximative car le signal BLE est affaibli par les meubles, les portes et les murs.
Si vous envisagez d'utiliser la technologie iBeacon, il est important de disposer d'un identifiant unique pour votre application. Vous pouvez utiliser quelque chose comme www.uuidgenerator.net ou, si vous utilisez un Mac, la ligne de commande Uuidgen utilitaire va générer un identifiant unique.
PiBeacon est en direct!
Avec cette entrée, le PiBeacon fait maintenant de la publicité. Tout ce que vous devez faire maintenant, c’est de trouver une application iBeacon appropriée sur la boutique iOS, telle que Beacon Toolkit (indisponible), pour la détecter en sélectionnant Écoute. La chaîne ci-dessus est fournie en tant qu'UUID dans l'application Beacon Toolkit. D'autres UUID peuvent être utilisés, mais ils ne fonctionneront pas avec cette application: utilisez la boîte à outils Beacon un peu plus chère (4,99 $), qui devrait pouvoir identifier la plupart des iBeacons à portée..
Insatisfait de consacrer un Raspberry Pi à cette tâche unique? Ne vous inquiétez pas - vous pouvez créer un Arduino iBeacon à la place, à condition de disposer d'un bouclier BLE (disponible dans votre kit de démarrage Arduino. Contenu de votre kit de démarrage Arduino? [Débutants Arduino] Que contient votre kit de démarrage Arduino? [ Arduino Débutants] Face à une boîte remplie de composants électroniques, il est facile de se sentir dépassé. Voici un guide de ce que vous trouverez exactement dans votre trousse. Lire la suite). Voici une démo:
Vous vous sentez encore plus aventureux? 10 $ en électronique et quelques compétences en soudure Apprenez à souder, avec ces astuces et projets simples Apprenez à souder, en utilisant ces astuces et projets simples Êtes-vous un peu intimidé par la pensée d'un fer chaud et d'un métal en fusion? Si vous voulez commencer à travailler avec l'électronique, vous devrez apprendre à souder. Laissez-nous vous aider. Lire plus vous permettra également de gagner un iBeacon DIY.
Questions ou commentaires? Laissez-les ci-dessous.
En savoir plus sur: Bluetooth, Raspberry Pi.