logInfo(myModule);
...
on peut utiliser:
function logInfoProxy(moduleSyncProxy)
{
console.log('Name:
console.log('Beacon:
}
logInfoSync(await myModule.get_syncProxy());
Ce dernier appel asynchrone peut aussi être formulé comme:
myModule.get_syncProxy().then(logInfoProxy);
15.3. Contrôle de la fonction RangeFinder
Il suffit de quelques lignes de code pour piloter un Yocto-RangeFinder. Voici le squelette d'un
fragment de code JavaScript qui utilise la fonction RangeFinder.
// En Node.js, on utilise la fonction require()
// En HTML, on utiliserait <script src="...">
require('yoctolib-es2017/yocto_api.js');
require('yoctolib-es2017/yocto_rangefinder.js');
[...]
// On active l'accès aux modules locaux à travers le VirtualHub
await YAPI.RegisterHub('127.0.0.1');
[...]
// On récupère l'objet permettant d'intéragir avec le module
let
rangefinder
= YRangeFinder.FindRangeFinder("YRNGFND1-123456.rangeFinder");
// Pour gérer le hot-plug, on vérifie que le module est là
if(await rangefinder.isOnline())
{
// Utiliser rangefinder.get_currentValue()
[...]
}
Voyons maintenant en détail ce que font ces quelques lignes.
Require de yocto_api et yocto_rangefinder
Ces deux imports permettent d'avoir accès aux fonctions permettant de gérer les modules
Yoctopuce.
yocto_api
les modules contenant un capteur de distance, comme le Yocto-RangeFinder. D'autres classes
peuvent être utiles dans d'autres cas, comme
de n'importe quel type de module Yoctopuce.
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.
YRangeFinder.FindRangeFinder
La méthode
FindRangeFinder
numéro de série de son module hôte et de son nom de fonction. Mais vous pouvez tout aussi bien
www.yoctopuce.com
'+moduleProxy.get_logicalName());
'+moduleProxy.get_beacon());
doit toujours être inclus,
YModule
permet d'indiquer sur quelle machine se trouvent les modules
indique la machine locale, en utilisant le port
permet de retrouver un capteur de distance en fonction du
15. Utilisation du Yocto-RangeFinder en JavaScript / EcmaScript
yocto_rangefinder
qui vous permet de faire une énumération
est nécessaire pour gérer
(le port
4444
113