L'article de cet semaine est dédié aux clients qui ont trouvé sur internet un site web expliquant la construction d'une machine quelconque basée sur des modules Yoctopuce et qui souhaitent construire leur propre machine en suivant les instructions de l'auteur du-dit site web, mais qui n'ont aucune envie de consacrer du temps à comprendre le fonctionnement d'un module Yoctopuce. Si vous vous reconnaissez dans cette description, vous trouverez ici les quelques notions de base auxquelles vous ne pourrez pas échapper :-)
Généralités
Les modules Yoctopuce sont des modules USB. Pour les connecter à votre ordinateur, vous n'aurez pas besoin d'installer de driver, mais vous aurez besoin d'un câble USB. Typiquement un câble USB-A vers micro-B. Attention, veillez à utiliser un vrai câble USB et non pas un câble de charge. A l'intérieur d'un câble de charge il n'y a que les fils d'alimentation, il n'y a pas de fils pour les données. Si lorsque que vous branchez votre module, il s'allume mais n’apparaît pas dans le gestionnaire de périphériques de votre ordinateur, vous avez peut-être un mauvais câble.
Tous les modules Yoctopuce utilisent des connecteurs Micro-B
La consommation électrique des modules varient d'un modèle à l'autre. Vous pourrez savoir quel module consomme combien à l'aide du VirtualHub (voir plus bas). Si un ou plusieurs modules consomment plus que ce que le port USB de votre machine ne peut fournir, vous allez commencer à observer plein de comportements bizarres: modules qui rebootent, se déconnectent aléatoirement, etc.... Vous pouvez résoudre le problème en intercalant un hub USB alimenté par une bonne alimentation. Si vous voulez être sûr d'avoir de la marge dans le pire des cas, choisissez-en une capable de fournir au moins 2A.
Configuration
Avant d'installer vos modules dans la machine que vous construisez, vous aurez probablement besoin de les configurer et de les tester. Pour cela vous aurez besoin de l'application VirtualHub que vous pouvez télécharger depuis notre site web. Il y a une version pour chaque système d'exploitation. Notez que si vous travaillez avec un Raspberry Pi, vous devrez utiliser la version Linux/armhf.
Une fois le VirtualHub lancé et vos modules Yoctopuce connectés par USB directement à votre ordinateur, ouvrez un browser web sur l’URL http://127.0.0.1:4444 et vous obtiendrez une page affichant la liste des modules. Notez que http://127.0.0.1 n'est pas un site internet public, mais simplement l'adresse locale de la machine sur laquelle vous êtes en train de travailler, une espèce de "à la maison", version internet.
L'interface du VirtualHub
Vous pouvez cliquer sur le numéro de série du module qui vous intéresse pour connaitre son état: valeurs mesurées, consommation, version du firmware, etc... Vous pouvez aussi cliquer sur le bouton "configure" correspondant pour le configurer. Attention, les modifications de configuration sont appliquées en temps réel, mais elles ne sont sauvées que lorsque vous cliquez sur le boutons "save". Si vous oubliez de sauver, le module restaurera la configuration précédente au prochain redémarrage.
Comme le VirtualHub fonctionne comme un serveur web, il est possible d'y accéder depuis une machine distante. Ainsi, si l'adresse IP de la machine où tourne un VirtualHub est 192.168.0.42, l'URL pour y accéder à distance est http://192.168.0.42:4444.
Non seulement le VirtualHub permet d'obtenir une interface utilisateur pour gérer les modules Yoctopuce à travers le réseau, mais il offre aussi une interface réseau aux application programmées pour piloter des modules Yoctopuce. Ainsi, une application qui gère des modules Yoctopuce n'a pas forcement besoin de tourner sur la même machine que celle où se trouve les modules en question. Vous trouverez plus d'information sur le VirtualHub dans cet article.
Les YoctoHubs
Si la machine que vous construisez utilise des YoctoHubs tels que le YoctoHub-Ethernet ou le YoctoHub-Wireless-g, il vous faut savoir que ces YoctoHubs servent à fournir une interface réseau aux modules Yoctopuce sans avoir à utiliser un vrai ordinateur. En fait, ils se comportent exactement comme un ordinateur qui ferait tourner un VirtualHub, mais en plus petit et plus simple à maintenir. Ils se présentent sous la forme d'une carte d'environ 6 x 6 cm sur lequel vous pourrez brancher jusqu'à trois modules Yoctopuce.
Un YoctoHub-Wireless-G et un YoctoHub-Ethernet
Etant des modules réseaux, ils ont besoin d'une adresse IP pour fonctionner. Dans une configuration réseau standard, chaque adresse IP est distribuée automatiquement par DCHP à chaque équipement qui se présente sur le réseau. Vous, vous avez besoin de connaître cette adresse pour accéder à distance aux YoctoHubs. Pour cela vous aurez besoin du VirtualHub.
Le YoctoHub-Ethernet
Connectez le YoctoHub-Ethernet à votre réseau grâce à un câble UTP, et à votre ordinateur grâce à un câble USB. Ouvrez la fenêtre de statut correspondant aux YoctoHubs. Dans la section "Network" le champ Readiness doit être à "4-WWW ready" et vous trouverez l'adresse IP du Hub juste en dessous.
La section "Network" du Yocto-Ethernet
Le YoctoHub-Wireless
Pour un YoctoHub-Wireless-g, connectez l'antenne au module, et raccordez le YoctoHub à votre ordinateur par USB. Avec le VirtualHub, ouvrez la fenêtre de configuration du YoctoHub, dans la section "Network configuration", éditez les "WLAN settings", configurez la connexion Wifi en mode infrastructure, choisissez le bon réseau wifi et entrez le mot de passe WiFi. Une fois la connexion établie, vous connaîtrez l'adresse IP de votre YoctoHub-Wireless.
Configurer l'accès réseau du réseau YoctoHub-Wireless
Une fois votre YoctoHub en état de marche, vous pouvez le déconnecter de votre ordinateur et l'alimenter par sa prise USB avec, par exemple, un chargeur USB (5V, 2 ampères min.). Notez que le YoctoHub-Ethernet peut aussi être alimenté par PoE.
Lorsque configurez un YoctoHub par l'intermédiaire d'un connexion USB à votre PC, le VirtualHub ne vous montrera pas les modules qui sont connectés au YoctoHub. Pour accéder à ces sous-modules, il vous faudra vous connecter directement sur le YoctoHub avec un browser web. Par exemple si l'adresse IP de votre YoctoHub est 192.168.0.43, l'URL sera http://192.18.0.43:4444. Rappelez-vous, un YoctoHub fonctionne comme un ordinateur sur lequel tournerait un VirtualHub.
Si vous avez besoin de plus que 3 ports sur votre YoctoHub, vous pouvez en ajouter avec un ou plusieurs YoctoHub-Shield. Attention, les YoctoHubs ne marchent qu'avec des modules Yoctopuce, vous ne pourrez pas, par exemple, étendre le nombre de ports avec un simple hub usb.
La connexion entre les YoctoHubs et leur sous-modules est réalisée à l'aide de câbles USB micro-B/micro-B. Ce genre de câble n'est pas très courant, mais vous en trouverez sur le shop de Yoctopuce.
N'oubliez pas les câbles
Si vous avez oublié l'adresse IP d'un YoctoHub déjà installé, vous pouvez utiliser l'application Yocto-Discovery pour la retrouver.
Dernières remarques
Pour des raison techniques, il ne peut y avoir, sur la même machine, qu'une seule application à la fois qui accède aux modules Yoctopuce directement par USB. Le VirtualHub compte pour une application qui accède aux modules directement. Ainsi, si vous lancez une application qui utilise des modules Yoctopuce et que vous obtenez le message d'erreur Cannot register usb: Another process named xxx (pid xxxx) is already using yAPI, vérifiez que vous n'avez pas une autre application Yoctopuce ou encore le VirtualHub qui tourne déjà. Ceci dit, cette limitation peut facilement être contournée en utilisant un VirtualHub comme passerelle.
Si, finalement, il vous venait l'envie d'en savoir plus, vous trouverez toute une série d'articles détaillant les mille et un secrets des modules Yoctopuce sur cette page.