Utilisation des Yocto-Modules USB sans PC

Utilisation des Yocto-Modules USB sans PC

La plupart des exemples d'utilisation de nos modules publiés dans ce blog requièrent une connexion USB avec un ordinateur. C'est logique pour des modules USB, mais c'est quand même un peu contraignant. Même petits, les ordinateurs portables, prennent néanmoins de la place. On ne peut quand même pas consacrer un PC à chaque bricolage qui nous passe par la tête. Passons donc en revue les alternatives existantes ou qui pourraient exister...



Les mini-ordinateurs
Il existe toute une déclinaison de mini-ordinateurs pouvant être utilisés pour piloter des modules Yoctopuce. La version la plus luxueuse est certainement le Fit-PC qui, mis à part sa petite taille, a toutes les caractéristiques d'un PC... y compris le prix. A l'autre extrémité, le Raspberry Pi ne coûte que 35$, mais moins convivial et beaucoup plus lent. Notez qu'à ce jour, bien que la librairie Yoctopuce compile sans problème sur le Raspberry Pi, elle n'est pas encore utilisable en raison de paquets USB qui disparaissent quelque part entre le contrôleur USB et le kernel du Raspberry Pi... mais cela devrait normalement se régler sous peu, les développeurs de Raspberry y travaillent.

Le Fit-PC2
Le Fit-PC2


Le Raspberry Pi, monté avec deux modules
Le Raspberry Pi, monté avec deux modules



Les périphériques ouverts
Une autre alternative consiste à réutiliser le processeur disponible dans un périphérique standard du commerce et déjà allumé en permanence, comme un routeur ou un disque NAS. On trouve en effet maintenant de tels systèmes (comme le QNAP) fonctionnant sous Linux, offrant un accès shell et la possibilité d'y installer des programmes personnalisés. Les librairies de Yoctopuce ne nécessitant aucun driver propriétaire, elles peuvent être compilées sur ce genre de plateforme et ainsi éviter l'allocation d'une machine dédiée pour piloter des modules Yoctopuce.

Un disque réseau QNAP
Un disque réseau QNAP



Les passerelles réseau-USB
Pour les applications mettant en jeu différents modules dispersés dans un bâtiment pilotés par un unique programme, on préférerait éviter de mettre un CPU vers chaque module. Le standard USB n'étant pas conçu pour des distances supérieures à 5-10 mètres, l'idéal est de réutiliser une infrastructure réseau existante (ethernet ou WiFi). Pour cela, on peut utiliser des petits modules, disponibles dans le commerce, qui encapsulent le trafic USB sur un réseau IP. Moyennant l'installation d'un driver dans l'ordinateur central de commande, chacune de ces petites boîtes apparaît sur l'hôte comme un hub USB local, alors qu'il n'est connecté que par réseau. Comme les modules Yoctopuce utilisent un protocole basé sur le standard HID, ils ne posent normalement aucun problème de compatibilité avec ce genre de passerelles (toutes celles que nous avons testées fonctionnent correctement).

Une passerelle USB sur IP de Silex
Une passerelle USB sur IP de Silex



Le YoctoHub (attention: vaporware !)
Dans le meilleur des mondes, il existerait une solution plus adaptée aux modules Yoctopuce qu'une passerelle USB sur IP:
- plus compacte que les passerelles réseau-USB du commerce
- ne nécessitant pas l'installation de driver, et donc utilisable depuis un téléphone mobile
- utilisant un protocole plus efficace sur le réseau qu'une simple encapsulation
- si possible, capable de signaler par HTTP la présence d'événements prédéfinis (conditions sur les senseurs connectés).

En fait il s'agirait de l'équivalent physique du Virtual Hub: les librairies Yoctopuce: pourraient communiquer avec ces hubs de la même façon qu'elles communiquent avec des Virtual Hub distants.

La situation actuelle: pour accéder à des modules distants, il faut un deuxième ordinateur et un virtual hub
La situation actuelle: pour accéder à des modules distants, il faut un deuxième ordinateur et un virtual hub


Avec un YoctoHub, le deuxième ordinateur disparaît, mais le code de l'application de contrôle reste exactement le même.
Avec un YoctoHub, le deuxième ordinateur disparaît, mais le code de l'application de contrôle reste exactement le même.



Nous y travaillons depuis un certain temps, et espérons proposer ce produit d'ici quelques mois. Voici un petit aperçu de ce que nous préparons.

Le YoctoHub-Ethernet, vu de dessus
Le YoctoHub-Ethernet, vu de dessus



Le format de base est un rectangle de 5cm par 5,8cm, soit environ la taille de deux modules Yoctopuce standard. Nous développons une version sans fil, le YoctoHub-Wireless, et une version câblée, le YoctoHub-Ethernet. Cette dernière pourra être équipée en option d'un module Power-over-Ethernet (PoE), permettant d'alimenter directement le hub et tous les modules à travers le câble réseau, en utilisant le standard 802.3af.

Le YoctoHub-Wireless, vu de dessous
Le YoctoHub-Wireless, vu de dessous



Le YoctoHub-Wireless et le YoctoHub-Ethernet connectés au réseau permettront de brancher jusqu'à trois modules Yoctopuce. Un ou deux modules pourront être monté directement sur le hub de manière très compacte. Pour utiliser plus de modules, on pourra chaîner un ou plusieurs YoctoHub-Shield à l'aide d'un câble nappe connecté sur le côté. Chaque YoctoHub-Shield permettra de brancher jusqu'à quatre modules Yoctopuce supplémentaires, dont deux montés directement sur le shield.

Deux modules peuvent être fixés directement sur le YoctoHub-Wireless
Deux modules peuvent être fixés directement sur le YoctoHub-Wireless



Bien sûr, les YoctoHub n'existent pour l'instant qu'à l'état de prototypes, mais ils progressent un peu chaque semaine...

Commenter aucun commentaire
Retour au blog












Yoctopuce, get your stuff connected.