Construire un iBeacon bricolage avec un Raspberry Pi

Les publicités ciblant un utilisateur particulier qui se promène dans un centre métropolitain sont le lot de contrats à terme dystopiques. Mais ce n'est pas un futur dystopique: la technologie est déjà là.

Les publicités ciblant un utilisateur particulier qui se promène dans un centre métropolitain sont le lot de contrats à terme dystopiques.  Mais ce n'est pas un futur dystopique: la technologie est déjà là.
Publicité

Les publicités ciblant un utilisateur particulier qui parcourt un centre métropolitain font l'objet de contrats à terme dystopiques, comme en témoigne notamment le film Tom Cruise Minority Report . Mais ce n'est pas un futur dystopique: la technologie est déjà là. Bien qu'il ne repose pas sur l'identification rapide en utilisant votre rétine, il utilise Bluetooth. Développé par Apple, iBeacon a été développé pour fournir des informations de géolocalisation aux utilisateurs iOS 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 de l'appareil. Lire la suite, 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 Beacons, bien que le soutien soit limité à l'heure actuelle, car les développeurs s'en occupent.

muo-rpi-mediaready

Sans surprise, vous pouvez utiliser un Raspberry Pi comme un iBeacon, en ajoutant un module USB basse consommation Bluetooth (BLE). Plus intéressant, nous pouvons coopter cette technologie et abandonner les méthodes publicitaires futuristes en faveur des usages autour de la maison.

Comment fonctionne iBeacon

Construire un émetteur Bluetooth à faible consommation d'énergie que les applications intelligentes peuvent détecter est simple, mais comment fonctionne un iBeacon?

muo-diy-pibeacon-ble2

BLE est conçu spécifiquement pour la transmission sur de courtes distances, mais avec des exigences de puissance plus faibles (une seule pile bouton devrait durer trois ans). De petits paquets de données, connus sous le nom de «publicités» (pas au sens marketing), sont diffusés par la balise et utilisés pour déclencher des actions dans les applications de smartphones, afficher un message publicitaire ou inciter le lecteur à effectuer une action.

Au-delà du marketing, les iBeacons sont généralement utilisés pour pousser les états de localisation vers une application, comme afficher des informations sur une exposition pendant que 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 aurez 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 basse consommation), qui peut être acheté relativement bon marché auprès d'Amazon ou d'Adafruit. Vous pouvez exécuter ce projet sur une installation Raspbian standard Optimiser la puissance de votre Raspberry Pi avec Raspbian Optimiser la puissance de votre Raspberry Pi avec Raspbian Comme il sied à un homme avec trop de technologie sur ses mains, j'ai joué avec mon Raspberry Pi récemment, configurant l'appareil pour qu'il fonctionne à son plein potentiel. Il continue à fonctionner comme ... Lire la suite, soit installé de la manière habituelle Comment installer un système d'exploitation à votre Raspberry Pi Comment installer un système d'exploitation à votre Raspberry Pi Voici comment faire pour installer un nouveau système d'exploitation sur votre Pi - et comment cloner votre configuration parfaite pour une reprise après sinistre rapide. Lire la suite ou via NOOBS Comment NOOBS pour Raspberry Pi peut aider les utilisateurs débutants Comment NOOBS pour Raspberry Pi peut aider les utilisateurs débutants Il ya quelque chose au sujet de la Raspberry Pi qui peut simplement mettre les gens: jusqu'à présent, la configuration n'a pas été particulièrement amical. NOOBS vise à changer cela! Lire la suite .

(Si vous voulez un raccourci pour tout cela, l'image PiBeacon est votre meilleur pari, à partir de RadiusNetworks, il suffit de télécharger, d'écrire sur la carte SD et de démarrer.)

Avant d'attacher le BLE, cependant, il est temps d'installer quelques bibliothèques:

sudo apt-get install libusb-dev libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev 

Maintenant que c'est fait, vous devrez 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 

muo-diy-pibeacon-code1

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 make install 

Vous êtes presque prêt à partir. Émettez une commande d'arrêt, puis lorsque le Pi est éteint, connectez le BLE.

 sudo shutdown -h now 

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 BAS.

Pour résoudre ce problème, configurez le périphérique:

 sudo tools/hciconfig hci0 up sudo tools/hciconfig hci0 leadv 3 sudo tools/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 l'état de l'appareil est UP RUNNING.

Comment faites-vous de la publicité avec le PiBeacon?

muo-diy-pibeacon-ipad

Vous avez donc un iBeacon fonctionnel, alimenté par un Raspberry Pi. Mais comment l'utilisez-vous pour vous identifier aux appareils Bluetooth à proximité? Comme expliqué par Adafruit, la balise a besoin de données publicitaires à saisir. Ils conseillent d'entrer 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 D1 AD 07 A9 61 00 00 00 00 C8 00 

Qu'y a-t-il dans le paquet de données?

Oui, c'est une longue série 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 des données spécifiques au fabricant suivront, dans ce cas le 4C 00 qui est l'identifiant d'Apple. Cette chaîne peut être modifiée selon les besoins.

Brisons-le:

muo-diy-pibeacon-données

Comme vous pouvez le voir, 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 afin d'apprécier la longueur réelle du paquet.

Avec la marque FF, nous voyons l'ID 128 bits comme expliqué ci-dessus, suivi par les données majeures et les données mineures. Ceux-ci identifient les emplacements ou les notes de manière hiérarchique (majeur en premier, mineur en second). Enfin, le TX Power permet d'estimer la distance.

Le PiBeacon, comme un iBeacon, a trois gammes: immédiate (localisée à quelques centimètres), proche (quelques mètres) et éloignée (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 prévoyez d'utiliser la technologie iBeacon, il est important d'avoir un identifiant unique pour votre application. Vous pouvez utiliser quelque chose comme www.uuidgenerator.net ou si vous utilisez un Mac, l'utilitaire de ligne de commande uuidgen va générer un identifiant unique.

PiBeacon est Live!

Avec cela entré, le PiBeacon est maintenant la publicité. Tout ce que vous devez faire maintenant est de trouver une application iBeacon appropriée sur le magasin iOS tel que Beacon Toolkit (0, 99 $) pour le détecter, en sélectionnant Écouter . La chaîne ci-dessus est fournie en tant qu'UUID dans l'application Beacon Toolkit. D'autres UUID peuvent être utilisés, mais ceux-ci ne fonctionneront pas avec cette application: utilisez la Beacon Toolbox légèrement plus chère (4, 99 $), qui devrait être capable d'identifier la plupart des iBeacons à portée.

Malheureux de consacrer un Raspberry Pi à cette tâche unique? Ne vous inquiétez pas, vous pouvez créer un Arduino iBeacon à la place, pourvu que vous ayez un blindage BLE (qui peut être disponible dans votre kit de démarrage Arduino) Contenu de votre kit de démarrage Arduino? [Arduino Débutants] Que contient votre kit de démarrage Arduino? Arduino débutants] Face à une boîte pleine de composants électroniques, il est facile d'être débordé.Voici un guide pour exactement ce que vous trouverez dans votre kit.Lire la suite). Voici une démo:

Se sentir encore plus aventureux? 10 $ d'électronique et quelques compétences de soudage Apprenez à souder, avec ces simples conseils et projets Apprenez à souder, avec ces simples conseils et projets Êtes-vous un peu intimidé par la pensée d'un fer chaud et de métal en fusion? Si vous voulez commencer à travailler avec l'électronique, vous aurez besoin d'apprendre à souder. Laissez-nous vous aider. Lire la suite vous permettra également de créer un iBeacon de bricolage.

Questions ou commentaires? Laissez-les ci-dessous.

In this article