On nous demande souvent comment il est possible de piloter nos modules USB depuis des langages comme Javascript. Alors une fois n'est pas coutume, on va faire un peu de slideware...
Nous fournissons, au format binaire et en code source, trois types de librairies pour piloter nos modules USB: les librairies natives complètes, les librairies dynamiques et les librairies natives nécessitant un hub virtuel.
La librairie native peut commander les modules USB Yoctopuce connectés à la machine locale en accédant directement à la couche matérielle de la machine, sans même nécessiter de driver. Le programmeur n'a qu'à utiliser la librairie dans son application, et l'utilisateur n'aura qu'à lancer cette dernière sans se soucier d'installer quoi que ce soit d'autre. Bref c'est la méthode la plus simple pour tout le monde.
utilisation d'une librairie native
Enfin, la plus simple pour tout le monde, sauf pour Yoctopuce. En effet développer une librairie native dans un langage particulier demande beaucoup de temps. C'est pourquoi la librairie native ne sera initialement disponible que pour C, C++ et Objective C.
Les librairies dynamiques constituent le deuxième type de librairies. Ces librairies (DLL sous Windows ou librairie .so sous Unix) servent à palier l'absence de libraire native dans certain langages comme Delphi. La DLL contient la librairie native écrite en C, et le programmeur code son application en utilisant l'interface de la DLL fournie dans son langage de programmation. Pour le programmeur, il n'y pas de grande différence, il devra simplement s'assurer que son application puisse accéder à la DLL une fois installés chez l'utilisateur final.
utilisation d'une librairie avec une DLL
Le troisième type de librairie est utilisée principalement dans les langages qui ne peuvent pas accéder à la couche matérielle de la machine, Javascript par exemple. La méthode consiste à faire tourner un petit programme hub virtuel, qui se chargera de fournir l'accès à la couche matérielle. Le programmeur utilise une librairie similaire aux précédentes mais qui se connectera au hub virtuel pour accéder indirectement au modules. Le programme hub virtuel peut soit être lancé directement soit être installé en service/deamon.
utilisation d'une librairie avec un hub virtuel
Accessoirement le hub virtuel offre aussi une interface Web qui permet de tester et configurer les modules en utilisant un simple browser web.
Quelle que soit le type de librairie utilisée, le code source de l'application pour piloter les modules est strictement identique. Petite cerise sur le gâteau, les trois types de librairie sont capables de se connecter par Ethernet à un hub virtuel pour accéder à des modules situés une machine distante. Ceci permet par exemple de connecter des modules à un PC minuscule, qui consomme peu, allumé en permanence, et d'y accéder à distance avec une machine normale.
Et en plus, n'importe que type de libraire peut se connecter à un hub virtuel