Température

ATTENTION : Vous devez avoir un noyau plus récent qu'un 3.2.27

Suivre ce schéma avec une résistance de 4.7K :
645px-Fritzing_rPI_DS1820.png

Insérer les modules kernel suivant :
pi@ras1:~$ sudo modprobe wire
pi@ras1:~$ sudo modprobe w1-gpio
pi@ras1:~$ sudo modprobe w1-therm 


Ensuite on vérifie que la Raspberry à bien détecter le capteur
pi@ras1:~$ cat /sys/bus/w1/devices/w1_bus_master1/w1_master_slave_count
1 


Lecture du nom de la sonde
pi@ras1:~$ cat /sys/bus/w1/devices/w1_bus_master1/w1_master_slaves
28-000003ea4852


lecture de la temperation en mili-degrées celsius:
pi@ras1:~$ cat /sys/bus/w1/devices/28-000003ea4852/w1_slave
81 01 4b 46 7f ff 0f 10 71 : crc=71 YES
81 01 4b 46 7f ff 0f 10 71 t=24062


Programme Perl afin d'afficher que la température :
#!/usr/bin/perl
$mods = `cat /proc/modules`;
if ($mods =~ /w1_gpio/ && $mods =~ /w1_therm/)
{
 print "w1 modules already loaded \n";
}
else 
{
print "loading w1 modules \n";
$mod_gpio = `sudo modprobe w1-gpio`;
$mod_them = `sudo modprobe w1-therm`;
}

$sensor_temp = `cat /sys/bus/w1/devices/28-*/w1_slave 2>&1`;
if ($sensor_temp !~ /No such file or directory/)
{
if ($sensor_temp !~ /NO/)
{
        $sensor_temp =~ /t=(\d+)/i;
        $tempreature = (($1/1000)-6); # My sensor seems to read about 6 degrees high, so quick fudge to fix value
      
        print "temp = $tempreature\n"; 
        exit;
}
die "Error locating sensor file or sensor CRC was invalid";

}