13. Utilisation du Yocto-IO en TypeScript
vous référenciez au moins une fois dans votre projet soit la variante
yocto_api_html.js
Notez que cet exemple importe la librairie au format CommonJS, le plus utilisé avec Node.JS à ce
jour, mais si votre projet est construit pour utiliser les modules natifs EcmaScript, il suffit de remplace
dans l'import le préfix
YAPI.RegisterHub
La méthode
RegisterHub
Yoctopuce, ou plus exactement la machine sur laquelle tourne le programme VirtualHub. Dans notre
cas l'adresse
127.0.0.1:4444
standard utilisé par Yoctopuce). Vous pouvez parfaitement changer cette adresse, et mettre
l'adresse d'une autre machine sur laquelle tournerait un autre VirtualHub, ou d'un YoctoHub. Si l'hôte
n'est pas joignable, la fonction déclanche une exception.
Comme expliqué précédemment, il n'est pas possible d'utiliser directement
en TypeScript, car la machine virtuelle JavaScript n'a pas accès directement aux
("usb")
périphériques USB. Elle doit nécessairement passer par le programme VirtualHub via une
connection par l'adresse 127.0.0.1.
YDigitalIO.FindDigitalIO
La méthode
FindDigitalIO
série de son module hôte et de son nom de fonction. Mais vous pouvez tout aussi bien utiliser des
noms logiques que vous auriez préalablement configurés. Imaginons un module Yocto-IO avec le
numéros de série YMINIIO0-123456 que vous auriez appelé "MonModule" et dont vous auriez
nommé la fonction digitalIO "MaFonction", les cinq appels suivants seront strictement équivalents
(pour autant que MaFonction ne soit définie qu'une fois, pour éviter toute ambiguïté):
digitalio
= YDigitalIO.FindDigitalIO("YMINIIO0-123456.digitalIO")
digitalio
= YDigitalIO.FindDigitalIO("YMINIIO0-123456.MaFonction")
digitalio
= YDigitalIO.FindDigitalIO("MonModule.digitalIO")
digitalio
= YDigitalIO.FindDigitalIO("MonModule.MaFonction")
digitalio
= YDigitalIO.FindDigitalIO("MaFonction")
YDigitalIO.FindDigitalIO
contrôler le port d'E/S digital.
isOnline
La méthode
isOnline()
correspondant est présent et en état de marche.
set_state
La méthode
set_portState()
d'affecter chacune des sorties en une seule fois. Le paramètre est un entier représentant un bitmap:
Bit 0 pour la première sortie, Bit 1 pour la deuxième, etc..
Un exemple concret, en Node.js
Ouvrez une fenêtre de commande (un terminal, un shell...) et allez dans le répertoire
example_nodejs/Doc-GettingStarted-Yocto-IO de la librairie Yoctopuce pour TypeScript. Vous y
trouverez un fichier nommé
expliquées précédemment, mais cette fois utilisées avec le décorum nécessaire à en faire un petit
programme d'exemple concret.
Si le Yocto-IO n'est pas branché sur la machine où fonctionne le navigateur internet, remplacez dans
l'exemple l'adresse
127.0.0.1
vous avez lancé le VirtualHub.
import { YAPI, YErrorMsg,
import {
YDigitalIO
94
.
par
yoctolib-cjs
yoctolib-esm
permet d'indiquer sur quelle machine se trouvent les modules
indique la machine locale, en utilisant le port
permet de retrouver un port d'E/S digital en fonction du numéro de
renvoie un objet que vous pouvez ensuite utiliser à loisir pour
de l'objet renvoyé par
de l'objet renvoyé par
avec le code d'exemple ci-dessous, qui reprend les fonctions
demo.ts
par l'adresse IP de la machine où est branché le Yocto-IO et où
YModule
} from 'yoctolib-cjs/yocto_api_nodejs.js';
} from
'yoctolib-cjs/yocto_digitalio.js'
yocto_api_nodejs.js
.
permet de savoir si le module
FindDigitalIO
YDigitalIO.FindDigitalIO
, soit
(le port
4444
RegisterHub
permet
www.yoctopuce.com