Utiliser Yocto-Visualization (for Web) avec un YoctoHub-GSM

Utiliser Yocto-Visualization (for Web) avec un YoctoHub-GSM

Notre utilitaire gratuit VirtualHub (for Web) permet de collecter des mesures prises au milieu de nulle part avec un YoctoHub-GSM-4G. En y ajoutant Yocto-Visualization (for Web), on peut facilement obtenir une interface web pour consulter les graphiques des mesures en temps réel. Cette semaine, nous allons vous donner quelques conseils pour obtenir des jolis résultats dans cette configuration tout en minimisant l'énergie consommée par le YoctoHub-GSM-4G.


Configuration de base

Pour mettre en place cette solution, commencez - si ce n'est pas déjà fait - par

  1. installer VirtualHub (for Web) sur un serveur accessible depuis Internet, comme décrit dans cet article
  2. installer Yocto-Visualization (for Web) dans votre VirtualHub (for Web), comme décrit dans cet article (utilisez la méthode 1)

Configurez ensuite un callback HTTP sur votre YoctoHub-GSM-4G pointant sur votre serveur VirtualHub (for Web). L'URL de callback doit correspondre à celle de votre interface Web, mais sans le préfixe https:// et en remplaçant webapp.html par le suffixe HTTPCallback .

Pour éviter qu'un hub autre que le votre puisse se connecter à votre serveur, utilisez la fenêtre de configuration du VirtualHub-4web pour définir un Incoming HTTP Yocto-API Callback password (MD5 Signature).

Sécurisation des callbacks HTTP
Sécurisation des callbacks HTTP


Une fois configuré, seuls les callbacks HTTP signés avec ce mot de passe seront pris en compte. Vous devez donc au niveau du hub faire la configuration correspondante:

Configuration du paramètre de sécurité sur le hub
Configuration du paramètre de sécurité sur le hub



Configuration de la fréquence d'envoi

L'étape suivante consiste à configurer le YoctoHub-GSM-4G pour qu'il envoie des mesures sur le serveur à intervalle régulier, et consomme le moins d'énergie possible entre les envois.

Lorsqu'on connecte des capteurs Yoctopuce à un YoctoHub-GSM-4G, il y trois endroits différents où l'on peut configurer une fréquence d'envoi de mesures, et pour obtenir le meilleur résultat il faut comprendre la nuance entre les trois.

  • Dans la fenêtre de configuration du YoctoHub-GSM-4G, le Wake-up scheduler permet de choisir les heures exactes de réveil du hub, lorsqu'on choisit de mettre le hub en sommeil profond entre les envois de données. C'est donc ce paramètre qui sera le plus important pour choisir la fréquence d'envoi lorsque l'on veut minimiser l'énergie consommée par le système.
  • Dans la fenêtre de configuration des callbacks HTTP, il est possible de configurer la fréquence à laquelle le hub doit se reconnecter au serveur Web pour poster des données. Pour les applications où l'on ne met pas le hub en sommeil profond entre les envois de mesure, c'est l'endroit où configurer la fréquence de connexion au serveur. Mais si le hub s'endort de toute manière entre les callbacks HTTP, ce paramètre n'est pas significatif car le hub fera toujours un premier callback à chaque réveil, dès l'établissement de la connectivité réseau.
  • Dans l'interface de configuration des capteurs eux-mêmes, la fenêtre de configuration du datalogger permet de choisir la fréquence d'envoi des mesures (reporting) du capteur vers le hub. Cette fréquence d'envoi détermine le moment de l'envoi de la mesure par le capteur: si vous choisissez de transmettre une mesure par minute, l'envoi de chaque nouvelle mesure aura lieu exactement au moment exacte ou l'heure courante passe à une nouvelle minute.


Le Wake-up scheduler La configuration de la fréquence des callbacks La configuration sur le capteur
Les trois endroits où l'on peut configurer une fréquence d'envoi de mesures



Dans le cas où l'on transmet les mesures par des callbacks HTTP, la configuration de le fréquence de reporting des capteurs vers le hub a son importance car il faut être certain que les capteurs aient transmis une mesure au hub au moment où le callback HTTP est effectué par le hub, sinon celui-ci n'aura rien à transmettre au serveur. Par exemple, si les capteurs sont configurés pour envoyer des valeurs (reporting) une fois par heure et que l'on configure un réveil du hub à chaque heure pile, les capteurs ne seront juste pas réveillés à temps pour envoyer la mesure correspondant à l'heure du réveil.

Première astuce: Pour contourner ce problème, il faut utiliser un nouveau paramètre introduit récemment en bas de la configuration dans le Wake-up scheduler: la possibilité d'anticiper les réveils de quelques secondes, afin d'être sûr que les modules aient été sous tension pour transmettre leur mesure périodique à l'heure prévue.

Le paramètre d'anticipation du réveil
Le paramètre d'anticipation du réveil



Avec le réveil anticipé, un autre problème peut apparaître: si la connexion réseau est établie trop rapidement, il se pourrait que le callback HTTP soit effectué avant la transmission de la mesure par le capteur à l'heure pile.

Deuxième astuce: Pour éviter cela, il faut configurer un délai avant l'établissement du premier callback HTTP (en bas de la fenêtre de configuration des callbacks HTTP) à une valeur supérieure à la valeur d'anticipation:

Le paramètre d'attente avant le premier callback
Le paramètre d'attente avant le premier callback



Enfin, pour économiser la source d'énergie du hub, il faut configurer la mise en sommeil profond du hub une fois les mesures transmises au serveur. Le premier réglage, appelé Maximum power-on duration et se trouvant dans la configuration du YoctoHub-GSM-4G sur le hub lui-même, sert à mettre le hub en sommeil profond après un temps d'éveil spécifié, que la connexion ait pu être établie ou pas:

La configuration du temps d'éveil maximal
La configuration du temps d'éveil maximal



Troisième astuce: Si vous allez consulter la configuration de la mise en sommeil du hub à travers l'interface de VirtualHub (for Web), un paramètre de plus est offert: send hub to sleep after HTTP callback. Lorsqu'il est activé, VirtualHub (for Web) se chargera de mettre le hub en sommeil profond aussitôt que toutes les mesures ont bien été reçues.

VirtualHub (for Web) ajoute un paramètre à cette section!
VirtualHub (for Web) ajoute un paramètre à cette section!


Ce paramètre n'est présent qu'à travers VirtualHub (for Web), car ce n'est pas le hub lui-même qui déclenche la mise en sommeil dans ce cas, mais bien VirtualHub (for Web). Cela permet à VirtualHub (for Web), lorsque c'est nécessaire, de redemander un deuxième callback HTTP immédiat pour mettre à jour des paramètres par exemple.

Avec ces réglages, vous devriez être en mesure d'obtenir un beau graphique comme celui-ci, sans que le hub reste éveillé plus de 60 secondes par envoi de mesure en temps normal:


Un dernier conseil: soyez très prudent si vous changez les paramètres de réveil de votre hub à distance à l'aide de VirtualHub (for Web): vous pourriez rapidement commettre une erreur qui empêcherait le hub de se reconnecter au serveur, et donc de corriger votre erreur.

Dernière astuce: Pour éviter de perdre le contrôle complet de votre hub en cas d'erreur, prenez soin de créer un fichier de configuration de backup sur le hub, que vous pourrez restaurer par SMS comme décrit dans cet article. Cela pourra vous éviter un long trajet pour reconfigurer manuellement votre hub !

Commenter aucun commentaire Retour au blog












Yoctopuce, get your stuff connected.