}
// Select the I2C interface to use
let target;
if(args[1] == "any") {
let
anyI2c
if
(anyI2c
console.log("No module connected (check USB
process.exit(1);
}
let
module
target
= await module.get_serialNumber();
} else {
target
= args[1];
}
let
i2cPort
= YI2cPort.FindI2cPort(target+'.i2cPort');
if(await i2cPort.isOnline()) {
// sample code reading MCP9804 temperature sensor
await i2cPort.set_i2cMode("400kbps");
await i2cPort.set_i2cVoltageLevel(YI2cPort.I2CVOLTAGELEVEL_3V3);
await i2cPort.reset();
// do not forget to configure the powerOutput of the Yocto-I2C
// (for MCP9804 powerOutput need to be set at 3.3V)
console.log("****************************");
console.log("* make sure voltage levels
console.log("* are properly configured
console.log("****************************");
let
toSend
let
received
let
tempReg
if(tempReg
tempReg
} else {
tempReg
}
console.log("Ambiant temperature: "
} else {
console.log("Module not connected (check identification and USB
}
await YAPI.FreeAPI();
}
if(process.argv.length
console.log("usage: node demo.js
console.log("
console.log("
} else {
startDemo(process.argv.slice(process.argv.length
}
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-I2C. 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
www.yoctopuce.com
= YI2cPort.FirstI2cPort();
== null) {
= await anyI2c.get_module();
= [0x05];
= await i2cPort.i2cSendAndReceiveArray(0x1f, toSend, 2);
= (received[0] << 8) + received[1];
& 0x1000) {
-= 0x2000;
// perform sign extension
&= 0x0fff;
// clear status bits
< 3) {
<serial_number>");
node demo.js
<logical_name>");
node demo.js any
16. Utilisation du Yocto-I2C en JavaScript / EcmaScript
cable)\n");
*");
*");
+
(tempReg
/ 16.0).toString());
(use any discovered
- 2));
cable)\n");
device)");
129