giovedì 28 Marzo 2024
Home / Domotica / Sistema di Controllo Riscaldamento con Raspberry Pi

Sistema di Controllo Riscaldamento con Raspberry Pi

L’idea che sta alla base del progetto è molto semplice: controllare un intero impianto di riscaldamento tramite un Raspberry Pi

 

“Materiali” utilizzati:

  • – Raspberry Pi Model B (in seguito chiamato RPi)
  • – Kit di 8 relè per Raspberry Pi comprato su eBay
  • – Box di legno autocostruita dove montare RPi e relè
  • – …
  • – Una buona dose di pazienza

Funzionamento riassunto

Può essere suddiviso in più “macrofunzioni”:

A) Mantenimento temperatura puffer
L’RPi è collegato ai sensori di temperatura all’interno del puffer, al fine di mantenerne una temperatura costante. Quando la temperatura dello stesso scende sotto alla soglia minima, accende la caldaia e la tiene accesa finché non supera la massima. In questo modo si assicura che la temperatura sia sempre compresa fra la MAX e la MIN impostate.

B) Mantenimento temperatura ambiente
L’impianto di riscaldamento della casa è diviso in 4 zone, da me chiamate “Pavimento”, “Camere”, “Bagni” e “Mansarda” in base alla divisione dei collettori del riscaldamento. Ognuna di queste zone è provvista di un (crono)termostato d’ambiente che, quando sente che la temperatura è inferiore a quella impostata, invia un segnale al RPi chiedendo di accendere il riscaldamento nella rispettiva zona. Quando l’RPi riceve tale segnale, attiva il relativo relè che fa partire la relativa pompa. Logicamente, se la temperatura del puffer è inferiore alla minima, non parte neanche il riscaldamento: non avrebbe senso far circolare nell’impianto acqua troppo fredda.

C) Logging dello stato su un Database e su dei file di testo
Ogni qualvolta l’RPi effettua dei cambiamenti nello stato dei relè (accende la caldaia, spegne il riscaldamento in una zona, etc) salva il nuovo stato all’interno di un database MySQL. Ciò mi permette quindi di sapere per ogni giorni quanto tempo è stata accesa la caldaia, quante ore è stato acceso il riscaldamento, e altri dati simili. Inoltre per ogni sensore e relè, ad ogni cambiamento aggiorna un file, che contiene quindi lo stato attuale del tutto.

D) API file per il controllo esterno
Ho creato dei file che ho svolgono la funzione di API: Il software di management li controlla costantemente e se questi file contengono determinati valori, il software si comporta di conseguenza. Per esempio tramite le API è possibile far accendere il riscaldamento in una determinata zona.

E) Memorizzazione delle pulizie
Dato che la caldaia da pellet necessita di una regolare pulizia (e dato che sono troppo pigro per ricordarmelo) ho creato una tabella nel database che memorizzasse tutte le volte che è stata pulita la caldaia.

F) Interfaccia WEB e relativa WebApp
Ovviamente tutti questi dati sarebbero inutili se non ci fosse una comoda interfaccia per consultarli. Ho infatti realizzato un’interfaccia web che mi permette di conoscere lo stato di tutto nonchè di attivare le suddette API per far partire il riscaldamento, nonchè consultare in manuera grafica e piacevole i dati contenuti su MySQL, fornendomi dei comodi grafici. Tutto questo comodamente dal mio pc o smartphone. L’interfaccia, essendo stata realizzata utilizzando BootStrap, è responsive pertanto mi è stato molto semplice, aggiungendo alcune righe di codice, realizzarla anche come WebApp

G) Gestione “smart” degli errori
Ogni qualvolta dovesse capitare un’eccezione nel software (N.B.: finora non è mai capitata), il software interrompe il suo lavoro, spegne tutto e genera un file di errore contenente tutte le informazioni sull’errore. Inoltre è disponibile un led il cui scopo è proprio quello di indicare eventuali errori: se lampeggia nel software si è verificata un’eccezione. Ultima chicca, oltre a ciò il software mi invia un SMS sul cellulare con tutte le informazioni sull’errore accaduto, cosi da poterlo risolvere nel tempo più breve possibile.

 

Schema elettrico

Il rettangolo blu rappresenta l’RPi
(Cliccare sull’immagine per ingrandirla)

Interfaccia Web

(Cliccare sulle immagini per ingrandirle)

Foto del lavoro ultimato

(Cliccare sulle immagini per ingrandirle)

Codice

Caldaia.py (software principale sempre in esecuzione)

More

Non tutto il progetto è stato esposto su questa pagina…. una gran parte è ancora in costruzione 😉
Giusto per darvi un’idea: indicazioni sul consumo, confronto consumo/ore accensione, confronto consumo/temperatura esterna

A proposito di Bob

Studente, maker, programmatore, RPi lover

Vedi Anche

MagPi 135 doppia pagina

MagPi in Italiano! Raspberry Pi 5 Speciale Lancio!

Estratto, tradotto in italiano, di The MagPi N°135, la rivista ufficiale della Fondazione Raspberry Pi.

Powered by themekiller.com