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 😉