Thermostat connecté

De BigD's wiki
(Redirigé depuis Thermostat connecte)
Aller à : navigation, rechercher

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 :

  1. la partie matérielle avec la mise en place du circuit électronique.
  2. 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 :

  1. la patte 1 doit être reliée à la terre (GRND) de la RPI 2B
  2. la patte 2 doit être relié au GPIO4 de la RPI2B. Il s'agit du bus de donnée de la sonde
  3. 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 :

Test sonde temperature.png

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 :

Fichier: /boot/config.txt
 ... 
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

Fichier: /etc/modules
...
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>

    1. g## pi@raspberry ##!g####bl##~ $##!bl## ls /sys/bus/w1/devices/

28-0314686ad2ff

    1. 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 :

Test optocoupleurs.png