Domotique FabLab Robert-Houdin: les températures

Domotique FabLab Robert-Houdin: les températures

> Les Projets > Domotique FabLab Robert-Houdin: les températures

Les températures

Comment obtenir les info

ça, c’est le problème classique. Un DS18S20 qui trainais est utilisé.

Une recherche sur internet qui fourni la page qui va bien: 1wire

Donc la capteur est connecté sur GPIO4. Les modules sont installés par défaut.

pi@raspberrypi ~ $ ls /sys/bus/w1/devices
10-00080123e2a9 w1_bus_master1
pi@raspberrypi ~ $ cat /sys/bus/w1/devices/10-00080123e2a9/w1_slave
18 00 4b 46 ff ff 0f 10 3a : crc=3a YES
18 00 4b 46 ff ff 0f 10 3a t=11812

température: 11.812°C : précis et froid !

Autre information: le Raspberry intégre une sonde de température.
Il suffit de regarder dans “/sys/class/thermal/thermal_zone0/temp”

pi@raspberrypi ~/FabLab $ cat /sys/class/thermal/thermal_zone0/temp
34704

Leur utilisation

Maintenant que ces températures sont disponibles, il faut les “logger”.

Un petit script python est crée pour la peine:

#!/usr/bin/python

import datetime

# Log temp value in temps.log

# 2014/11/02 Creation by EGo
# 2014/11/08 Added /sys/class/thermal/thermal_zone0/temp

f = open("/sys/bus/w1/devices/10-00080123e2a9/w1_slave", "r")
line = f.readline()
line = f.readline()
f.close()

f = open("/sys/class/thermal/thermal_zone0/temp", "r")
line2 = f.readline()
f.close()

t = datetime.datetime.now().strftime("%Y-%m-%dT%H:%M:%S")
print t+"       ",float(line[29:])/1000,"       ",float(line2)/1000

Assez simple en fait. Il ouvre les fichiers qui vont bien, et print les données avec la date et l’heure. Ne pas oublier de lui ajouter les droits d’exécution:

pi@raspberrypi ~/FabLab $ chmod +x getTemps.py

Ce qui nous donne l’exécution suivante (attention à l’heure dans le fuseau qui nous concerne):

pi@raspberrypi ~/FabLab $ TZ='Europe/Paris'; export TZ; ./getTemps.py
2014-12-02T18:55:41     12.0    34.166

On y est presque: reste plus qu’à utiliser le “cron” pour appeler cette commande toutes les 10 minutes:

pi@raspberrypi ~/FabLab $ sudo crontab -e

La ligne qui nous intéresse est la suivante:

*/10 * * * * TZ='Europe/Paris'; export TZ; /home/pi/FabLab/getTemps.py >> /home/pi/FabLab/temps.log

Le fichier “~/FabLab/temps.log” contient donc nos lignes:

pi@raspberrypi ~/FabLab $ tail temps.log
2014-12-02T17:30:02     12.125  34.166
2014-12-02T17:40:02     12.0    34.166
2014-12-02T17:50:02     12.0    34.166
2014-12-02T18:00:03     12.062  34.166
2014-12-02T18:10:02     12.062  34.166
2014-12-02T18:20:02     12.25   34.166
2014-12-02T18:30:02     12.125  34.166
2014-12-02T18:40:03     12.062  33.628
2014-12-02T18:50:02     12.0    34.166
2014-12-02T19:00:02     12.0    34.166

Mise à jour (12/12/14) suite aux oublis fréquents de la cafetière: un capteur ‘spécial cafetière’ a été ajouté !

Le script ‘getTemps.py’ a été ajouté, ainsi que le script dans la page index.php…

On peut donc maintenant détecter la cafetière allumée le soir, et prochainement envoyer un SMS à Daniel 😉

Partager l'article

Vous aimerez aussi...