domotica per il risparmio energetico
TRANSCRIPT
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 2 / 35
Sommario
● Introduzione● Obiettivi● Idea di base● Componenti del sistema● Esempio installazione● Collegamento fisico● Schema circuito elettrico
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 3 / 35
Sommario
● WebIOPi: Introduzione
● WebIOPi: Installazione
● WebIOPi: Prerequisiti
● WebIOPi: Configurazione Server
● WebIOPi: Avvio server
● WebIOPI: Script Python
● WebIOPi: HTML/Javascript
● WebIOPi: Interfaccia
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 4 / 35
Sommario
● Risparmio
● Alternative: Z-wave
● Alternative: Android Brillo & Nest
● Dimostrazione
● Conclusione
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 5 / 35
Introduzione
Domotica
-Unione delle parole domus ("casa") +robotica
-Scienza interdisciplinare che si occupa dello studio delle tecnologie atte a migliorare la qualità della vita nella casa e più in generale negli ambienti antropizzati.
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 6 / 35
Introduzione
SmartHouse
La casa intelligente può essere controllata dall'utilizzatore tramite opportune interfacce utente, che realizzano il contatto (invio di comandi e ricezione informazioni) con il sistema intelligente di controllo, basato su un'unità computerizzata centrale.
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 7 / 35
Obiettivi
● Controllare l'impianto termico di una abitazione da remoto
● Permettere una autoregolazione dell'impianto in base ai gusti/usi dell'utente
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 8 / 35
Idea di base
● Realizzare un sistema centralizzato di gestione della temperatura domestica
● Fornire ogni stanza di un sensore di temperatura
● Regolare la chiusura/apertura della valvola del termosifone al raggiungimento,o no, della temperatura scelta
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 9 / 35
Idea di base
Funzionamento:● L'utente imposta una temperatura● Ciascun sensore monitorizza la temperatura
della stanza● Al raggiungimento della temperatura settata il
sistema invia l'impulso al comando elettrotermico e chiude la valvola del termosifone
● Ciascun utente può monitorare il tutto via web
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 10 / 35
Componenti del sistema
● Raspberry● Sensore di temperatura digitale DS18B20● Relay● Comando elettrotermico● WebIOPi (framework web)
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 11 / 35
Componenti del sistema
Raspberry Pi
Il Raspberry Pi è un single-board computer (un calcolatore implementato su una sola scheda elettronica)
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 12 / 35
Componenti del sistema
Sensore di temperatura Digitale DS18B20
Il sensore DS18B20 è una una sonda in grado di rilevare una temperatura compresa nel campo -55°C÷125°C con un’accuratezza di ±0.5°C nel campo -10°C÷85°C. Il campionamento della temperatura è effettuato su 12 bit in virgola fissa con 4 cifre decimali.
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 13 / 35
Componenti del sistema
Relay
Il relè è un dispositivo elettrico comandato dalle variazioni di corrente per influenzare le condizioni di un altro circuito. In sostanza, il relè è un deviatore che non viene azionato a mano, ma da un elettromagnete.
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 14 / 35
Componenti del sistema
Comando elettrotermico
Il comando elettrotermico è un impulto elettrico che fa aprire o chiudere una valvola in base alla temperatura rilevata dal sensore termico remoto.
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 15 / 35
Componenti del sistema
WebIOPi
Webiopi è un framework open-source per controllare la componente GPIO della Raspberry Pi.
Il General Purpose Input/Output (anche noto come GPIO) è un'interfaccia disponibile su alcuni dispositivi elettronici che può agire come input, per leggere i segnali digitali dalle altre parti del circuito, o output, per controllare o segnalare agli altri dispositivi.
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 16 / 35
Esempio d'installazione
Come esempio d'installazione ho voluto realizzare un circuito per 2 sole stanze composto da:
● 2 sensori temperatura (uno per ogni stanza)
● 2 led di colore differenti per feedback visivo (uno per ogni stanza)
● 2 relé dove è possibile poi collegare direttamente il comando elettrotermico
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 17 / 35
Collegamento Fisico
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 18 / 35
Schema circuito elettrico
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 19 / 35
Schema circuito elettrico
Legenda GPIO:
● Led1 rosso pin17
● Led2 giallo pin18
● Relay1 pin24
● Relay2 pin23
● Sensori temperatura pin4
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 20 / 35
WebIOPi: Installazione
WebIOPi è sviluppato e testato su Raspbian.Ha solo bisogno di python 2.7 o 3.2.Scarica,poi estrai e installa WebIOPi:
$ tar xvzf WebIOPi-x.y.z.tar.gz
$ cd WebIOPi-x.y.z
$ sudo ./setup.sh
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 21 / 35
WebIOPi: Prerequisiti
1)Se non già fatto installa WebIOPi sul tuo raspberry pi
2)Crea una cartella sul tuo Pi /home/pi/myproject. Questa è la cartella principale.
3)Crea un'altra cartella “python” nella cartella precedentemente creata. Qui inseriremo lo script Python.
4)Crea un'altra cartella “html” accanto alla cartella “python”. Qui inseriremo l' HTML e altre risorse(javascript,css,...).
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 22 / 35
WebIOPI: Introduzione
WebIOPi include un server HTTP che fornisce sia risorse HTML e sia REST API per controllare le componenti.Il tuo browser carica prima un html che include uno script javascript che invoca le REST API per controllare e aggiornare l'interfaccia.
Per l'utilizzo bisogna:
● Scrivere un semplice script Python per inizializzare le GPIO
● Scrivere una semplice pagina HTML/Javascript
● Configurare il server (con directory di lavoro)
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 23 / 35
WebIOPi: Introduzione
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 24 / 35
WebIOPi: Configurazione Server
Aggiungere i sensori di temperatura nel file di configurazione del server (/etc/webiopi/config):
[DEVICES]
# Setup a DS18B20 with 1-Wire slave 28-0000049bc218
tmp1 = DS18B20 slave:28-0000049bc218
Trovare i seriali dei sensori di temperatura nel terminale linux:
sudo modprobe w1-gpio
sudo modprobe w1-therm
cd /sys/bus/w1/devices
ls
cd28-xxxx (da cambiare in base al seriale che esce)
cat w1_slave
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 25 / 35
WebIOPi: Avvio Server
Avvio Server:
$ sudo /etc/init.d/webiopi start
Stop Server:
$ sudo /etc/init.d/webiopi stop
Avvio Server con debug:
$ sudo webiopi -d -c /etc/webiopi/config
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 26 / 35
WebIOPi: Script Python
Lo script viene eseguito ad avvio del server e contiene 3 funzioni standard:
● Def setup(), per inizializzazione del sistema e s'avvia all'avvio dello script
● Def loop(), parte di codice da eseguire ricorsivamente durante il funzionamento del server
● Def destroy(), per reimpostare il sistema all'arresto dello script/server
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 27 / 35
WebIOPi: Script Python
Prevede importazione libreria GPIO:
import webiopi
GPIO = webiopi.GPIO
Impostazione GPIO in uscita:
GPIO.setFunction(led1, GPIO.OUT)
Cambio stato GPIO:
GPIO.digitalWrite(led, GPIO.LOW) Spento
GPIO.digitalWrite(led, GPIO.HIGH) acceso
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 28 / 35
WebIOPi: HTML/Javascript
Attraverso i componenti della libreria javascript webiopi è molto semplice controllare e gestire “dinamicamente” la parte server.
Inoltre per la comunicazione e per l'impostazione del server attraverso il client HTML viene data la possibilità di creare macro(lato server) e, attraverso GET e POST, intervenire su di esse.
Esempio macro lato server:
@webiopi.macro
def getTempInit():
return "%.2f,%.2f" % (tempera0, tempera1)
Restituisce le temperature impostate nel server nel client HTML
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 29 / 35
WebIOPi: Interfaccia
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 30 / 35
Risparmio
Consideriamo il caso di un piccolo appartamento di circa 60-70 mq con 5 vecchi termosifoni cui applicare le valvole termostatiche.Supponendo che la nostra spesa annua per il riscaldamento con il nostro impianto autonomo sia di 1.000 euro.
L'adozione delle valvole termostatiche permette tipicamente un risparmio del 10-20% l'anno.
Nel caso di un appartamento più grande e di più termosifoni coinvolti il guadagno sotto forma di risparmio può essere ancora maggiore.
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 31 / 35
Alternative: Z-wave
Z-Wave è un protocollo wireless progettato appositamente per la domotica, il cui ambito di utilizzo comprende l’automazione negli ambienti residenziali, commerciali, ricettivi e assistenziali e le cui applicazioni spaziano dalla domotica alla telesorveglianza e alla telemedicina, per continuare con l'intrattenimento domestico, il controllo accessi, i sistemi di efficientamento e di risparmio energetico.
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 32 / 35
Alternative: Z-wave
Living Connect ® di Danfoss è un termostato da radiatore controllato elettronicamente con Z-Wave.
La temperatura può essere regolata via wireless al valore di riferimento determinato.
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 33 / 35
Alternative: Android Brillo & NEST
Google ha annunciato Brillo, un nuovo sistema operativo per interfacciare il mondo degli oggetti ai dispositivi mobile, e WEAVE, una serie di API che si rivolge all'internet delle cose.
Google Brillo si basa su un kernel che deriva direttamente da quello di Android, ridotto naturalmente all'osso per poter essere integrato su dispositivi di piccolissime dimensioni non troppo capaci sul versante hardware.
Ad interfacciarsi con Brillo, e non solo, troveremo WEAVE, una serie di API che servono a creare uno standard per le comunicazioni fra i dispositivi interconnessi (tra cui Nest).