Bonjour à tous,
débutant en NodeJS, j'ai monté un serveur me permettant de faire un peu de domotique simple.
En utilisant un raspberry pi et une sonde de température DS18B20, j'arrive à obtenir la température de la sonde dans un des fichiers du raspberry, à savoir
/sys/bus/w1/devices/28-00000017d858/temperature
Par exemple (il faut diviser par 1000 pour avoir la température en degré) :

Dans mon serveur NodeJS, j'utilise ceci, pour exporter la valeur vers une page web :
1 2 3 4 5 6 7
| console.log("echo")
var Temp_ext_1 = fs.readFileSync("/sys/bus/w1/devices/28-00000017d858/temperature");
Temp_ext_1_1000 = Temp_ext_1/1000;
Temp_arrondie=Math.round(Temp_ext_1_1000);
console.log(Temp_ext_1);
console.log(Temp_ext_1_1000);
console.log(Temp_arrondie); |
Normalement, en console, j'ai quelque chose comme ceci :
1 2 3 4
| echo
<Buffer 32 30 38 37 35 0a>
20.875
21 |
Mais depuis 2 semaines, j'ai souvent une sorte d'erreur de lecture ... :
Je ne comprend pas pourquoi cette erreur arrive alors que le ficher "temperature" reste du même type.
J'ai vérifié que le fichier "temperature" reste normal, même si ça affiche zero.
On dirait que ça arrive aléatoirement, mais l'affichage "du zéro" peut perdurer plusieurs heures avant de cesser.
Deux exemples du problème avec un relevé du fichier toutes les 2 secondes :

Avez-vous une idée de la cause du problème ?
Merci !
Edit :
C'est marrant : aujourd'hui, il y a une sorte de régularité. Alors que d'autre fois, j'ai plusieurs heures à zéro.
Capture d'écran avec un intervalle de 2 secondes, entre deux lectures du ficher "température" :
Partager