Surveillance de ma chaudière de chauffage central
Matériel
Depuis que je remplaçais le PC par un Pi, je n'ai répertorié ici que le matériel spécifique au Pi car l'unité de relais reste la même :
- Modèle B Pi
- Carte d'interface Piface Digital
- Adaptateur USB 1-Wire Dallas Semiconductor (Maxim) DS9490R
- Thermomètres à 1 fil Dallas Semiconductor (Maxim) DS18S20
Le schéma fonctionnel ci-dessous montre la disposition générale du matériel. Une interface vers un modem GSM pour l'envoi d'alertes SMS pourra être ajoutée ultérieurement.
Logiciel
Les programmes Raspberry Pi comprennent :
- Enregistreur d'événements - communique avec une carte numérique PiFace et enregistre l'état de trois entrées :alimentation secteur, fonctionnement de la pompe et allumage du brûleur. Il écrit les données d'événement dans un fichier quotidien.
- Enregistreur de température - communique avec le réseau 1-Wire et enregistre les températures à différents points de la chaudière et écrit les données dans un fichier quotidien.
- Programme CGI :ce programme est invoqué par Apache et génère un calendrier et affiche des graphiques des événements et des températures de la chaudière.
Les programmes ont tous été écrits à l'origine en C pour Windows et fonctionnaient sur un PC Dell GX11 exécutant Windows/2000 Server. L'enregistreur d'événements d'origine communiquait avec une carte d'interface USB Velleman K8055, mais comme la programmation était complètement différente de celle du PiFace, j'ai réécrit la majeure partie du programme.
L'enregistreur de température à 1 fil d'origine utilisait les DLL DalSemi mais le logiciel OWFS cache toute la complexité et ce programme a donc été principalement réécrit, à l'exception des sections d'E/S.
Le programme CGI est le plus complexe car il génère son propre calendrier et SVG en ligne pour le graphique à barres et le graphique, mais il s'est avéré être le plus facile à convertir avec seulement quelques modifications de codage. Ces changements remplaçaient les définitions de fonctions et les appels à _stat() (Windows) par statfs() (Linux) pour les statistiques du système de fichiers. J'ai également apporté quelques corrections au code qui se lisait dans les chaînes de caractères.
La structure du système de fichiers est montrée ici. Les répertoires standard Linux et Apache sont affichés en jaune; répertoires personnalisés en bleu. Tout se passe sous /1-wire avec les fichiers sources, les données d'événements et les données de température allant dans leurs propres sous-répertoires avec les démons qui collectent les données.
Étape 1
Créez la structure du répertoire :
sudo su
cd /
mkdir /1-fil
mkdir /1-wire/src
mkdir /1-wire/events
mkdir /1-fil/températures
Étape 2
Téléchargez et compilez les programmes :
wget http://www.noveldevices.co.uk/rpdl/logger.c -O /1-wire/src/logger.c
wget http://www.noveldevices.co.uk/rpdl/1-wire.c -O /1-wire/src/1-wire.c
wget http://www.noveldevices.co.uk/rpdl/server.c -O /1-wire/src/server.c
gcc -L/usr/local/lib -lpiface-1.0 -o /1-wire/events/logger /1-wire/src/logger.c -lm
gcc -L/usr/local/lib -o /1-wire/temperatures/1-wire /1-wire/src/1-wire.c -lm
gcc -L/usr/local/lib -o /usr/lib/cgi-bin/server /1-wire/src/server.c -lm
Étape 3
Téléchargez quelques exemples de fichiers de configuration et un fichier CSS :
wget http://www.noveldevices.co.uk/rpdl/1-wire.conf -O /1-wire/temperatures/1-wire.conf
wget http://www.noveldevices.co.uk/rpdl/server.conf -O /usr/lib/cgi-bin/server.conf
wget http://www.noveldevices.co.uk/rpdl/boiler.css -O /var/www/boiler.css
Étape 4
Le fichier 1-wire.conf contient des informations de configuration pour le programme 1-wire et pour le programme CGI qui crée les graphiques. Chaque entrée est décrite ci-dessous (l'ordre réel des enregistrements n'a pas d'importance) :
- [Interval]=n – intervalle d'interrogation en secondes, mais voir la note ci-dessous
- [DataDirectory]=répertoire où vous souhaitez que les fichiers de données soient écrits (avec un /) à la fin
- Pour chaque capteur :[DevicePath]=full-path-to-OWFS-directory-(with-trailing-/) plot-color sensor-description
plot-colour est une couleur Web standard comme #RRGGBB, #RGB CSS color.
sensor-description est une courte phrase qui doit apparaître sur le graphique de température
L'intervalle d'interrogation peut être n'importe quel nombre de secondes, mais vous devez garder à l'esprit que OWFS prend généralement deux secondes pour obtenir la température de chaque capteur. Le programme recalcule l'intervalle de temps réel en fonction de l'heure de début et de fin du processus de collecte de données afin que les heures de début de collecte ne dérivent pas.
Pour plus de détails : Monitoring de ma chaudière de chauffage central
Processus de fabrication
- Système de chauffage solaire
- Surveillance de la température sur le Raspberry Pi
- Contrôle de la température avec Raspberry Pi
- Surveillance à distance de la météo à l'aide de Raspberry Pi
- Surveillance du CO2 avec le capteur K30
- Portail de surveillance de la température sans contact
- Qu'est-ce qu'un élément chauffant en céramique ?
- 3 avantages majeurs de la surveillance à distance
- Optimiser l'efficacité énergétique avec des contrôleurs centraux et une surveillance à distance