Les callback HTTP

Les callback HTTP

Cette semaine, nous continuons notre série d'articles "Pour les débutants". Savez-vous qu'il est possible de configurer les YoctoHubs pour qu'ils se connectent directement à des services dans le Cloud ? Cette fonctionnalité est disponible sur tous les YoctoHubs et dans le VirtualHub. Voici un petit tour d’horizon des services Cloud supportés.




Cet article fait partie de la série "Pour les débutants", mais nous partons du principe que vous savez déjà utiliser les fonctionnalités de base de nos modules. Si ce n'est pas le cas, nous vous conseillons de relire les articles précédents de cette série, en particulier ceux sur les YoctoHubs et sur la structure logique des modules Yoctopuce.

Callback HTTP


Le callback HTTP est une fonctionnalité disponible sur tous les YoctoHubs qui permet à ces derniers de se connecter directement à un serveur pour poster la valeur courante des modules Yoctopuce connectés. Il n'y pas besoin d'installer une application ou un service sur une machine du réseau. Il faut simplement configurer le callback HTTP avec l'interface Web du YoctoHub.

Notez que dans ce mode, c'est le YoctoHub qui établit la connexion au serveur, ce qui évite tous les problèmes liés aux firewall et autres filtres NAT. En d'autre termes, si le YoctoHub a accès à Internet, il arrivera à se connecter au serveur Cloud.

C'est le YoctoHub qui établit la connexion HTTP ou TCP au serveur
C'est le YoctoHub qui établit la connexion HTTP ou TCP au serveur



Le panneaux de configuration des callbacks


La configuration du callback HTTP s'effectue avec l'interface Web du YoctoHub. Dans la fenêtre de configuration du YoctoHub, vous trouvez une section Outgoing callbacks qui affiche la configuration actuelle du callback HTTP.

La fenêtre de configuration du YoctoHub-Ethernet
La fenêtre de configuration du YoctoHub-Ethernet



En cliquant sur le bouton edit, on accède à la fenêtre de configuration des callbacks HTTP. Il est possible de configurer un callback vers les services suivants :


Emoncms


Emoncms est un service de Cloud open-source qui permet de poster les données des capteurs Yoctopuce et ensuite de les visualiser. Il est aussi possible d'installer son propre serveur en local.

Les paramètres à fournir sont la clé d'API Emoncms, le numéro de nœud que vous désirez utiliser, ainsi que l'adresse du serveur Emoncms si vous utilisez un serveur local.

La fenêtre de configuration pour les callbacks Emoncms
La fenêtre de configuration pour les callbacks Emoncms



Pour plus d'informations sur l'utilisation de ce service avec nos modules, vous pouvez consulter notre article dédié à Emoncms.

Valarm.net


Valarm est un service de Cloud professionnel qui permet d'enregistrer les données des capteurs Yoctopuce mais permet aussi des fonctions plus élaborées comme la possibilité de géolocaliser les mesures ou de configurer les modules Yoctopuce à distance.

Le seul paramètre à fournir est un Routing code qui permet d'identifier le YoctoHub.

La fenêtre de configuration pour les callbacks Valarm
La fenêtre de configuration pour les callbacks Valarm



Pour plus d'informations sur l'utilisation de ce service avec nos modules, vous pouvez consulter notre article sur le Cloud Valarm.

Xively


Xively est un service de Cloud payant pour les grosses entreprises et les clients OEM. Il permet d’enregistrer les mesures des capteurs Yoctopuce.

Les paramètres sont la clé d'API Xively et le Feed ID.

La fenêtre de configuration pour les callbacks Xively
La fenêtre de configuration pour les callbacks Xively



Pour plus d'informations sur l'utilisation de ce service avec nos modules, vous pouvez consulter notre article sur Xively.

InfluxDB


InfluxDB est une base de données open-source dédiée spécifiquement à stocker des séries temporelles de mesures et d'événements. Notez que seules les installations locales sont supportées. En effet, le service "InfluxDB Cloud" n'est pas supporté car il nécessite une connexion SSL (voir plus bas).

Les paramètres pour a version 1.0 d'InfluxDB sont l'adresse du serveur et le nom de la base de données. Vous pouvez consulter notre article sur InfluxDB 1.0 pour plus de détails.

La fenêtre de configuration pour les callbacks InfluxDB 2.0
La fenêtre de configuration pour les callbacks InfluxDB 2.0



La version 2.0 d'InfluxDB utilise une API différente et le YoctoHub a besoin de trois paramètres (organization, bucket, et token) ainsi que l'adresse du serveur. Vous pouvez consulter d'il y a deux semaines pour plus de détails sur InfluxDB 2.0.

PRTG


PRTG est une solution commerciale, destinée à la supervision des systèmes et des applications. Il est possible d'enregistrer les mesures et obtenir des graphiques de vos capteurs avec ce service.

Les paramètres à fournir sont l'adresse du serveur PRTG et le token qui permet d'identifier le YoctoHub.

La fenêtre de configuration pour les callbacks PRTG
La fenêtre de configuration pour les callbacks PRTG



Pour plus d'informations sur l'utilisation de cette solution avec nos modules, vous pouvez consulter notre article sur PRTG.

MQTT


MQTT est un protocole de l'Internet des Objets permettant à des capteurs de communiquer avec un serveur central, appelé broker MQTT. Les YoctoHubs peuvent transmettre la valeur des modules Yoctopuce sur un réseau MQTT, cependant ils ne peuvent recevoir de commandes par ce canal. En d'autre termes, il n'est pas possible de contrôler les modules Yoctopuce (par exemple un Yocto-Relay) par MQTT. Notez que le protocole MQTT encapsulé dans une connexion SSL (p. ex. AWS IoT Core) n'est pas supporté (voir plus bas).

Les paramètres à fournir sont l'adresse du broker MQTT, le client ID, un éventuel root topic ainsi que les paramètres d'authentification.

La fenêtre de configuration pour les callbacks MQTT
La fenêtre de configuration pour les callbacks MQTT



Pour plus d'informations sur l'utilisation de MQTT avec nos modules, vous pouvez consulter les articles suivants : "Connecter un senseur Yoctopuce à un broker MQTT" et "Utiliser les senseurs Yoctopuce dans FRED".

Yocto-API


Il est aussi possible d'utiliser le mode callback directement avec notre API. Contrairement aux autres callbacks, les protocoles Yocto-API ou Yocto-API-JZON permettent d'utiliser toutes les fonctionnalités des modules. Il est par exemple possible de commuter la sortie d'un relais en fonction de la valeur d'un capteur.

Toutefois, c'est à vous de coder votre propre service, en PHP, JavaScript (node.js) ou Java. Nous avons trois tutoriel qui vous expliquent comment utiliser les callbacks pour ces langages:


L'intervalle des callback


La dernière section, qui est présente pour tous les types de callbacks, permet de configurer l'intervalle entre chaque déclenchement du callback. Il est possible de définir cet intervalle de manière absolue ou relative.

L'option interval between subsequent callbacks permet de spécifier le délais entre chaque callback. C'est-à-dire que si on configure un intervalle de 5 minutes, le YoctoHub va attendre 5 minutes avant de déclencher le suivant. Si le premier callback est déclenché à 12h03, le suivant sera exécuté à 12h08, etc.

L'option absolute periodicity of callbacks permet de configurer des callbacks à heure fixe. C'est-à-dire que le callback est déclenché tous les multiples du délais configuré. Par exemple un délais de 5 minutes va déclencher un callback à 8h00, 8h05, 8h10, etc. Notez que dans ce mode il est aussi possible de spécifier un décalage par rapport au délais configuré. Par exemple avec un délais de 24h, il est possible d'utiliser un décalage de 8h pour déclencher le callback tous les jours à 8h du matin.

Notez qu'il est aussi possible de spécifier un délais plus court si la valeur d'un capteur change. Cela permet de réduire le trafique réseau si rien ne se passe.

La sécurité


Comme nous l'avons dit plus haut, pour l'instant nos modules ne permettent pas de crypter le contenu transmis à l'aide de SSL. L'ajout du support SSL serait trop volumineux pour être ajouté en l'état dans nos modules et imposerait d'autres sacrifices plus pénalisant. Toutefois, cela ne veut pas dire que les callbacks ne sont pas sûrs. Nous avons un article qui explique en détails comment sécuriser le mode HTTP Callback.


Le VirtualHub


Tout ce que nous venons de dire dans cet article est aussi valable pour le VirtualHub qui, comme son nom le laisse supposer, est une application qui permet de transformer n'importe quel PC ou Mac en YoctoHub virtuel. Le fonctionnement des callbacks est strictement identique entre les YoctoHubs et le VirtualHub.

Commenter aucun commentaire Retour au blog












Yoctopuce, get your stuff connected.