Mes passions, le boulots, mes coups de gueule...




Sonde DS18B20

Catégories : Domotique, Geek, Informatique, Raspberry Pi · par 20 Fév 2014

Après quelques jours d’essais concluants d’activations/désactivations de la chaudière par internet, je me suis mis en quête d’une sonde thermique pour lire, à distance, la température ambiante de mon appartement.

J’ai trouvé, sur eBay, pour une somme dérisoire (1,56€), une sonde thermique DS18B20.

sonde-DS18B20-01

C’est une sonde avec un data unifilaire (GND, VCC et DATA) sur laquelle il faudra souder une résistance de 4,7kΩ entre VCC et DATA.
Le shéma du raccordement au RPi est issu de ce site.

Ce site toujours, explique également comment activer les modules kernel GPIO et Therm et comment trouver l’ID de la sonde.

Grâce à cette sonde, et par l’intermédiaire d’un petit script chopé ici, je pourrai afficher la température ambiante.

<?php
//File to read
$file = '/sys/devices/w1_bus_master1/10-000802292522/w1_slave';

//Read the file line by line
$lines = file($file);

//Get the temp from second line
$temp = explode('=', $lines[1]);

//Setup some nice formatting (i.e. 21,3)
$temp = number_format($temp[1] / 1000, 1, ',', '');

//And echo that temp
echo $temp . " °C";
?>

Et une fois tout ça mis en page, voici ce que ça donne :

sonde-DS18B20-04

La présentation sous forme de bulles est réalisée en CSS. La source est ici.

A gauche la température du CPU du RPi et à droite celle de l’appartement qui est fictive actuellement.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.