Utilisation du OneWire ( capteur de température type DS18B20)

La carte Raspberry gère nativement le protocole OneWire, pour cela il faut l'activer (Configuration du Raspberry Pi)

MéthodeConnecter le capteur OneWire DS18B20

Câblage du capteur :

Fil rouge au +3.3V

Fil noir à la Masse (ground)

Fil jaune (signal) sur la broche GPIO4

Une résistance de pull-up est connectée entre le signal et le 3.3V.

Méthode

La température mesurée est stockée dans 2 fichiers (virtuels) textes :

  • "temperature"

  • "w_slave"

Ces deux fichiers sont dans le répertoire "/sys/bus/w1/devices/28-xxxxxxxxxxx(le nom du dernier dossier dépend de l'adresse du capteur)

Vous pouvez lire le contenu de ces fichiers avec la commande "cat"

L'exemple de code ci-dessous permet de récupérer la valeur numérique de la température dans le fichier w1_slave , de la stocker dans la variable tdep et de l'afficher sur la console .

1
//  exemple de lecture d'un ds18B20 cablé sur la raspberry     
2
        var tdep= 1.1 ;   // pour la température 
3
        var data = fs.readFileSync('/sys/bus/w1/devices/28-051690a1a5ff/w1_slave');
4
        var temp = parseFloat(data.toString('ascii').match(/t=([0-9]+)/)[1]) / 1000;
5
        tdep= Math.round(temp*10)/10; // arrondi au 1/10°  
6
        console.log("La température locale est "+tdep+" °C" );   // afficher la température sur la console