1. Domotica per il controllo energetico:
Autoprogrammazione del riscaldamento
Giuseppe Salinaro
2. 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
3. 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
4. Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 4 / 35
Sommario
● Risparmio
● Alternative: Z-wave
● Alternative: Android Brillo & Nest
● Dimostrazione
● Conclusione
5. 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.
6. 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.
7. 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
8. 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
9. 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
10. 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)
11. 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)
12. 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.
13. 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.
14. 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.
15. 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.
16. 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
17. Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 17 / 35
Collegamento Fisico
18. Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 18 / 35
Schema circuito elettrico
19. 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
20. 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
21. 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,...).
22. 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)
23. Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 23 / 35
WebIOPi: Introduzione
24. 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
25. 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
26. 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
27. 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
28. 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
29. Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 29 / 35
WebIOPi: Interfaccia
30. 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.
31. 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.
32. 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.
33. 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).
34. Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 34 / 35
Dimostrazione
35. Domotica per il controllo energetico: Autoprogrammazione del riscaldamento 35 / 35
Fine