Cette semaine, nous avons publié un nouveau firmware pour tous les YoctoHubs, un nouveau VirtualHub ainsi qu'un nouveau GatewayHub. Les modifications portent principalement sur l'interface Web et ont pour but de faciliter l'utilisation de nos modules au travers du GatewayHub ainsi que la configuration des YoctoHubs. Petit tour des nouveautés:
Tout d'abord, nous avons amélioré la réactivité de l'interface Web. Ce gain est surtout perceptible sur les YoctoHubs qui avaient beaucoup de sous-modules.
Un bouton "Show debug information"
Nous avons aussi ajouté un bouton "Show debug information" sur le bas de la page principale. Ce bouton vous sera surtout utile si vous devez contacter le support.
Le nouveau bouton Show debug information
En effet, quand les clients nous contactent pour des questions de support, la plupart du temps, il nous manque des informations. Par exemple, la version du firmware, les logs du modules, la valeur de certains paramètres.
Ce nouveau bouton ouvre une fenêtre qui contient toutes ces informations regroupées à un seul endroit. Plus besoin de réfléchir à quelles informations nous transmettre, envoyez-nous le contenu de cette page et nous pourrons vous aider directement.
Concrètement, voilà les informations qui sont affichées sur cette page:
- La liste de tous les modules détectés.
- La valeur de tous les paramètres de tous les modules (sans les mots de passe).
- Les logs de tous les modules.
- La liste de tous les fichiers uploadés sur les modules, mais pas leur contenu.
- Le contenu des éventuels core dump des YoctoHubs.
La fenêtre qui permet de dumper toutes les informations de debug
Le bouton "save" permet de sauver le contenu de la fenêtre au format HTML pour nous l'envoyer par email.
En fait, cette page est presque plus utile pour nous que pour les utilisateurs :-)
La nouvelle fenêtre "API Browser"
L'autre page qui a changé est la page "API Browser". Cette page est toujours accessible depuis le panel détail d'un module, mais elle ne s'affiche plus dans une nouvelle fenêtre du browser mais directement dans un panel de la fenêtre courante.
La nouvelle fenêtre API browser
Pour ceux qui n'ont encore jamais utilisé l'API Browser, il permet de d’accéder et de modifier n'importe quel attribut d'un module. C'est une sorte de super page de configuration. Cette page est très utile pour les utilisateurs avancés qui veulent rapidement configurer un module sans avoir à écrire un petit programme ou utiliser notre API en ligne de commande.
Dorénavant, elle permet aussi d'obtenir les requêtes à exécuter si l'on veut interagir avec nos modules sans utiliser une de nos librairies (voir: Piloter les modules Yoctopuce à la dure). Lorsque vous appliquez une modification, la requête effectuée est affichée en bas de page.
La requête éffectuée est détaillée en bas de page
En dehors des considérations esthétiques, l’intérêt d'avoir changé l'API Browser est qu'en interne toutes les requêtes sont transmises aux modules en utilisant le même canal WebSocket. Et, comme nous allons le voir, cela permet de contourner centaines limitations que nous avions jusqu'à présent.
API browser dans le GatewayHub
Pour ceux qui ne le savent pas, le GatewayHub permet d’accéder aux YoctoHubs qui se trouvent derrière un filtre NAT. Pour plus de détails, vous pouvez consulter l'article suivant: Une passerelle pour accéder aux YoctoHubs à distance.
Il était déjà possible d'accéder aux fonctionnalités de base des modules Yoctopuce au travers du GatewayHub, mais l'API Browser ne fonctionnait pas. Il était obligatoire d'utiliser nos outils en ligne de commande ou nos librairies de programmation pour changer un attribut qui n'apparaissait pas dans la fenêtre de configuration.
La nouvelle version du GatewayHub corrige ce problème et il est désormais possible d'utiliser toutes les fonctionnalités du YoctoHub comme si nous étions directement connecté à ce dernier.
Pour utiliser l'API Browser, il faut utiliser au minimum la version 34990 du GatewayHub. L'API Browser étant stocké dans GatewayHub, cela fonctionne même avec les YoctoHubs qui utilisent d'ancien firmware.
Configuration des sous-modules d'un YoctoHub avec le VirtualHub
Nous avons expliqué dans un précédent article comment configurer les modules Yoctopuce connectés à l'aide du VirtualHub. Mais cela ne fonctionne que pour les modules connectés directement au PC, car les sous-modules branchés sur un YoctoHub ne sont pas reconnus.
Pour configurer un sous-module d'un YoctoHub, il faut obligatoirement accéder à l'interface Web des YoctoHubs. Dans le cas des YoctoHub-Ethernet ou YoctoHub-Wireless-g, ce n'est pas un gros problème, mais avec les YoctoHub-GSM c'est plus compliqué car la plupart des opérateurs téléphoniques bloquent les connexions entrantes à l'aide un firewall. Et il n'est pas possible d’accéder à l'interface web du YoctoHub-GSM même si l'on connaît son adresse IP.
Grâce aux changements effectués, il est désormais possible d’accéder à l'API Browser des sous-modules d'un YoctoHub. En effet, l'API Browser permet d’accéder à toutes les fonctionnalité du YoctoHub (YNetwork, YFiles etc.) mais il liste aussi tous les modules connectés au YoctoHub. Cette liste se trouve dans la section Whitepage et pour chaque module on trouve son numéro de série, son nom logique et surtout un bouton "Open API Browser" qui permet d'ouvrir un nouveau panneau avec l'API Browser du sous-module.
Les sous-modules sont listés dans la section Whitepage
Par exemple, si l'on a un Yocto-Light-V3 connecté à un YoctoHub-Ethernet qui est lui-même branché sur un port USB d'un PC, il est possible d’accéder à l'API Browser du Yocto-Light-V3 à l'aide du VirtualHub de la manière suivante:
Dans l'interface du VirtualHub, on ouvre l'API Browser du YoctoHub-Ethernet. Ensuite, on scrolle jusqu'à la section "Whitepage" et on clique sur le bouton "Open API Browser" du Yocto-Light-V3. L'API Browser du Yocto-Light-V3 s'ouvre dans un nouveau panneau, et il est possible de le configurer.
L'API Browser s'ouvre dans un nouveau panneau
Conclusion
Nous avons fait un première passe sur l’interface Web des YoctoHubs, afin de supprimer les limitations que nous avions. Cette nouvelle version de l'API Browser est un premier pas mais nous avons encore d'autres idées pour le rendre encore plus pratique. Si vous avez d'autres idées d’améliorations, n'hésitez pas à nous en faire part.