Thermostat connecté
Sommaire
Présentation du projet
Ce projet de domotique consiste à réaliser un thermostat connecté afin de piloter deux radiateurs électrique par leur fil pilote. L'idée est de disposer d'un thermostat accessible sur Internet (dans une certaine mesure bien entendu) pour pouvoir allumer, éteindre ou modifier à distance la température du logement.
La réalisation du prototype se fait en deux étapes :
- la partie matérielle avec la mise en place du circuit électronique.
- la partie logicielle (IHM) avec l'application qui gèrera le pilotage des radiateurs.
Principe de fonctionnement d'un thermostat
Liste du matériel et des composants
- 1 raspberry PI 2 B
- 4 optocoupleurs MOC3041M
- 4 diodes UF4007
- 1 sondes de température DS18S20
- 1 breadboard
Ci-après un tableau récapitulatif et relativement exhaustif du coût des composants :
Composant | Prix unitaire | Quantité | Prix total |
---|---|---|---|
Raspberry PI 2 B | 39,00 € | 1 | 39,00 € |
Optocoupleur MOC3041M | 0,40 € | 4 | 1,60 € |
Diode UF4007 | 0,25 € | 4 | 1,00 € |
Sonde de température DS18S20 | 8,69 € | 1 | 8,69 € |
Breadbord | 9,45 € | 1 | 9,45 € |
Total | 59,74 € |
Réalisation du prototype
Installation du Raspberry PI
Fonctionnement du capteur de température
Mise en place du câblage
Le capteur de température est une sonde Dallas DS18S20. La documentation technique est disponible ici: Fiche technique DS18S20. Le principe de fonctionnement est simple :
- la patte 1 doit être reliée à la terre (GRND) de la RPI 2B
- la patte 2 doit être relié au GPIO4 de la RPI2B. Il s'agit du bus de donnée de la sonde
- la patte 3 doit être reliée à l'alimentation 3,3V ou 5V de la RPI 2B
Il faudra également mettre une résistance de 4,7 kΩ entre la patte 2 et 3.
Voici le schéma de câblage permettant de raccorder la sonde de température au RPI 2B :
Configuration logicielle
Côté RPI 2B, un minimum de configuration est nécessaire.
Dans le fichier /boot/config.txt, il faut ajouter la ligne suivante :
... dtoverlay=w1-gpio
De plus, il faut activer deux modules noyau au démarrage de la machine en ajoutant les lignes suivantes dans le fichier /etc/modules.conf
... w1_therm w1-gpio
Cela aura pour effet d'activer la communication 1-wire sur la RPI 2B. Un redémarrage de la RPI 2B est nécessaire.
Une fois démarrée, dans la RPI 2B, la sonde devrait être détecté. Pour cela, suivre les commandes suivantes
<console>
- g## pi@raspberry ##!g####bl##~ $##!bl## ls /sys/bus/w1/devices/
28-0314686ad2ff
- g## pi@raspberry ##!g####bl##~ $##!bl## cat /sys/bus/w1/devices/28-0314686ad2ff/w1_slave
7b 01 55 00 7f ff 0c 10 92 : crc=92 YES 7b 01 55 00 7f ff 0c 10 92 t=23687 </console>
Le nom du dossier 28-0314686ad2ff est le numéro de série de la sonde de température. La seconde commande permet d'afficher la température. Dans la capture ci-dessus, la température est indiquée par t=23687 soit 23,687 °C (il faut diviser la valeur de t par 1000 donc).
Fonctionnement des optocoupleurs
Voici le schéma de câblage de la platine avec un RPI 2B pour commander le fil pilote du radiateur :