Une extension Wordpress pour les capteurs Yoctopuce

Une extension Wordpress pour les capteurs Yoctopuce

Les capteurs Yoctopuce sont conçus pour s'intégrer facilement avec toutes sortes de systèmes informatiques: connexion à un ordinateur, à un téléphone Android ou même à un serveur web. Sur ce dernier point, nous avons jusqu'à présent destiné nos exemples d'intégration Web aux programmeurs avancés, qui travaillent directement en PHP ou en Java. Aujourd'hui, nous proposons une solution plus simple à mettre en oeuvre pour les développeurs Web utilisant la plate-forme WordPress.


WordPress est un environnement facilitant énormément la création de sites internet classiques, contenant des pages structurées, des articles, des galeries de photo, etc. Il n'est pas nécessaire de savoir programmer pour l'utiliser, tout se fait par des menus et une interface graphique. De nombreuses extensions sont disponibles pour ajouter des fonctions spécifiques à WordPress, pour des applications précises.

Nous vous proposons aujourd'hui un exemple d'extension pour WordPress intitulée Yocto-Sensor, permettant d'afficher sur un site web des mesures prises par un capteur Yoctopuce.

Comment ça marche ?


Le scénario d'utilisation suppose une interaction entre trois entités au moins: le capteur Yoctopuce qui prend une mesure, le serveur WordPress hébergé sur un serveur quelque part sur la planète et le navigateur internet de l'utilisateur, qui n'est a priori pas à côté du capteur. De plus, dans une utilisation habituelle, on doit supposer que tant le capteur Yoctopuce que le navigateur internet sont derrière un filtre NAT, comme par exemple un routeur DSL ou un pare-feu.

Interactions pour lire un capteur via un site Internet
Interactions pour lire un capteur via un site Internet



Pour que l'utilisateur puisse prendre connaissance des mesures, il n'y a donc qu'une solution: que tous deux parlent avec le serveur Web, visible par tous, et que celui-ci stocke les mesures dans l'intervalle. Notre extension va donc créer automatiquement une nouvelle table dans la base de données WordPress pour stocker les mesures.

Les données des capteurs sont automatiquement envoyées à travers le réseau au serveur WordPress, par la méthode des Callbacks HTTP dont nous avons déjà parlé dans le passé. Concrètement, il suffira pour cela de brancher le capteur soit sur un YoctoHub-Ethernet ou un YoctoHub-Wireless-g, soit par USB sur un ordinateur sur lequel on lancera le service VirtualHub. Quelle que soit la méthode, la configuration est la même: on configure un callback HTTP pointant sur l'adresse du site WordPress, avec un suffix d'URL particulier ?httpcallback qui sera interceptée par notre extension pour collecter les mesures:

Configuration des callbacks HTTP vers un serveur WordPress
Configuration des callbacks HTTP vers un serveur WordPress


En plus de l'URL de callback, cette fenêtre de configuration comporte deux paramètres importants:

  1. L'intervalle entre les appels du callback, qui définit la fréquence de vos mesures
  2. Le mot de passe utilisé pour sécuriser vos callbacks (par signature MD5), qui permet d'éviter que quelqu'un d'autre vienne poster des fausses mesures sur votre site. Vous devrez configurer le même mot de passe dans la configuration de l'extension Yocto-Sensor:

Configuration du mot de passe pour les callbacks HTTP dans WordPress
Configuration du mot de passe pour les callbacks HTTP dans WordPress


Pour afficher la dernière mesure dans WordPress, vous pouvez alors utiliser dans n'importe quelle page le shortcode [YSensor name="..."] en indiquand le nom de votre capteur (soit son nom logique si vous lui en avez attribué un, soit son identifiant matériel).

Implémentation


Les extensions WordPress sont de simples fichiers PHP disposés dans le répertoire wp-content/plugins, avec un certain nombre de conventions à respecter. Le point d'entrée est le fichier PHP à la racine du plug-in, qui décrit le plug-in et va simplement inclure le code se trouvant dans le sous-répertoire inc. On y trouve en particulier un fichier load.php, qui va greffer notre extension dans WordPress, en associant à des points d'entrées prédéfinis:

  • une fonction d'installation, appelée lorsque l'utilisateur active l'extension sur son site, et qui va créer la base de données
  • quelques fonctions pour gérer notre panneau de configuration
  • une fonction qui enregistre notre nouveau shortcode
  • une fonction qui indique à WordPress quels sont les mots-clés qui nous intéressent sur les URLs
  • une fonction qui intercepte les URLs contenant notre mot-clé "httpcallback" et les envoie à notre code d'enregistrement des mesures

Si vous voulez voir notre extension en fonction, faites un petit tour sur le site de test yoctopuce-demo.org...

Et si vous voulez le tester sur votre site ou jeter un coup d'œil plus approfondi au code source, vous pouvez downloader notre extension Yocto-Sensor, ou la prendre depuis la bibliothèque d'extension sur WordPress.org.

Commenter aucun commentaire
Retour au blog












Yoctopuce, get your stuff connected.