Surveillance de la température

, par  AntoineVe , popularité : 2%

« thermometer », CC-0 (openclipart)

« thermometer », CC-0 (openclipart)

Surveiller les différentes températures des pièces d’une maison peut-être très intéressant d’un point de vue économique (et écologique), par exemple si l’on intègre ensuite dans le système un contrôle individuel des radiateurs (au moyen d’électro-vannes) pour éviter de chauffer quand ce n’est pas nécessaire. On pourrait très bien imaginer baisser les températures de la cuisine, du salon, de la salle de bain la nuit, et inversement celle des chambres la journée.

La première étape est donc la surveillance des différentes températures. Le protocole 1-wire est parfaitement adapté à ce type d’utilisation. Afin de récupérer les températures, des sondes « DS18B20 » sont utilisées. La connexion à l’ordinateur s’effectue en USB vie l’interface USB–RJ11 « DS9490R ».

Câblage

Pour le câble, j’ai utilisé un simple cordon de raccordement téléphonique. Attention tout de même, la prise RJ-11 pré-montée n’était pas connectée comme je le souhaitais ! En effet, seul les pins 2,3,4 et 5 étaient reliés, or pour pouvoir bénéficier de l’alimention 5V fournie par l’USB il faut le pin 1. Les connexions sont :

  • pin 1 : VDD : + 5V (pour alimenter les sondes)
  • pin 2 : GND : masse de l’alimentation
  • pin 3 : OW : les données 1-Wire
  • pin 4 : OW_GND : retour 1-Wire
  • pin 5 : mise en veille USB (je ne sais pas vraiment à quoi ça peut servir…)
  • pin 6 : non utilisé

J’ai conservé le « mauvais » câble RJ-11 à fin de test, en utilisant le mode parasite des capteurs : l’alimentation et les données utilisent le même cable. Utile pour faire des tests, mais avec un câble trop long où plusieurs sonde les relevés de température deviennent imprécis, voir incohérents. En mode parasite, il nous faut donc simplement les pin 3 et 4 du RJ-11, en connectant la sonde comme le montre la figure 2 ci-dessous. La figure 1 représente la connexion avec la VDD indépendante.

Figure 1 : connexion normale


Figure 2 : connexion en mode parasite

Afin d’avoir le plus de flexibilité, je soude mes sondes DS18B20 avec les 3 pattes indépendante, et je relis au moyen d’un domino au RJ-11. Pour le mode parasite, je fais un pont dans le domino.

Figure 3 : soudure des pattes du DS18B20.

Figure 3 : soudure des pattes du DS18B20.

Si vous êtes pire que moi en soudure (et je suis loin d’être vraiment bon, comme le montre la figure 3 !), il existe des sonde pré-cablées.

Afin d’éviter un court-circuit, j’isole la connexion en enrobant le tout de cire. En plus, cela permet un meilleur maintien des soudures.

Figure 4 : enrobage de cire.

Figure 4 : enrobage de cire.

Logiciel

Pour le logiciel, j’ai installé owfs. Ce programme crée une structure de répertoire et de fichier facilitant la manipulation des données 1-Wire. Une fois installé et la sonde relié à l’interface USB, je monte le système de fichier owfs :

# mkdir /mnt/owfs
# owfs -u /mnt/owfs/ --allow_other

On peut donc ensuite lire données des capteurs. Par exemple, pour le capteur ID D0E857040000 :

$ cat /mnt/owfs/28.D0E857040000/temperature
23.475

Oui, c’est précis, et à ce niveau de précision le temps de réponse n’est pas fameux (1097 ms). Pour accélérer les choses, on peut lire plutôt « fasttemp » (le temps de réponse descend alors à 6 ms).

$ cat /mnt/owfs/28.D0E857040000/fasttemp
23.5

Voici une ligne de commande qui me donne :

  • l’ID du capteur
  • la date (au format unix)
  • la température
$ echo cat /mnt/owfs/28.D0E857040000/id";"date +%s";"cat /mnt/owfs/28.D0E857040000/fasttemp | sed 's/\ //g'

cette ligne permet, par exemple, de créer un fichier CVS.

Avec un peu de gnuplot on peut par exemple obtenir ce genre de graphique :

Graphique réalisé à l'aide d'un script gnuplot

Graphique réalisé à l’aide d’un script gnuplot

À suivre : plusieurs capteurs, du php/mysql, et une interface web pour voir des belles courbes de températures.

Sources

Cet article est repris du site http://antoine.van-elstraete.net/?p=1060

Publications Derniers articles publiés

Sites favoris Tous les sites

84 sites référencés dans ce secteur