Premier pas dans l’internet des objets avec les Beacons

Nous voulons partager avec vous notre projet Beacon tout juste sorti par notre équipe Innovation.

L’idée est de pouvoir accompagner nos clients dans leurs projets disruptifs et force est de constater que l’Internet des Objets (IoT) est au cœur des enjeux du moment. L’annonce de Google concernant le ‘Web Physique’ (https://github.com/google/physical-web/blob/master/documentation/introduction.md ) ne va pas démentir cette observation.


Toujours plus contextualisée et personnalisée, l’information va vivre au contact des balises Beacons, tags NFC ou autre. Notre projet est de démontrer le potentiel de ces technologies en associant une application mobile avec une solution Web qui officie à la fois comme pilote des fonctions contextualisées et réceptacle du flot de données généré (…Big Data, le mot est lâché).


Fonctionnement schématique de la solution

Fonctionnement schématique de la solution



Première étape, l’acquisition de la balise et sa configuration.

On trouve des sites qui offrent des packages prêts à l’emploi, il faut ensuite associer paramétrer les quelques informations qui seront émises par notre balise.

  • UUID : c’est l’identifiant unique de notre balise, modifiable et donc personnalisable
  • Major : un des paramètres modifiables; on pourra y associer par exemple un numéro de magasin
  • Minor : autre paramètre, qu’on peut penser comme une précision apportée à un ensemble de balises reliées par la valeur d’un ‘Major’, comme le rayon d’un magasin
Balises utilisées pour le projet d'Infotel

Deuxième étape, créer l’application qui va capter le signal et prendre la décision appropriée :

Prérequis, il faut que votre téléphone embarque la prise en charge du BlueTooth Low Energy, qui est aujourd’hui disponible pour les smartphone sous iOS, Android 4.3 et Windows 8.
Une fois maîtrisée la détection du signal, on crée différentes interactions, différenciées selon que l’application est en veille ou en premier plan.

Capture Alerte iBeacon Catpure notification présence iBeacon
Envoyer une alerte ou un message associé à la proximité d’une balise Lorsque l’application est en veille, les notifications sont possibles, de manière plus ou moins intrusive.
Pour une interaction plus riche, on propose l’affichage d’un contenu HTML qui est fourni par notre serveur, mais on pourrait également constituer un message si l’application mobile embarque la logique (catalogue de produit embarqué, envois de messages en mode chat).

Voici le périmètre de notre solution :

  • Créer une application qui capte les signaux des Beacons,
  • Dans une approche connectée, envoyer au serveur les informations techniques de la balise associée à son identifiant,
  • Recevoir en retour l’action à déclencher qui se peut prendre une des valeurs suivantes :
    Aucune action : nous voulons simplement enregistrer le passage de notre usager,
    Réveil de l’application,
    Affichage d’une notification,
    Affichage d’un contenu Web (dans une WebView).
  • Filtrer les événements pour ne pas prendre en compte les signaux qui ne sont pas directement liés à notre parc de balises,
  • Afficher un sémaphore de présence de balises.


Par ailleurs, nous avons ajouté quelques fonctionnalités pour l’administration du parc : historique des signaux captés, débogage avec visualisation des informations techniques, configuration, et comportement par défaut au travers de ‘bouchons’ pour simuler une connexion à notre serveur.


Troisième étape, piloter son parc.


Il faut ensuite associer du contenu et des comportements à chaque balise, ce que nous faisons dans notre application centrale. En voici quelques captures d’écran représentatives.

Paramétrage d'une balise

Paramétrage d'une balise et association d'actions

création d'une action

Création d'une action type

Création d'une action générique

Visualisation d'une événement lié à une balise



Quatrième étape, analyser et améliorer.


Pour faire vivre la donnée et comprendre les comportements relevés par nos balises, rien de mieux que d’utiliser la masse d’information correspondant aux événements en les déversant dans ElasticSearch (par exemple).

On crée ainsi des tableaux de bord dans lesquels on décline les différentes actions, avec une visualisation temporelle.

On peut ensuite se pencher sur une classification et une analyse plus poussée.