7. Utilisation du Yocto-Meteo en JavaScript / EcmaScript
async function refresh()
{
let serial = document.getElementById('serial').value;
if(serial == '') {
// by default use any connected module suitable for the demo
let anysensor = YHumidity.FirstHumidity();
if(anysensor) {
let module = await anysensor.module();
serial = await module.get_serialNumber();
document.getElementById('serial').value = serial;
}
}
let temp = YTemperature.FindTemperature(serial+".temperature");
let hum
= YHumidity.FindHumidity(serial+".humidity");
let pres = YPressure.FindPressure(serial+".pressure");
if (await hum.isOnline()) {
document.getElementById('msg').value = '';
document.getElementById("temp").value = (await temp.get_currentValue()) + (await
temp.get_unit());
document.getElementById("hum").value
hum.get_unit());
document.getElementById("pres").value = (await pres.get_currentValue()) + (await
pres.get_unit());
} else {
document.getElementById('msg').value = 'Module not connected';
}
setTimeout(refresh, 500);
}
startDemo();
</script>
</head>
<body>
Module to use:
<input
<input
id='msg' style='color:red;border:none;' readonly><br>
temperature :
<input
humidity :
<input
pressure :
<input
</body>
</html>
Aucune installation n'est nécessaire pout utiliser cet exemple, il suffit d'ouvrir la page HTML avec un
navigateur web.
7.4. Contrôle de la partie module
Chaque module peut-être contrôlé d'une manière similaire, vous trouverez ci dessous un simple
programme d'exemple affichant les principaux paramètres d'un module et permettant d'activer la
balise de localisation.
"use
strict";
require('yoctolib-es2017/yocto_api.js');
async function startDemo(args)
{
await YAPI.LogUnhandledPromiseRejections();
// Setup the API to use the VirtualHub on local machine
let
errmsg
= new YErrorMsg();
if(await YAPI.RegisterHub('127.0.0.1', errmsg) != YAPI.SUCCESS) {
console.log('Cannot contact VirtualHub on 127.0.0.1:
return;
}
// Select the relay to use
let
module
= YModule.FindModule(args[0]);
if(await module.isOnline()) {
if(args.length
if(args[1] == 'ON') {
await module.set_beacon(YModule.BEACON_ON);
} else {
await module.set_beacon(YModule.BEACON_OFF);
44
id='serial'>
id='temp' readonly><br>
id='hum' readonly><br>
id='pres' readonly><br>
> 1) {
= (await hum.get_currentValue()) + (await
'+errmsg.msg);
www.yoctopuce.com