console.log('Using device
gps
= YGps.FindGps(serial+".gps");
refresh();
}
async function refresh()
{
if (!await gps.isOnline()) {
console.log('Module not
} else if (await gps.get_isFixed() != YGps.ISFIXED_TRUE) {
console.log('fixing...');
} else {
console.log('Position :
+
' '
}
setTimeout(refresh, 500);
}
startDemo();
Comme décrit au début de ce chapitre, vous devez avoir installé Node.js v7.6 ou suivant pour
essayer ces exemples. Si vous l'avez fait, vous pouvez maintenant taper les deux commandes
suivantes pour télécharger automatiquement les librairies dont cet exemple dépend:
npm install
Une fois terminé, vous pouvez lancer votre code d'exemple dans Node.js avec la commande
suivante, en remplaçant les [...] par les arguments que vous voulez passer au programme:
node demo.js
[...]
Le même exemple, mais dans un navigateur
Si vous voulez voir comment utiliser la librairie dans un navigateur plutôt que dans Node.js, changez
de répertoire et allez dans example_html/Doc-GettingStarted-Yocto-GPS-V2. Vous y trouverez un
fichier html, avec une section JavaScript similaire au code précédent, mais avec quelques variantes
pour permettre une interaction à travers la page HTML plutôt que sur la console JavaScript
<!DOCTYPE html>
<html>
<head>
<meta
charset="UTF-8">
<title>Hello
World</title>
<script
src="../../lib/yocto_api.js"></script>
<script
src="../../lib/yocto_gps.js"></script>
<script>
async function startDemo()
{
await YAPI.LogUnhandledPromiseRejections();
await YAPI.DisableExceptions();
// 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) {
alert('Cannot contact VirtualHub on 127.0.0.1: '+errmsg.msg);
}
refresh();
}
async function refresh()
{
let serial = document.getElementById('serial').value;
if(serial == '') {
// by default use any connected module suitable for the demo
let anysensor = YGps.FirstGps();
if(anysensor) {
let module = await anysensor.module();
serial = await module.get_serialNumber();
document.getElementById('serial').value = serial;
}
}
www.yoctopuce.com
'+serial);
connected');
'+(await gps.get_latitude())
+ (await gps.get_longitude()));
7. Utilisation du Yocto-GPS-V2 en JavaScript / EcmaScript
47