Domotica per il risparmio energetico

35
Domotica per il controllo energetico: Autoprogrammazione del riscaldamento Giuseppe Salinaro

Transcript of Domotica per il risparmio energetico

Domotica per il controllo energetico:

Autoprogrammazione del riscaldamento

Giuseppe Salinaro

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).

Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 34 / 35

Dimostrazione

Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 35 / 35

Fine