wattsup: monitoraggio energetico su...

90
POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica Tesi di Laurea Specialistica wattsUP : monitoraggio energetico su Android Relatori: Prof. Fulvio Corno Dott. Luigi De Russis Candidato: Daniele Antoci Matr. 162882 Dicembre 2012

Upload: others

Post on 30-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

POLITECNICO DI TORINO

III Facoltà di IngegneriaCorso di Laurea Specialistica in Ingegneria Informatica

Tesi di Laurea Specialistica

wattsUP : monitoraggioenergetico su Android

Relatori:Prof. Fulvio CornoDott. Luigi De Russis

Candidato:Daniele AntociMatr. 162882

Dicembre 2012

Page 2: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea
Page 3: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

Ringraziamenti

Desidero innanzitutto ringraziare i miei relatori, il Prof. Fulvio Corno e ilDott. Luigi De Russis, per la disponibilità dimostratami e per avermi accom-pagnato durante il lavoro di tesi con preziosi ed efficaci consigli.Il ringraziamento più grande va a tutta la mia famiglia, per avermi sem-pre incoraggiato e sostenuto in questo lungo percorso universitario. Grazieai miei genitori, punto di riferimento e maestri di vita. Grazie a Dario,fratello maggiore come pochi, sempre presente nei momenti più difficili, masoprattutto in quelli più belli.Infine non posso dimenticare di ringraziare gli amici per aver condiviso siamomenti di serietà e studio, che momenti di divertimento. Grazie a quellinuovi, che quest’esperienza da studente fuori sede ha deciso di regalarmi, ea quelli di sempre, per essere costantemente presenti nonostante la distanzae il trascorrere degli anni.

i

Page 4: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

Indice

1 Introduzione 11.1 Contesto generale . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 La Domotica e la Building Automation . . . . . . . . . . . . . 2

1.2.1 Differenze tra impianti tradizionali ed impianti domotici 21.2.2 Vantaggi e campi di applicazione . . . . . . . . . . . . 41.2.3 Protocolli di comunicazione standard vs. protocolli

proprietari . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Struttura della tesi . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Obiettivi 8

3 Tecnologia utilizzata 173.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2 Ambiente domotico utilizzato . . . . . . . . . . . . . . . . . . 17

3.2.1 Dog . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.2.2 DogOnt . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.3 Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.3.1 Risorse per gli sviluppatori . . . . . . . . . . . . . . . . 253.3.2 Android SDK . . . . . . . . . . . . . . . . . . . . . . . 28

3.4 XML-RPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4 Design 334.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.2 Scelte progettuali e funzionalità . . . . . . . . . . . . . . . . . 35

4.2.1 Le stanze . . . . . . . . . . . . . . . . . . . . . . . . . 384.2.2 Informazioni sui device più energivori . . . . . . . . . . 394.2.3 Impostazioni . . . . . . . . . . . . . . . . . . . . . . . . 404.2.4 Gestione della colorazione . . . . . . . . . . . . . . . . 414.2.5 Visualizzazione allarme . . . . . . . . . . . . . . . . . . 43

4.3 Realizzazione dell’interfaccia utente . . . . . . . . . . . . . . . 444.3.1 La disposizione delle stanze . . . . . . . . . . . . . . . 454.3.2 Visualizzazione delle stanze . . . . . . . . . . . . . . . 484.3.3 Elementi grafici . . . . . . . . . . . . . . . . . . . . . . 51

4.4 Interazione con Dog . . . . . . . . . . . . . . . . . . . . . . . . 524.5 Organizzazione e riusabilità del codice . . . . . . . . . . . . . 57

5 Testing 585.1 Svolgimento del test . . . . . . . . . . . . . . . . . . . . . . . 60

ii

Page 5: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

INDICE

6 Risultati Ottenuti 626.1 Analisi qualitativa . . . . . . . . . . . . . . . . . . . . . . . . 626.2 Valutazione rispetto agli obiettivi preposti . . . . . . . . . . . 65

7 Conclusioni e sviluppi futuri 687.1 Possibili sviluppi futuri . . . . . . . . . . . . . . . . . . . . . . 69

I Appendici 72

A Test Plan 73

B Commenti utente 80

Elenco delle figure 82

Elenco delle tabelle 84

Bibliografia 85

iii

Page 6: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

1Introduzione

1.1 Contesto generale

Negli ultimi anni, avvenimenti, come i cambiamenti climatici, l’esaurimentodelle fonti energetiche e delle risorse naturali, rendono l’impiego intelligenteed efficace dell’energia un tema di rilevante importanza e di notevole impat-to sociale. Secondo alcuni studi sul consumo energetico, infatti, il settoreprivato incide per circa il 40% sul consumo finale di energia, valore che puòraggiungere anche più del 70% se consideriamo esclusivamente il consumoelettrico nei locali residenziali e commerciali, motivato dalla continua mag-giore richiesta di “benessere e comfort” da parte dell’utente finale, come adesempio il crescente utilizzo e la larga diffusione della climatizzazione.La situazione politica mondiale, la crisi economica e la diffusione di stili divita sempre più “green” ed ecosostenibili, nonchè l’esaurimento delle risorse,stanno fortunatamente spingendo verso un cambiamento globale, orientatosempre più allo sviluppo e alla diffusione di energie rinnovabili. Tra questeprimeggiano nuove fonti energetiche quali il fotovoltaico, il geotermico, l’eo-lico e l’idroelettrico. Ma, oltre all’utilizzo di energie rinnovabili, si stannodiffondendo anche interventi atti a incrementare le prestazioni energetichesia degli edifici di nuova costruzione sia di quelli già esistenti, tramite oppor-tuni progetti di ristrutturazione, utilizzando, ad esempio, materiali isolantiad altissime prestazioni o installando pannelli solari sui tetti delle abitazioni.Nell’immaginario collettivo vi è l’idea, non del tutto corretta, che l’attuazio-ne di questo tipo di accorgimenti sia sufficiente a rendere il proprio ambientedomestico un luogo ad alto risparmio energetico e che non sia necessario farealtro per migliorarne l’efficienza.Questo infatti è vero solo in parte, perchè per quanto possa essere necessariorendere la propria casa efficiente e ottimizzata dal punto di vista dell’isola-mento termico, o parzialmente autosufficiente energeticamente, bisogna an-

1

Page 7: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

1.2. LA DOMOTICA E LA BUILDING AUTOMATION

che gestire in modo opportuno gli impianti più energivori della casa, ovveroquello termico e quello elettrico. In questo contesto entra in gioco la domo-tica, come strumento capace di aiutarci a gestire e comprendere al megliociò che avviene in tempo reale nella nostra abitazione, e ad amministrarne,ad esempio, le potenzialità di risparmio energetico offerte dai vari dispositividislocati negli ambienti della casa.

1.2 La Domotica e la Building Automation

La nascita dei sistemi di automazione per la casa e gli edifici è da ricondurrealla seconda metà degli anni ’80 quando, sulla base di esperienze provenien-ti dall’automazione di fabbrica, sono state sviluppate e rese fruibili alcuneinnovative tecnologie del settore informatico, elettronico e delle telecomuni-cazioni, con l’obiettivo di rendere più intelligenti, integrati e coordinati gliimpianti tecnici di un edificio (elettrico, condizionamento, antifurto, ecc.).Nei decenni successivi le stesse tecnologie sono state ulteriormente sviluppateper essere impiegate in edifici residenziali, ed è proprio in questo periodo cheva affermandosi il termine “domotica”.Domotica deriva dal termine francese “Domotique” che unisce la radice lati-na di “Domus” (casa) al termine “informatica”, e riassume così esattamenteil connubio fra i due ambiti: con domotica, infatti, si indica sommariamen-te l’automazione tecnologica della casa, con sistemi informatici, elettronicie robotici. Anche se il termine “casa” è inteso in senso lato, in quanto ognitipologia abitativa e non abitativa può essere “domotizzata”, anche gli uffici,i magazzini, gli alberghi, i centri congressi, e via discorrendo. Anzi, gli interiedifici possono essere predisposti per la domotica, nel qual caso si parla diBuilding Automation, mentre per il ramo dedicato alle singole unità (abita-tive e non) ci si riferisce alla Home Automation.In sintesi, è possibile considerare la domotica come quell’insieme di tec-nologie, di sistemi e di servizi atti a rendere intelligente ed integrato ilfunzionamento dei differenti tipi di impianti presenti in un’abitazione.

1.2.1 Differenze tra impianti tradizionali ed impiantidomotici

Una volta chiarito per grandi linee cosa si intende, e di cosa si occupa ladomotica, è bene precisare quale sia la differenza sostanziale tra un impian-

2

Page 8: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

1.2. LA DOMOTICA E LA BUILDING AUTOMATION

to tradizionale e uno domotico. Un impianto domotico differisce da unotradizionale sia in base a come l’impianto stesso viene comandato da partedell’utente, sia nella possibilità di integrazione completa degli impianti tecni-ci presenti nell’ambiente da controllare, che come abbiamo già detto possonoessere svariati: illuminazione, condizionamento, segnalazione d’emergenza,movimentazione tapparelle e tende, ecc. Il coordinamento, in un impiantotradizionale, è costituito semplicemente dal collegamento fisico che è utiliz-zato per realizzare il circuito di comando: in altri termini, un interruttoredeve il suo nome proprio alla funzione di interruzione del circuito che ali-menta l’utenza. In un impianto domotico, invece, il circuito di comando èfisicamente separato dal circuito di alimentazione: è costituito, quindi, dauna rete di segnale con cui i dispositivi di comando e di attuazione, dotatidi una propria elettronica di elaborazione e comunicazione, sono in grado discambiare informazioni sotto forma di messaggi codificati in forma digita-le, mentre il circuito di alimentazione collega le sole utenze che necessitanodella tensione di rete (230 Volt) per il loro funzionamento. A differenza diun impianto tradizionale in cui le singole installazioni sono indipendenti enon possono comunicare tra loro, un sistema domotico, pertanto, consentela totale integrazione di tutti gli impianti presenti in un edificio, così comeillustrato in Figura 1.1

Figura 1.1: Confronto tra impianto elettrico tradizionale e impianto domotico

3

Page 9: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

1.2. LA DOMOTICA E LA BUILDING AUTOMATION

1.2.2 Vantaggi e campi di applicazione

L’utilizzo di sistemi domotici permette di ottenere dei benefici per l’utentefinale che è difficile, se non impossibile, raggiungere con un impianto tra-dizionale, in primo luogo l’incremento del comfort e della qualità della vitaall’interno dell’ambiente automatizzato. Il classico interruttore di casa, adesempio, che normalmente è dedicato all’accensione o spegnimento delle lucipuò essere impiegato come comando dell’impianto di irrigazione o per l’atti-vazione dell’antifurto. Il concetto chiave è quello di “scenario”: l’esecuzionecontemporanea e coordinata, tramite un solo comando, di molteplici funzioniche coinvolgono parti di impianti diversi. È possibile, infatti, far dialogarel’impianto antifurto con l’impianto di videosorveglianza e con tutti gli altriimpianti della casa, e di integrare i dispositivi ad impatto visivo (come letelecamere di videosorveglianza). Le funzioni domotiche di un edificio posso-no essere comandate anche da remoto mediante l’utilizzo di un collegamentoInternet o di telefoni cellulari, così come eventuali allarmi o stati di allerta diun impianto (fughe di gas, intrusione di ladri in appartamento, ecc. ) posso-no essere inviati via email o tramite SMS. Infine è bene menzionare l’ausiliosociale che la domotica può offrire, potendo venire incontro alle esigenze dellepersone con limitazioni motorie o con particolari esigenze di fruibilità dell’im-pianto elettrico, come i bambini e gli anziani. Un esempio potrebbe esserel’impiego di comandi vocali integrati che permettano l’utilizzo dell’impiantodomotico senza agire fisicamente sui controlli.

1.2.3 Protocolli di comunicazione standard vs. proto-colli proprietari

Per poter comprendere quale sia la struttura di un impianto domotico puòessere utile rifarsi ai principi costruttivi delle reti di calcolatori: un impiantodomotico è in effetti assimilabile a una rete di comunicazione in cui i di-spositivi sono collegati tra loro attraverso un mezzo trasmissivo. Per potercomunicare, i dispositivi devono poter parlare lo stesso linguaggio, ossia de-vono avere lo stesso protocollo di comunicazione.È possibile distinguere due tipologie di standard di comunicazione:

1. protocolli proprietari;

2. protocolli standard.

I protocolli proprietari sono sviluppati da un singolo costruttore la cui tecno-logia è soggetta a brevetti. Per questa tipologia di protocolli la compatibilità

4

Page 10: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

1.2. LA DOMOTICA E LA BUILDING AUTOMATION

con sistemi di altre aziende è parziale o inesistente, nonostante le funzionalitàfornite potrebbero anche risultare superiori.I protocolli standard, invece, presuppongono che le specifiche siano pubblichee accessibili a chiunque voglia costruire o integrare dispositivi comunicanticon il protocollo medesimo. In questo caso, prodotti di marche diverse, secondividono lo stesso protocollo di comunicazione, possono perfettamentefunzionare tra loro nel medesimo impianto. Pertanto, per la realizzazionedi un sistema domotico perfettamente integrato sarebbe preferibile orientarsiverso tecnologie standard.È tuttavia doveroso chiarire che realizzare un impianto domotico utilizzandosolo dispositivi dello stesso produttore, o che si appoggino tutti sullo stessostandard, può rappresentare un limite sia per l’impianto stesso che per chine usufruisce. Potrebbe infatti verificarsi un problema nel momento in cuiavviene un guasto e non siano più disponibili ricambi in commercio, o sem-plicemente quando un nuovo componente di controllo è fornito da un soloproduttore che utilizza un protocollo diverso da quello utilizzato nel restodell’impianto domotico.

Figura 1.2: Esempio funzionalità gateway domotico

5

Page 11: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

1.3. STRUTTURA DELLA TESI

Si dovrebbero a tal punto sostituire tutti gli altri dispositivi, comportandoun notevole disagio economico, oppure far convivere due sistemi diversi chelavorino in parallelo, o altresì rinunciare all’installazione di quel dispositivo.In realtà l’utilizzo di un gateway domotico, mostrato in figura 1.2, propriocome quello impiegato durante la tesi riesce a risolvere il problema di co-municazione fra protocolli differenti, portando la comunicazione fra i varidispositivi ad un livello di astrazione più elevato e permettendo quindi diutilizzare protocolli non standard, o di fare un upgrade dell’impianto intro-ducendo nuove tecnologie come ad esempio delle prese wireless.Il gateway permette infatti di gestire a basso livello, per mezzo di specificidriver, tutte le apparecchiature ad esso collegato, occupandosi, tra le altrecose, della traduzione dei messaggi da e verso i dispositivi, che potrannopertanto utilizzare protocolli di comunicazione differenti. Si potranno quindiinstallare sullo stesso impianto domotico dispositivi di varie marche, purchèsia possibile fornire il driver di connessione con il gateway.

1.3 Struttura della tesi

In questo primo capitolo, si è cercato di introdurre il contesto e fornire alcunistrumenti base per comprendere il punto da cui è partita la realizzazionedell’applicazione che è il prodotto finale di questo progetto. Nei prossimi trecapitoli, la tesi è organizzata per presentare gli obiettivi e approfondire alcuniaspetti, seppur di background, necessari a comprendere appieno il come e ilperchè si è realizzata l’interfaccia utente; nei capitoli seguenti, invece, simostreranno le fasi di progettazione e di implementazione del progetto e sipresenteranno i risultati ottenuti.In dettaglio:

• nel capitolo DUE “Obiettivi ” si illustrerà uno studio sui prodotti com-merciali esistenti relativi alla visualizzazione e il monitoraggio ener-getico per mezzo di display informativi dislocati in opportuni puntidell’abitazione. Questo, insieme ai risultati di una ricerca esistentesulle preferenze dell’utente in merito all’utilizzo di tali dispositivi, aiu-teranno a tracciare dei requisiti minimi per la realizzazione di un’in-terfaccia utente semplice e intuitiva da utilizzare per l’applicazione dasviluppare.

• nel capitolo TRE “Tecnologia utilizzata”, verrà descritto il gateway do-motico proposto dal Politecnico di Torino, cioè Dog, analizzando breve-mente l’ontologia che racchiude lo schema della casa e i suoi dispositivi.

6

Page 12: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

1.3. STRUTTURA DELLA TESI

Inoltre si presenterà il sistema operativo per dispositivi mobili Androide l’ambiente di sviluppo Eclipse, riassumendone, per quanto possibile,le principali caratteristiche.

• nel capitolo QUATTRO “Design”, si presenteranno le varie scelte pro-gettuali fatte, si parlerà di come è stata realizzata l’interfaccia utente,e di come questa interagisce con Dog. Si discuterà anche dell’organiz-zazione del codice e del suo possibile riutilizzo.

• nel capitolo CINQUE “Risultati ottenuti ”, si presenterà qualche risulta-to qualitativo e quantitativo derivato dall’utilizzo dell’interfaccia, sof-fermandosi in particolare ad analizzare l’effettivo miglioramento otte-nuto rispetto agli studi svolti in precedenza e su quali ci si è basaticome punto di partenza.

• nel capitolo SEI “Conclusione e sviluppi futuri ”, verranno elencati al-cuni sviluppi futuri che il progetto descritto in questa tesi potrà avere.

7

Page 13: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

2Obiettivi

L’obiettivo principale della tesi è lo studio, la progettazione e la realizzazionedi un’interfaccia grafica per il monitoraggio energetico in ambito domestico.Si consideri, a tal proposito, la seguente immagine:

Figura 2.1: Vista, ad alto livello, del contesto in cui si colloca l’interfacciautente da realizzare

Essa mostra un utente che interagisce con la propria casa (ambiente do-motico) attraverso un tablet su cui è installata l’applicazione sviluppata. Perinteragire con efficacia, però, necessita di un’interfaccia utente che, da una

8

Page 14: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

parte, si possa collegare all’ambiente domotico e dall’altra sia gestibile facil-mente dal tablet.Assumendo di non avere alcun tipo di problema nel collegare una qualsiasiinterfaccia utente al sistema di controllo domotico Dog, si può notare chequalche problema potrebbe sorgere proprio nel trovare un’interfaccia uten-te utilizzabile con un dispositivo touchscreen, che sia al contempo intuitiva,funzionale, e che risponda a determinati principi di usabilità.A tale scopo, si è approfondito l’argomento della visualizzazione su displaydi informazioni riguardanti il consumo energetico, effettuando svariate ricer-che sul Web, visitando i siti dei maggiori produttori di impianti domotici econfrontando alcune delle soluzioni proposte in merito.Un esempio per tutte viene riportato in figura 2.2 dove viene visualizzataun’interfaccia che mostra i consumi di alcune stanze presenti in un ambientedomotico della NNOX Domotics1.

Figura 2.2: Esempio visualizzazione livelli energetici in un sistema dellaNNOX Domotics

Come si può vedere dalla figura 2.2, per questa interfaccia utente è statodeciso di fornire sia un’informazione numerica, che una grafica. L’informazio-ne numerica sta ad indicare il consumo energetico attuale, replicato tramite

1NNOX Domotics: http://nnox.com/energy/

9

Page 15: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

una rappresentazione grafica di un manometro digitale, che ne indica il li-vello per mezzo di una lancetta. Si può anche notare come la lancetta ditale manometro indichi oltre che un valore, se pur approssimativo, anche uncolore di sfondo che varia col consumo energetico, virando dal verde al rossoe passando dall’arancio, per indicare il passaggio da valori bassi a valori al-ti di assorbimento. Informazioni, queste, replicate per ogni stanza presentenell’ambiente controllato.Da un’analisi più approfondita si nota però come i valori massimi siano iden-tici per tutti gli ambienti controllati, supponendo quindi che in soggiorno(Living Room) come in sala da pranzo (Dining Room) o in camera da letto(Bedroom) vi sia un consumo massimo di 8kW e rapportandone quindi lavisualizzazione grafica rispetto a quei valori. Stiamo ovviamente parlandodi un solo esempio, ma che in quanto tale, mette in evidenza la necessità diavere per ogni ambiente una regola di visualizzazione rapportata all’effettivacapacità massima della stanza supponendo di avere tutti i dispositivi attivi.In particolare, le varie interfacce esistenti prese in considerazione durante lafase di ricerca, seppur con alcuni aspetti positivi come l’indicazione con co-lori diversi in base al consumo, o il mostrare a video il consumo attuale perogni stanza, non rispettano alcune delle richieste emerse fuori da uno studiopubblicato precedentemente e da cui l’obiettivo principale della tesi prendespunto.Lo studio in questione è “Home energy consumption feedback: A user survey”che ha l’obiettivo di valutare due differenti modalità di visualizzazione deidati energetici e l’interazione da parte dell’utente con esse, per mezzo di unIn-Home Display2(IHD), testandone l’effettivo funzionamento su un conside-revole numero di persone abituate ad utilizzare apparecchi elettronici. Permezzo quindi di un apposito questionario proposto agli intervistati, si sonoraccolti dati sulle attitudini al risparmio di queste persone, sulla compren-sione delle visualizzazioni proposte, ed eventuali suggerimenti in merito amodifiche e miglioramenti da apportare.Le due modalità di interazione prese in considerazione si suddividono in:

1. visualizzazione di consumi energetici periodici, ad esempio giornalierio mensili;

2. feedback visivo immediato di quanto sta avvenendo nell’ambiente do-mestico.

2In-Home Display: è un dispositivo di visualizzazione dedicato, progettato per fornireinformazioni relative al settore energetico, quali consumi, costi o messaggi di servizio fornitidirettamente dal distributore di energia o per mezzo di applicazioni di terze parti.

10

Page 16: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

Per fare ciò sono stati realizzati due prototipi di interfaccia che implementa-no rispettivamente le due differenti tipologie di visualizzazione sopra citate esuccessivamente sono stati registrati due brevi video in time-lapse3 che mo-strano i cambiamenti di queste interfacce, quali variazioni di colori e datiriguardanti i consumi, in base all’utilizzo di vari dispositivi di uso quotidianoin un appartamento nell’arco di una giornata.È stato quindi chiesto ad un migliaio di persone di guardare i due video esuccessivamente rispondere a un questionario, per valutare quanto queste duevisualizzazioni fossero state comprese ed apprezzate.Nello specifico si mirava a:

• verificare/confermare la volontà degli utenti intervistati di adottareeffettivamente un sistema di visualizzazione dei consumi;

• valutare se le persone comprendevano e accettavano di più l’idea diun’interfaccia basata su degli obiettivi prefissati di consumo energetico,o sulla visualizzazione immediata dei consumi e di come questi influiscoglobalmente sull’abitazione;

• verificare la validità di un feedback basato sulla variazione dei colori inparallelo con l’utilizzo di valori espliciti riguardanti i consumi energetici;

• verificare se le informazioni fornite sono di facile comprensione per gliutenti, se sono utili e se sono necessari più o meno dettagli;

• indagare sulle preferenze riguardanti il posizionamento dell’in-homedisplay (IHD) in uno specifico punto dell’appartamento.

I risultati di questo studio hanno indicato come la maggior parte delle personevorrebbe effettivamente adottare un sistema IHD, dimostrando un importan-te interesse verso l’argomento risparmio energetico.Circa la metà degli intervistati vorrebbe un sistema che integrasse entrambele visualizzazioni, ma preferirebbe la visualizzazione ad obiettivi periodici selo scopo fosse solo quello di incrementare le propria attitudine al risparmioenergetico. Tuttavia il sistema di feedback immediato dell’attività energeti-ca sembra essere compreso meglio, appunto perchè riesce a rappresentare iconsumi in tempo reale.

3Time-lapse: è una tecnica cinematografica nella quale la frequenza di cattura di ognifotogramma è molto inferiore a quella di riproduzione. A causa di questa discrepanza,la proiezione con un frame rate standard di 24 fps fa sì che il tempo, nel filmato, sembriscorrere più velocemente del normale.

11

Page 17: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

Nonostante quindi la visualizzazione ad obiettivi sia più indicata per mi-gliorare il consumo di energia globale sul medio/lungo periodo, il feedbackdiretto è più utile per visualizzare informazioni relative all’immediato, comead esempio verificare la presenza di dispositivi in funzione che nessuno stautilizzando.Inoltre i dati raccolti indicano anche che la visualizzazione basata sui coloriè semplice da capire e molto apprezzata. Per quanto riguarda invece il po-sizionamento del display in una specifica posizione dell’abitazione, i risultatisuggeriscono cucina o ingresso come luoghi preferiti, esito quest’ultimo di in-teresse ai fini del posizionamento di una dock station piuttosto che del tabletstesso, proprio per la natura mobile del tablet, per quanto riguarda la tesi inesame.Infine si è tenuto conto, per quanto possibile, dei suggerimenti estratti daiquestionari delle persone intervistate, che possono essere sintetizzati in questipunti principali:

• riportare il consumo parziale per ogni stanza, anche numericamente;

• realizzare un’interfaccia utente che unisce entrambe le visualizzazioni;

• aggiungere un allarme per avvisare quando il sistema di sicurezza po-trebbe essere in procinto di disattivare l’erogazione di energia;

• fornire il dettaglio istantaneo del consumo elettrico per gli elettrodo-mestici.

Dai risultati ottenuti dallo studio e dai suggerimenti sopra elencati, si evincequindi la necessità di creare un’applicazione con un interfaccia utente chiara,e con informazioni utili ed a portata di mano.Risulta utile a tale scopo riassumere gli obiettivi principali riguardanti losviluppo dell’applicazione in oggetto nella seguente tabella:

12

Page 18: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

Tabella 2.1: Linee guida per lo sviluppo dell’interfacciautente dell’applicazione

Requisito Descrizione Priorità

Interfacciaa feedbackdiretto

Si implementerà l’interfaccia a feedback di-retto in quanto è risultata maggiormentecomprensibile e di immediato effetto sui con-sumi energetici. Si pensi che un metodo simi-le è ormai adottato su quasi tutte le autovet-ture di ultima generazione, dove viene mo-strato il consumo istantaneo di carburante,rendendo effettivamente il guidatore consa-pevole e capace di gestire al meglio i consumiadattando la propria guida all’autovettura.In modo simile quindi l’utente dovrà esserein grado di adattare il proprio stile di vita incasa osservando le proprie cattive abitudinida un punto di vista diverso, ovvero quello diun’interfaccia grafica che ti da informazioniin tempo reale sullo stato dell’abitazione.

Richiesto

Interfaccia agoal energeti-ci

Come si evince dai risultati dell’indagine, losviluppo di un’interfaccia a obiettivi periodi-ci sarebbe preferibile per quanto concerne ilrisparmio energetico sui lunghi periodi, adesempio settimanali o mensili. Un’ulterio-re sviluppo sarà quello di realizzare un’in-terfaccia che unisca entrambe le modalità divisualizzazione.

Richiesto

Continua...

13

Page 19: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

Tabella 2.1 – Continua dalla pagina precedente

Requisito Descrizione Priorità

Visualizzazionedei consumibasta sullavariazione deicolori

Il software dovrà accostare la visualizzazionedei consumi tramite feedback numerici, aduna rappresentazione grafica che gestisce lavariazione di potenza associandola a dei co-lori. Nello specifico verde, il giallo/arancio erosso, colori che facilmente vengono associatia qualcosa di positivo o negativo, perchè uti-lizzati largamente nella quotidianità, come inun semaforo. Il verde viene comunemente as-sociato a qualcosa di positivo, ovvero la pos-sibiltà di attraversare l’incrocio in questione,quindi nella nostra applicazione rappresente-rà bassi consumi e più in generale uno sta-to non preoccupante della situazione ener-getica; il rosso invece è spesso associato adun disagio, nel caso del semaforo a un’atte-sa, e nel nostro caso a un consumo eccessi-vo dovuto magari a troppi dispositivi attivicontemporaneamente.

Richiesto

Consumoparziale perogni stanza

Risulterà altresì utile fornire informazionisul dettaglio dei consumi per ogni stan-za, fornendo i dati sia numericamente chegraficamente.

Opzionale

Consumoelettrico deidispositivi

Potrebbe inoltre essere di interesse, come ef-fettivamente richiesto, fornire la possibilitàdi visualizzare il consumo di ogni dispositivoin tempo reale, aprendo le porte così a va-rie opportunità di sviluppo dell’applicazionead un livello piú basso, controllando il singo-lo dispositivo piuttosto che intere aree dellacasa.

Opzionale

Continua...

14

Page 20: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

Tabella 2.1 – Continua dalla pagina precedente

Requisito Descrizione Priorità

Possibilità dicontrollare idispositivi

Nonostante l’applicazione sia orientata mag-giormente alla visualizzazione dei dettagli ri-guardanti i consumi energetici, sarà opportu-no dare la possibilità all’utente di controlla-re i dispositivi presenti in casa tramite i co-mandi di cui essi dispongono, e che dovrannoessere integrati nell’interfaccia sviluppata.

Opzionale

Allarme di-sattivazionecontatoreelettrico

Una funzionalità fortemente richiesta risultaessere la possibità di visualizzare un avvisonel caso in cui ci si avvicini al limite energe-tico consentito dal proprio contratto di for-nitura elettrica, in modo tale da disattiva-re qualche elettrodomestico non necessario almomento, o evitare di accenderne altri e pro-vocare un’interruzione di corrente in tutta lacasa.

Richiesto

Gestione ra-zionale dei va-ri ambienti

Come si è potuto notare dall’esempio ripor-tato in figura 2.2, i vari ambienti controllatierano trattati egualmente, considerando unconsumo standard per tutte le stanze e ripor-tandolo graficamente tramite un manometrodigitale. Tale rappresentazione non può an-dare bene in quanto difficilmente una cucinadove sono presenti forno, lavastoviglie e fri-go potrà avere un consumo massimo ugualead un soggiorno, dove invece i consumi ener-getici difficilmente saranno elevatissimi. Mo-tivo per cui, tramite opportune formule, sidovrà trattare la visualizzazione dei consumiassociata alla colorazione dei vari ambienticontrollati, in modo razionale e diversifica-to, riuscendo a mantenere un’elevato livellodi comprensibilità.

Richiesto

Continua...

15

Page 21: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

Tabella 2.1 – Continua dalla pagina precedente

Requisito Descrizione Priorità

Mobilità I dati raccolti indicano che l’utente preferi-sce avere uno o più IHD dislocati nei luo-ghi maggiormente frequentati o di passag-gio, come ad esempio la cucina o l’ingres-so. Il compromesso verrà raggiunto fornendoun’applicazione per tablet. Il dispositivo mo-bile sarà in grado quindi di essere spostato inun qualsiasi punto dell’abitazione, installan-do eventualmente più postazioni di ricaricanegli ambienti desiderati.

Opzionale

Flessibilità È importante infatti oltre che realizzare le ri-chieste esposte nei precendenti punti, offrirela possibilità, tramite una schermata di im-postazioni, di agire su alcuni settaggi, comela portata massima del contatore elettrico, ole soglie che gestiscono la colorazione dellestanze.

Richiesto

Definite quindi le principali linee guida per l’implementazione dell’inter-faccia grafica, ci si pone un’altro obiettivo ai fini dello sviluppo dell’applica-zione, che è quello di realizzare software che sia compatibile sulla maggiorparte dei tablet Android. Motivo per cui si è deciso di utilizzare le API diAndroid 4.x, che è appunto la versione di tale sistema operativo mobile piùdiffusa sui tablet attualmente in commercio.Grazie alla decisione di utilizzare Android, di cui si parlerà più approfondita-mente nei prossimi capitoli, si possono realizzare interfacce utente in manierasemplice e potente, creando codice estremamente leggibile e permettendo laseparazione quasi totale della parte di design (cioè, come l’interfaccia ap-pare) dalla parte di logica (quali sono i meccanismi per far sì che svolga isuoi compiti). La parte di design, infatti, viene realizzata interamente inXML, mentre la parte di logica viene realizzata con una versione particolaredi Java, che differisce solo per alcuni dettagli che verranno chiariti anch’essisuccessivamente.Infine d’ora in poi, faremo riferimento all’applicazione sviluppata con il nomedi “wattsUP ”.

16

Page 22: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

3Tecnologia utilizzata

3.1 Introduzione

Prima di parlare del progetto sviluppato, del suo design e delle scelte proget-tuali adottate, è doveroso dedicare un po’ di tempo per presentare sufficiente-mente nel dettaglio le soluzioni tecniche con cui l’applicativo deve interagire.Nel capitolo introduttivo si è parlato di domotica, e si è accennato, in partico-lare, ad un sistema di controllo dell’ambiente domotico, sviluppato dal grup-po di ricerca del Politecnico e-lite, chiamato Dog. Si è menzionato, inoltre,il sistema operativo mobile Android, per cui l’applicazione è stata progetta-ta, nello specifico per la distribuzione Android ICS (Ice Cream Sandwich) esuccessive, riconoscibili anche dal numero di versione 4.x. Possiamo vederein figura 3.1 come le varie componenti sono relazionate tra di loro, mentrenei paragrafi seguenti si spiegherà, più dettagliatamente, come questi com-ponenti funzionano e come interagiscono con l’applicazione sviluppata.

3.2 Ambiente domotico utilizzato

Come si è precedentemente detto, la domotica è la disciplina che si occupadi studiare tecnologie informatiche e appartenenti all’area dell’automazionee della telecomunicazione, per poterle utilizzarle negli ambienti domestici,al fine di migliorarne il comfort, l’abitabilità e di semplificare la vita dellepersone mentre vivono in questi ambienti.Con la domotica, quindi, si possono automatizzare semplici funzioni del-

la casa come, per esempio, l’accensione e lo spegnimento delle luci, oppuresviluppare servizi più “intelligenti” come, per esempio, gli scenari, cioè un

17

Page 23: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

3.2. AMBIENTE DOMOTICO UTILIZZATO

Figura 3.1: Come l’interfaccia utente è connessa a Dog

elenco di attività riguardanti determinati dispositivi domestici che possonovenire attivati o disattivati tutti insieme in un certo momento della giornata,a scelta dell’utilizzatore.Un ambiente domotico, pertanto, è un ambiente opportunamente progettatoe tecnologicamente attrezzato, in cui sono presenti impianti e dispositivi chesfruttano tecnologie che li rendono controllabili da remoto ed eventualmenteanche in grado di comunicare tra di loro.Anche se il termine “da remoto” può dare l’idea che la casa venga controllatada un altro posto, al di fuori dell’abitazione, in questo contesto si intende sem-plicemente che un oggetto o una funzionalità della casa può essere controllatasenza il bisogno di maneggiare o toccare fisicamente l’oggetto in questione.Quindi, l’oggetto può anche trovarsi di fronte all’utente ma esso lo controllain remoto grazie all’applicazione sviluppata durante questo progetto e resafruibile su un tablet, che può essere dislocato in un luogo strategico dellacasa, o semplicemente usato in qualsiasi punto dell’abitazione, dal soggiornoal giardino. Inoltre, un ambiente domotico come quello mostrato in figura

18

Page 24: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

3.2. AMBIENTE DOMOTICO UTILIZZATO

Figura 3.2: esempio di architettura domotica

3.2 è composto da una serie di componenti hardware e software.Le componenti hardware sono gli impianti domotici, che comprendono alcunidispositivi e un gateway, che gestisce la comunicazione con ogni dispositivoappartenente al proprio impianto e con l’House Manager. I gateway dei variimpianti domotici, a loro volta, sono collegati con un Domotic House Ga-teway che gestisce la rete di comunicazione tra i diversi gateway.La componente software, invece, è il cuore del sistema domotico perchè hail compito di gestire i dispositivi della casa, non importa in quale impiantoessi si trovino: tale componente prende il nome di House Manager.L’House Manager si occupa anche di fornire servizi intelligenti e alcune appli-cazioni che permettano all’utente di interagire con la casa. L’House Manager,nel contesto che stiamo considerando, altro non è che Dog.

19

Page 25: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

3.2. AMBIENTE DOMOTICO UTILIZZATO

3.2.1 Dog

Dog (Domotic OSGi Gateway) è una piattaforma che permette l’interfaccia-mento, la gestione e l’integrazione di dispositivi domotici di diversi costruttoriin un singolo sistema software.Realizzato con tecnologia OSGi, fornisce un ambiente per gli sviluppatoriorientato ai servizi e basato su componenti, offrendo così modi standardizza-ti di gestire il ciclo di vita del software stesso. Fornisce un framework Javastabile, sicuro e general-purpose che supporta lo sviluppo di applicazioni diservizio estensibili chiamate bundle o, in italiano, moduli, che sono facili daintegrare: basta, infatti, che siano conformi ai vincoli di comunicazione defi-niti nel framework stesso.Come illustrato nella figura 3.3, Dog è composto da differenti moduli, che

Figura 3.3: L’architettura logica di Dog

hanno i vari usi e ruoli descritti di seguito:

• Network Drivers permette l’interazione diretta con le componenti hard-ware dell’ambiente domotico. È necessario un driver differente per ogniprotocollo di basso livello utilizzato dalle varie componenti.Attualmente è formato da tre bundle: Konnex per i sistemi KNX/-Net IP, BTicino per i sistemi MyHome BTicino, Elite che permette di

20

Page 26: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

3.2. AMBIENTE DOMOTICO UTILIZZATO

emulare i dispositivi fisicamente non disponibili, consentendo così diutilizzare il software anche in assenza di un ambiente domotico reale,cioè in simulazione, nodbus, echlor e z-wave;

• Message Dispatcher effettua il routing degli eventi in arrivo dai Net-work Drivers e i comandi in arrivo dall’Executor; contiene, quindi, unatabella di routing per mappare la corrispondenza tra i dispositivi e iNetwork Drivers che possono comandarli;

• Executor riceve i comandi dal modulo API, ne controlla la correttezzainteragendo con il modulo Status e li esegue inviando i nuovi comandial Command Dispatcher;

• House Model contiene la rappresentazione della casa e dei disposi-tivi appartenenti all’ontologia DogOnt, descritta nel prossimo sotto-paragrafo;

• Status è una sorta di cache che contiene lo status dei dispositivi pre-senti nel sistema; risponde alle richieste mandate dal modulo API,restituendo informazioni sui vari dispositivi;

• Platform Manager gestisce l’installazione, l’avvio e la sospensione deibundle all’interno della piattaforma OSGi, fornisce informazioni sullostato dei bundle e gestisce la sequenza di bootstrap di sistema;

• Configurator Registry fornisce i dati di configurazione necessari al fun-zionamento dei singoli moduli;

• API è il punto di accesso esterno al sistema; fornisce una serie di servizicome l’elenco dei dispositivi presenti nella casa, la possibilità di eseguirecomandi e quella di registrarsi come listener per ricevere determinatieventi e conoscere lo stato di uno o più dispositivi;

• XmlRpcConnector espone i servizi offerti dal modello API sotto formadi end-point XML-RPC: l’interfaccia utente utilizzerà questo modulo eil protocollo XML-RPC per interagire con Dog;

• Dog2Library, infine, specifica le interfacce dei servizi offerti dai bundle,definendo e implementando le classi di sistema e le eccezioni.

L’interfaccia utente comunicherà con Dog principalmente durante due fasi,quella iniziale in cui l’interfaccia riceverà il modello della casa con tutti i suoidispositivi, insieme con il loro stato e la loro descrizione; e quella operativa in

21

Page 27: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

3.2. AMBIENTE DOMOTICO UTILIZZATO

cui l’interfaccia comunicherà a Dog i comandi che vuole compiere (per esem-pio, accendere una luce) e Dog risponderà restituendo l’esito dell’operazioneche gli è stata richiesta (“la luce si è accesa”).Sempre nella fase operativa, Dog potrebbe comunicare all’interfaccia che ilverificarsi di un evento (qualcuno ha premuto un pulsante e la luce si è acce-sa) e l’interfaccia tratterà questa informazione di conseguenza, generalmenteproducendo una notifica destinata all’utente.La fase operativa, come è facile intuire, è una fase che viene ripetuta diversevolte, fintanto che Dog e l’interfaccia sono entrambi in funzione e qualcosacapita all’interno dell’ambiente domotico.

3.2.2 DogOnt

DogOnt è il modello formale per la rappresentazione di un ambiente domo-tico, composto da due elementi: un’ontologia e un insieme di regole. Unaontologia è una rappresentazione formale di una interpretazione condivisadi uno specifico dominio di conoscenza. Non esistendo l’ontologia perfetta,la rappresentazione di un determinato dominio può essere formalizzata inuna moltitudine di modi e dipende dallo scopo per cui viene creata. Un’on-tologia assume normalmente una struttura a grafo connesso con concetti erelazioni che li collegano. Le componenti fondamentali di una ontologia sono:

Classi - insiemi, collezioni o tipi di oggetti;

Attributi - proprietà, caratteristiche o parametri che gli oggetti possonoavere e condividere;

Relazioni - modi in cui gli oggetti possono essere messi in relazione gliuni con gli altri;

Individui - istanze del modello, che sono gli elementi di base.

Le classi di un’ontologia sono concetti astratti che esprimono una classifi-cazione delle entità rilevanti del dominio.L’ontologia ha generalmente una classe radice chiamata Thing da cui discen-dono tutte le altre. Le classi nell’ontologia seguono il principio dell’eredita-rietà padre-figlio a livello di classe e proprietà.Analizzando la figura 3.4, si può notare che l’ontologia di DogOnt si sviluppalungo cinque rami principali:

22

Page 28: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

3.2. AMBIENTE DOMOTICO UTILIZZATO

Figura 3.4: L’ontologia di DogOnt

• Building Thing: rappresenta gli oggetti disponibili (controllabili, comeuna luce, oppure no);

• Building Environment: rappresenta dove gli oggetti sono collocati;

• State: rappresenta le configurazioni stabili (gli stati, come “acceso” o“spento”) che gli oggetti controllabili possono assumere;

• Functionality: rappresenta cosa gli oggetti controllabili possono fare(accendersi e spegnersi, per esempio); la maggior parte degli oggettiistanziabili non ha funzionalità comandabili con più di tre comandi.

• Domotic Network Component: rappresenta delle caratteristiche pecu-liari di ogni impianto domotico.

23

Page 29: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

3.3. ANDROID

Ogni ramo, a sua volta, avrà un certo numero di altri rami figli, a seconda dicosa deve rappresentare: “Building Thing”, che è uno dei rami dell’ontologiapiù interessanti poichè contiene tutti i dispositivi, gli elementi di mobilio equelli architetturali che ci possono essere nella casa, si divide in Controllablee Uncontrollable, per separare gli oggetti che sono controllabili da quelli che,come il tavolo del soggiorno, non lo sono.DogOnt, inoltre, rappresenta ogni dispositivo come un oggetto che possiedeun insieme di funzionalità e di stati.Le funzionalità sono automaticamente aggiunte a ogni istanza del dispositivo,in base alle restrizioni definite al livello di classe. Esse sono condivise da tuttii dispositivi della stessa classe: pertanto, diversi tipi di lampade appartenentialla stessa classe potranno avere delle funzionalità in comune. D’altra parte,invece, gli stati sono peculiari a ogni dispositivo.Quindi, se si volesse ottenere un modello della casa personalizzato e “vir-tuale”, per esempio per eseguire alcune simulazioni, basterebbe creare unaistanza per ogni camera che si vuole avere nella casa (le stanze si trovano nelramo “Building Environment”); dopodichè basterebbe creare le istanze deidispositivi che si vogliono avere nelle singole stanze, come luci, interruttorio elettrodomestici (si trovano tutti in “Building Thing” > “Controllable” >“White Goods”) e assegnargli i tipi di funzionalità e i tipi di stato che sonoprevisti nelle loro classi.Fornendo alcune modalità di ragionamento, inoltre, DogOnt è in grado difornire la posizione di un dispositivo domotico nella casa, elencare l’insiemedelle sue caratteristiche, fornire le caratteristiche tecnologie necessarie perinterfacciarsi con quel dispositivo, dire come è composto l’ambiente domesti-co e presentare gli elementi architetturali e di mobilio che sono presenti nellacasa.Ci sarebbe ancora molto da dire riguardo questo argomento ma, per gli obiet-tivi di questa tesi non è necessario sapere altro: l’interfaccia utente si collegadirettamente con Dog che gli fornisce il modello della casa con tutti i suoidispositivi e non ha bisogno di modificare nè l’ontologia nè le regole di Do-gOnt. è sufficiente sapere cos’è un’ontologia, che i vari dispositivi hanno dellefunzionalità e degli stati e che Dog prende da qui il modello della casa, senzail quale nulla potrebbe funzionare.

3.3 Android

Conclusa la parte riguardante la domotica e in particolare Dog, focalizziamol’attenzione su Android, cercando di spiegare cosa è e come funziona, senza

24

Page 30: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

3.3. ANDROID

scendere troppo nel dettaglio. Android è un sistema operativo open-sourcebasato su kernel Linux e pensato per operare esclusivamente su dispositivimobili come smartphone e tablet, anche se negli ultimi tempi l’enorme suc-cesso di questa piattaforma, e l’estrema versatilità che essa sta dimostrando,stanno portando i maggiori produttori di gadget tecnologici a pensare diespanderne l’utilizzo su dispositivi come fotocamere, navigatori ed altri ac-cessori di quotidiano utilizzo.Android è distribuito da Google, ma la paternità del progetto è di una pic-cola società, Android Inc., acquisita nel 2005 proprio da Google che avevaintuito l’enorme potenzialità del progetto. La prima release è datata novem-bre 2007 anche se si dovette però aspettare fino al 23 settembre 2008 per illancio della versione 1.0 Apple Pie. Da lì in poi si sono succedute versionisu versioni, sviluppate con dei nomi in codice, rilasciate in ordine alfabeticoed identificate ognuna da una differente rappresentazione grafica, che hannoreso questo “simpatico” sistema operativo, il punto di riferimento per tutti iproduttori intenzionati ad affacciarsi al mondo dei dispositivi mobili.In figura 3.5 troviamo le maggiori distribuzioni commerciali di Android.

3.3.1 Risorse per gli sviluppatori

Le applicazioni per Android si possono differenziare per aspetto, utilità e peril modo in cui vengono gestite dal sistema stesso. Abbiamo infatti:

• Attività (Activity) Le attività sono quelle applicazioni destinate auna interazione diretta con l’utente. Un esempio sono l’applicazionesviluppata per il progetto che si stà discutendo in questa tesi, i video-giochi, i software per l’ufficio o i visualizzatori di E-book. Le attivitàvengono generalmente distribuite sotto forma di file “.APK”, vengonopoi installate in delle cartelle nella memoria del dispositivo o in unamemoria esterna (MicroSD card), infine viene creata una icona perl’utente, che gli permetterà di eseguirla in qualsiasi momento. Le at-tività vengono create come oggetti di classe Activity da cui ereditanoproprietà e metodi.

• Servizio (Service) I servizi sono, al contrario, quelle applicazioni cheper loro natura svolgono delle operazioni autonome e che vengono ri-chiamati dalle attività al bisogno. Il sistema operativo fornisce alleapplicazioni vari servizi già pronti all’uso, per ottenere l’accesso al-l’hardware o a risorse esterne (ad esempio dei web services di mes-saggistica). I servizi sono oggetti di classe Services. Un esempio di

25

Page 31: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

3.3. ANDROID

Figura 3.5: Maggiori distribuzioni commerciali di Android

servizio com.android.inputmethod.latin, ossia il componente che facomparire la tastiera quando si seleziona (con i tasti o con un toccosul touch-screen) un campo di input testuale. I servizi possono essereeseguiti o interrotti direttamente dall’utente, sebbene siano eventualitàalquanto rare.

• Fornitori di contenuti (Content provider) I fornitori di contenutisono dei contenitori di dati generati dalle applicazioni che ne fornisconouna condivisione; i dati possono essere contenuti nel file System, in undatabase SQLite, sul web o in una qualunque locazione di dati. Laclasse alla quale appartengono questi oggetti è ContentProvider.

• Ricevitori di trasmissioni diffuse (Broadcast receivers): I Broa-dcast receivers, di cui si fa ampio uso in wattsUP , permettono di rice-vere segnali rivolti a tutte le apps in esecuzione, per la condivisione didati o di segnali di servizio (come ad esempio quello di batteria scarica).I broadcast receivers, sebbene non usino l’interfaccia del sistema, pos-

26

Page 32: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

3.3. ANDROID

sono far apparire messaggi informativi che si sovrappongono all’outputdell’activity corrente.

• Il kernel e le librerie di base Questi componenti non sono sostitui-bili; al massimo sono aggiornabili alcune parti per correggere eventualiproblemi di sicurezza. Quando viene rilasciata una nuova versione diAndroid, significa che alcune di queste parti sono state aggiornate osostituite.

• Il file APK Il software viene solitamente distribuito sotto forma dipacchetto autoinstallante, quindi un file con estensione .APK . Questonon è altro che un file compresso, contenente il software (file con esten-sione .dex), le sue risorse (immagini, suoni ecc...) e alcuni file XML.L’utente medio non ha necessariamente bisogno di conoscere tale tipo-logia di file, dato che il dispositivo gestisce tutta la parte di installazionemediante web services come Google Play.All’interno di questo file c’è anche un certificato che permette l’instal-lazione di un pacchetto .APK su un dispositivo Android se questo nonè stato compromesso o revocato. Il certificato deve essere presente inqualsiasi pacchetto, altrimenti Android non installerà l’applicazione alsuo interno. Il certificato viene creato dallo sviluppatore dell’applicazio-ne, che può scegliere di crearne uno di debugging (quindi a uso interno)o di mercato (per la distribuzione) e può deciderne la sua diffusione del-le copie (libera o limitata). Il distributore (per esempio Google Play)ci aggiungerà poi una sua chiave, che potrà successivamente revocare,se necessario. In caso di revoca, l’applicazione non è più installabilenè eseguibile in nessun dispositivo Android. Se uno sviluppatore indi-pendente vuole poter distribuire un suo software con pacchetto .APK,senza passare per un web service certificato, può autocertificarsi il cer-tificato. In tal caso, l’utente riceverà un avviso che sta installando unsoftware di questo tipo (self-signed); a questo punto potrà annullarel’installazione o farla proseguire a suo rischio.

• Le classi La classe è un concetto della programmazione ad oggetti. Persemplificare, consiste nella suddivisione di un software in componenti,questo per evitare di usare il vecchio paradigma della programmazionelineare, che consiste nello stilare una lista di istruzioni sequenziali chepossono essere poco adattabili per l’aggiunta di ulteriori funzionalitàin futuro. Su Android tutti i componenti sono catalogati come classi erichiamabili da altri componenti se il programmatore ne permette que-sta possibilità.Per fare qualche esempio, le classi del package android.bluetooth

27

Page 33: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

3.3. ANDROID

permettono a uno sviluppatore indipendente di includere nella sua ap-plicazione la possibilità di comunicare con un’applicazione (la stessa oun’altra) installata su un altro dispositivo mobile, utilizzando il Blue-tooth. Esiste anche il package android.gesture, con al suo interno leclassi che permettono a una applicazione di ricevere le gestures, ossia itracciamenti di un dito che sfiora il touch-screen.Internamente, tutti i processi dei servizi in esecuzione vengono eseguiticon tali nomi e sono visibili nel menu Impostazioni.

3.3.2 Android SDK

Dopo aver parlato della suddivisione e della tipologia delle applicazioni chepossiamo ritrovare in Android, ci soffermiamo su alcuni aspetti leggermentepiù tecnici riguardanti ciò che stà alla base del software che viene sviluppatoper questo sistema operativo. Le applicazioni di Android sono sviluppate,infatti, all’interno di un framework, ossia di una struttura dati specifica. Lastruttura del framework è molto chiara se si utilizza l’ambiente di sviluppo(SDK) con Eclipse1; il mancato utilizzo di Eclipse, tuttavia, non impediscedi scrivere applicazioni Android funzionanti.Le applicazioni Android sono caratterizzate da una certa dualità: parti di-namiche scritte in Java e parti statiche scritte in XML. Tipico delle partistatiche possono essere quelle caratteristiche che non cambiano durante l’e-secuzione dell’applicazione, come per esempio il colore dello sfondo. Tipicodelle parti dinamiche sono gli aspetti programmatici come per esempio la ge-stione degli eventi. Questa dualità è però solo apparente. Durante l’esecuzio-ne, infatti, la Dalvik Virtual Machine (DVM) esegue sempre un programma.Per lo sviluppo delle applicazioni è disponibile una completa documentazionela quale, anche graficamente, riprende la struttura tipica della documenta-zione Java del sito Oracle.

La Dalvik Virtual MachineTramite l’SDK (o meglio tramite gli strumenti utilizzati mediante l’SDK) tra-sformiamo la nostra applicazione Android in un codice intermedio chiamatobytecode. Questo ad esempio è esattamente quello che accade abitualmentein Java, ossia:

1Eclipse: eclipse è un ambiente di sviluppo integrato multi-linguaggio e multipiattafor-ma ideato da un consorzio di grandi società quali Ericsson, HP, IBM, Intel, MontaVistaSoftware, QNX, SAP e Serena Software, chiamato Eclipse Foundation sullo stile dell’opensource. http://www.eclipse.org/

28

Page 34: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

3.3. ANDROID

Codice Java: compilazione: bytecode: VM -> esecuzione reale del programma

Questo bytecode viene eseguito dal un programma chiamato macchina vir-tuale (Virtual Machine, VM). Negli ambienti Android non viene utilizzata lamacchina virtuale Java, bensì è stata scritta una nuova VM chiamata DalvikVirtual Machine (DVM). Ogni terminale Android ha la sua DVM, come de-scritto nell’architettura del sistema, e il suo compito è solo quello di eseguireil bytecode. Avremo quindi la seguente catena di esecuzione:

Applicazione Android: compilazione: bytecode: DVM -> esecuzione realedell’applicazione Android

L’idea è questa: essendo la DVM uguale per tutti i dispositivi Android,ogni applicazione può essere eseguita su ogni terminale, indipendentementedal costruttore e dall’implementazione. La conseguenza di questa idea, cheè anche una visione, è stata che molti costruttori di dispositivi mobili hannoscelto Android, fornendo in questo modo ai propri utenti un ambiente con-diviso da moltissimi altri utenti.

Creazione, compilazione, emulazioneSempre tramite l’SDK possiamo passare dalla descrizione della nostra appli-cazione alla sua effettiva esecuzione sia in emulazione, sia su un dispositivoconcreto. Per descrivere l’applicazione al dispositivo prescelto si utilizza ilfile Manifest.xml Possiamo quindi affermare che un’applicazione è descrittacompletamente da una tripletta:

• Codice Java

• Risorse statiche xml

• Manifest.xml

Il codice Java viene compilato insieme all’xml per generare un file con esten-sione .apk: esso contiene il bytecode per la DVM. I passi successivi servonoper installare il bytecode nel dispositivo (ed eseguirlo in emulazione).

JavaIl linguaggio per applicazioni Android è un “dialetto” del linguaggio Java ecome abbiamo già detto anche la virtual machine è diversa (Dalvik).Nella tipica applicazione Android non c’è un entry point (metodo main) dadove normalmente un programma comincia a caricare le sue parti software

29

Page 35: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

3.3. ANDROID

e avviarsi. Tutto è pensato per essere un componente pilotato dagli eventi(Event Driven) dell’hardware o di altri componenti. Questo paradigma fa sìche il programmatore sviluppi per ogni hardware delle routine il più possi-bile indipendenti. Un vantaggio è che il sistema operativo potrà ottimizzarele risorse, ad esempio rinunciando a caricare componenti (e hardware) nonsupportati o non prioritari perchè inutilizzati. Inoltre, i componenti possonocondividere le loro funzionalità: se ad esempio un videogioco trova installatonel dispositivo un programma che ritocca le fotografie appena scattate conla fotocamera del dispositivo, può avviarlo (se l’utente glielo consente) perpermettere all’utente di ritoccare tali foto, sceglierne una e farsela passareper scopi ludici. Il tutto con una interfaccia grafica perfettamente integratae quindi senza tante aperture e chiusure di programmi. Ma soprattutto, ilprogrammatore è cosè sollevato dall’onere di dover creare un sottoprogettoper implementare una funzionalità già esistente sotto altra forma.

Risorse XMLI file con estensione .xml contengono esclusivamente parte dichiarativa con-tenente principalmente informazioni di tipo grafico o di supporto.Si suddividono quindi in:

• informazioni di layout

• supporto multilingue

Android Manifest XMLFile che descrive l’applicazione al dispositivo. Il Manifest elenca la lista dellenecessità del programma per poter operare nel sistema. Per esempio, se unaapk richiede la connessione alla rete, lo notifica nel Manifest e, qualora laconnessione non sia disponibile, l’applicazione verrà bloccata a runtime2. Ingenerale è opportuno ai fini della sicurezza vagliare attentamente il contenutodel Manifest, soprattutto se proviene da fonte non verificabile, e non instal-lare il programma qualora le richieste del Manifest non siano congrue con gliobbiettivi dichiarati del programma stesso, soprattutto nel caso di richiestedi connessione a linee di telefonia.

2Runtime: in informatica, il termine runtime o run-time (spesso reso in italiano cometempo di esecuzione) indica il momento in cui un programma per computer viene eseguito.

30

Page 36: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

3.4. XML-RPC

3.4 XML-RPC

Terminata anche la descrizione di Android, è necessario spendere qualcheparola su XML-RPC, che come si è già detto, è il protocollo che ci permettedi far interagire Dog con wattsUP. Più precisamente XML-RPC è un pro-tocollo utilizzato in informatica, che permette di eseguire delle chiamate aprocedure remote (RPC - Remote Procedure Call), attraverso lo standardXML, per codificare le richieste, e il protocollo HTTP come meccanismo ditrasporto. Nonostante la sua semplicità permette di trasmettere strutturedati complesse, chiedendone l’esecuzione ed avendone il risultato indietro.XML-RPC lavora mandando richieste HTTP al server che implementa ilprotocollo. Il cliente in questi casi è tipicamente un software che vuole chia-mare un metodo di un sistema remoto, a cui possono essere passati uno opiù parametri in ingresso, e che ritorna un solo valore. I tipi di parametripermettono l’annidamento in mappe o liste, in modo da poter trasportarestrutture dati di grandi dimensioni. Pertanto XML-RPC può essere utilizza-to per trasportare oggetti o strutture sia come parametri di ingresso che diuscita.L’identificazione dei client allo scopo di autorizzare gli accessi, può essere rag-giunto mediante i popolari metodi di sicurezza HTTP. L’autenticazione basedi accesso è usata per l’identificazione, e HTTPS è usato quando identifica-zione (per mezzo di certificati) e crittografia sono necessari, inoltre entrambei metodi possono essere combinati.Nell’applicazione sviluppata è stata integrata ed ottimizzata per l’uso conAndroid, una versione delle librerie XML-RPC utilizzata in un precedenteprogetto sviluppato in Java, che utilizzava lo stesso ambiente domotico ge-stito da wattsUP, ma in una versione meno recente dell’attuale.

Alcuni esempi di messaggi scambiati fra Dog e l’applicazione:

Richiesta esecuzione comando set con valore 50 per il device DimmerLam1:

<?xml version="1.0" encoding="UTF-8"?><dogmessage xmlns="http://elite.polito.it/domotics/dog2/DogMessage"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation= "http://elite.polito.it/domotics/dog2/DogMessageDogMessage.xsd" >

<commandmessage><commanddevice>

<devices>

31

Page 37: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

3.4. XML-RPC

<device uri="DimmerLamp1" /></devices>

<command name="set"><param>50.0</param>

</command></commanddevice>

</commandmessage><session>without this code DOG2 will not response</session></dogmessage>

Risposta da parte di Dog al comando STATE per il device SimpleLamp1:

<?xml version="1.0" encoding="UTF-8"?><dogmessage id="idmessage" date="2009-12-12T11:00:00" xmlns=

"http://elite.polito.it/domotics/dog2/DogMessage" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://elite.polito.it/domotics/dog2/DogMessage DogMessage.xsd" >

<statenotification uri="SimpleLamp1"><currentstate name="onOffState" value="On"/>

</statenotification></dogmessage>

32

Page 38: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4Design

Dopo aver introdotto gli obiettivi di questa tesi, ed aver parlato degli stru-menti necessari alla realizzazione dell’applicazione, in questo capitolo ver-ranno presentate le varie fasi che porteranno alla realizzazione dell’interfac-cia utente di wattsUP, mostrando l’architettura dell’ambiente in cui andràa collocarsi, esponendo e motivando le scelte progettuali fatte e analizzandogli aspetti più interessanti della sua realizzazione dal punto di vista dellaprogrammazione Android.

4.1 Introduzione

Dal capitolo 2, Obiettivi, si evince la necessità di avere alcune funzionalitàminime da implementare durante lo sviluppo dell’applicazione, che sono sta-te indicate con priorità “Richiesto” in tabella 2.1.Questa tabella risulta essere infatti il sunto di studi effettuati in merito agliIHD e del survey di cui si è già ampiamente discusso in precedenza, e riportaalcuni obiettivi con diverse priorità.Ai fini della tesi sarebbe stato necessario implementare solo le funzionalità“richieste”, tuttavia sono state sviluppate molte funzionalità “opzionali”, inmodo da rendere l’applicazione più completa possibile e dare la possibiltà al-l’utente di avere un controllo maggiore sulla propria abitazione, permettendodi controllare il singolo dispositivo quando possibile, piuttosto che soffermarsial semplice monitoraggio dei consumi per le stanze della casa.Avremo quindi un’applicazione che da una parte dovrà interagire con il ga-teway Dog, e dall’altra dovrà rispettare le linee guida di cui sopra.La realizzazione della versione finale di wattsUP presentata come risultatofinale di questo progetto, inoltre, ha richiesto diverse fasi preliminari:

33

Page 39: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.1. INTRODUZIONE

• lo studio delle caratteristiche di Dog, le modalità di connessione conesso e di come fosse possibile scambiare messaggi fra Dog e l’applica-zione;

• la realizzazione di versioni preliminari dell’interfaccia;

• la realizzazione del mock-up di wattsUP.

Per capire il funzionamento di Dog quindi è stata realizzata un’interfacciamolto scarna, come mostrata in figura 4.1. Questa interfaccia, quasi del tut-to testuale, permette infatti di realizzare lo scambio di messaggi essenziali,come quello di connessione o quello per la ricezione della configurazione dellacasa, per poterne studiare quindi la struttura e realizzare un parser da inse-rire successivamente nell’applicazione finale.

Figura 4.1: Interfaccia per i test di connessione con Dog

Il collegamento con Dog, effettuato grazie a XML-RPC, non ha presentatoparticolari difficoltà, anche grazie all’utilizzo di alcune librerie importate nelprogetto, create per il linguaggio Java. Tuttavia proprio la “traduzione” daJava al “dialetto” utilizzato in Android, non è stata priva di problemi, edha fatto sì che fosse necessaria un’attenta e scrupolosa analisi del codice, so-prattutto per evitare di ricadere in qualche errore di gestione dei messaggiscambiati o della connessione con Dog.Viceversa, la realizzazione dell’interfaccia finale ha presentato qualche diffi-coltà, non tanto nell’implementazione della stessa, ma piuttosto nel riuscire a

34

Page 40: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.2. SCELTE PROGETTUALI E FUNZIONALITÀ

trovare una combinazione grafica tra la semplicità d’utilizzo e la funzionalitàeffettiva. Il risultato finale infatti, è stato il frutto di diversi step implemen-tativi e versioni valutative intermedie, dovute soprattutto all’integrazionedi nuove funzionalità in corso d’opera, cercando sempre di mantenere fedeall’obiettivo principale di realizzare un’interfaccia semplice e al contempo in-tuitiva.Si è iniziato infatti abbozzando alcuni disegni di come l’interfaccia avrebbedovuto presentarsi, per poi passare alla realizzazione grafica su Android, otte-nendo infine l’interfaccia mostrata in figura 4.2, che rappresenta la schermataprincipale della versione finale di wattsUP .

Figura 4.2: Schermata principale wattsUP

4.2 Scelte progettuali e funzionalità

Come si può osservare in figura 4.2, si è cercato di fornire all’utente un’infor-mazione immediata in merito alla situazione energetica attuale, e al contempodi fornire dati in tempo reale su eventuali cambiamenti di stato o variazionidi potenza per qualche dispositivo presente in casa. Era necessario quindidare alla visualizzazione dell’appartamento una porzione importante dellospazio a disposizione sullo schermo, che fosse di immediato effetto all’occhiodell’utente nel caso di un cambiamento, soprattutto se di natura rilevante,

35

Page 41: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.2. SCELTE PROGETTUALI E FUNZIONALITÀ

come può essere l’accensione o lo spegnimento di un elettrodomestico cheinfluisce pesantemente sui consumi.È il caso di spendere due parole per descrivere le caratteristiche essenzia-li dell’interfaccia principale di wattsUP. Sulla sinistra, mostrato sempre infigura 4.2 e occupante circa l’80% dello schermo, troviamo l’area dedicataalla visualizzazione delle stanze presenti nella descrizione dell’appartamento,ricevuta da Dog in fase di connessione, ognuna con un colore, come spie-gheremo meglio più avanti, determinato dal consumo attuale dei dispositiviattivi all’interno di esse.Nella restante porzione di schermo troviamo una colonna divisa in due parti:

1. la parte superiore contiene un semaforo che indica lo stato energeticodella casa associandolo ad un colore, come si può osservare in figura4.3. La stessa indicazione è poi replicata in termini numerici e indicalo stato di consumo globale;

2. la parte inferiore ci indica invece quale dei dispositivi attivi sta attual-mente consumando più energia nell’intero appartamento (mostrato infigura 4.4).

Sono presenti inoltre, sempre nella colonna di destra, in base al consumoattuale della casa, 2 o 3 pulsanti:

1. situato al di sotto dell’indicatore numerico di consumo, il pulsante “war-ning” che avvisa del pericolo dell’attivazione del sistema di sicurez-za (disattivazione contatore elettrico) in caso di accensione di uno deidispositivi opportunamente elencati tramite la pressione del pulsantestesso; questo appare solo in caso esista almeno un dispositivo tale che,se attivato, il suo consumo, sommato a quello attuale della casa, eccedail limite massimo dell’appartamento, ad esempio 3kW, come mostratoin figura 4.3;

2. pulsate “info”, sovrapposto all’icona del dispositivo più energivoro dellacasa, visibile in figura 4.4, che se premuto ci mostra una finestra apopup con l’elenco dei 10 dispositivi che consumano di più;

3. pulsante “settings” in basso a destra, che fa apparire una finestra dipopup utile a modificare alcuni settaggi dell’app.

36

Page 42: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.2. SCELTE PROGETTUALI E FUNZIONALITÀ

(a) Consumo nella norma (b) Avviso attivato

Figura 4.3: Esempio attivazione automatica pulsante warning

(a) Dispositivo più energivoroin primo piano

(b) Pulsante Info selezionato

Figura 4.4: Dispositivo più energivoro e pulsante Info

37

Page 43: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.2. SCELTE PROGETTUALI E FUNZIONALITÀ

Dopo aver parlato delle funzionalità principali della schermata iniziale, è ilcaso di descrivere più dettagliatamente cosa avviene quando si tocca il displayin una delle zone che definiscono le varie funzioni disponibili.

4.2.1 Le stanze

Toccando lo schermo in una delle stanze presenti in casa verremo proiettatial suo interno, tramite la comparsa di una finestra di popup, come mostratoin figura 4.5.

Figura 4.5: Finestra di popup per la visualizzazione di una stanza

Al suo interno troveremo quindi tutti i dispostivi presenti in quella stanza,ottenuti in fase di connessione da Dog. La visualizzazione della stanza èsuddivisa in quattro parti:

1. la prima parte dove sono mostrati tutti i dispositivi della stanza presain considerazione; questi sono raffigurati tramite un’icona, rappresenta-tiva della tipologia del device, da un nome, unico per ogni dispositivo, eda un bollino opportunamente colorato che ne dà una prima indicazionesul consumo attuale, senza bisogno di doverci cliccare sopra;

2. un piccolo pannello informativo che riassume i consumi istantanei di:

• stanza presa in considerazione;

38

Page 44: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.2. SCELTE PROGETTUALI E FUNZIONALITÀ

• intero appartamento;

• dispositivo, se selezionato;

3. un grafico situato in alto a destra che ci mostra in tempo reale, tramitel’animazione della dimensione verticale delle barre e della colorazione,se qualche consumo varia mentre ci troviamo all’interno della camera;

4. un pannello informativo a comparsa, che ci fornisce tutti i dettagli deldispositivo selezionato, e ci dà la possibilità di comandare il dispositivonel caso in cui questo abbia a disposizione dei comandi azionabili.

4.2.2 Informazioni sui device più energivori

Il pulsante “Info”, già menzionato, e mostrato in figura 4.4, dà la possibilità diaccedere, tramite finestra a comparsa, ad una lista di dispositivi che stannoconsumando più energia in casa.

Figura 4.6: Lista dispositivi più energivori

39

Page 45: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.2. SCELTE PROGETTUALI E FUNZIONALITÀ

L’elenco degli elettrodomestici più energivori è limitato, per scelta proget-tuale, a dieci dispositivi. Nel caso ce ne siano di più, infatti, verranno elencatisolo quelli con i consumi più alti, in quanto in un appartamento difficilmentesi avranno, contemporaneamente attivi, un numero elevato di dispositivi conun consumo energetico eccessivo, in quanto si arriverebbe facilmente a supe-rare il limite massimo di potenza consentito dal proprio contratto di fornituraenergetica. Espandere l’elenco a più dispositivi, inoltre, lo farebbe diventaresemplicemente un elenco di tutti device attivi, e si perderebbe quindi la fun-zionalità che si voleva implementare. Questo popup informativo, mostrato infigura 4.6, ci dà per ogni dispositivo informazioni sul nome, sulla posizione,ovvero in quale stanza è situato, e sul consumo attuale. Inoltre cliccando suun qualsiasi dispositivo della lista, verremo portati nella vista della stanzain cui esso si trova, con il device già selezionato, avendo così la possibilità didisattivarlo, o eventualmente abbassarne la potenza se è consentito dal tipodi dispositivo.

4.2.3 Impostazioni

Fra gli obiettivi preposti compare anche quello di dotare l’appliczione di unacerta flessibilità nella gestione dell’interfaccia utente. Per questo motivo èstata implementata una schermata per la modifica di alcune impostazioni,basilari, ma che consentono all’utente di modificare, ad esempio, i tempi dinotifica della variazione energetica, abbassando o alzando le soglie α e β, dicui si spiegherà nel dettaglio il funzionamento nel prossimo paragrafo.Tramite la pressione quindi del pulsante “settings”, situato in basso a destranella schermata principale, si accede ad una finestra di impostazioni, mostra-ta in figura 4.7.La schermata è suddivisa in due parti: in alto troviamo una sezione infor-mativa, con dati non modificabili, quale il proprio indirizzo IP, quello delgateway domotico e il consumo attuale dell’appartamento; in basso inveceabbiamo due slider per modificare le soglie con cui tutti gli elementi del-l’applicazione gestiscono la colorazione (indicazioni numeriche dei consumi,colorazione delle stanze, indicatore di consumo sui dispositivi, ecc.) e uncampo di testo che consente la modifica del valore di potenza massima ge-stito del contatore di energia. Infine più in basso troviamo il tasto “Save”per salvare le impostazioni modificate, e il tasto “Reset” per caricare i datidi default dell’applicazione:

• alpha = 0.4

• beta = 0.8

40

Page 46: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.2. SCELTE PROGETTUALI E FUNZIONALITÀ

Figura 4.7: Finestra impostazioni wattUP

• max home power = 3.0 kW

4.2.4 Gestione della colorazione

Come si è già avuto modo di accennare, all’interno dell’app che si stà illu-strando vi è una gestione accurata dei vari elementi della casa, dalle stanze aidispositivi, dal consumo totale della casa a quello parziale degli elettrodome-stici. Questa gestione riguarda soprattuto il modo in cui dispositivi, stanzee notifiche di consumo rappresentano le variazioni di potenza che avvengonoall’interno dell’appartamento. Si può osservare per esempio come in figura4.2 vi siano alcune stanze colorate diversamente.In dettaglio la gestione della colorazione delle stanze in questa interfacciabasata sulla visualizzazione a feedback diretto, viene trattata considerandola potenza assorbita dalla stanza in tempo reale, rapportata sia al consumodell’intera casa, che al massimo consumo teorico nominale di ogni stanza.Quando si parla di consumo nominale, si intende il massimo consumo che lastanza potrebbe avere nel caso in cui tutti i dispositivi connessi (o quelli chepotrebbero essere utilizzati in quella stanza), fossero attivi e consumasseroil loro massimo consumo nominale. Il forno ad esempio (Electrical Oven intabella 4.1) ha un consumo nominale di 2200W; questo non significa che selo accendiamo debba assorbire tutti 2200W, dipende ad esempio da quanti

41

Page 47: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.2. SCELTE PROGETTUALI E FUNZIONALITÀ

gradi vogliamo che raggiunga, ma per calcolare la frazione di potenza assor-bita dalla cucina rispetto a tutte le altre, F(cucina), verrà considerato questovalore.

Tabella 4.1: Consumi nominali dispositivi gestiti da Dog

Stanza Dispositivo Consumo nominaleKitchen Electric oven 2200W

Microwave oven 700WFridge 150WNeon lamp 11WDishwasher 1200WCoffee maker 1000WTV 60W

Bathroom Washing machine 2250WLamp 15W

Living room Stereo 80WLamp 15WDVD Reader 20WTV 60W

Lobby Lamp 15W

Bedroom Ceiling lamp 80WAlarm Clock 7WNotebook 70W

La formula per calcolare questa frazione per ogni stanza, risulta essere laseguente:

F (r) =

∑d∈Df (r)

PD(d)∑d∈D PD(d)

,

dove r indica la stanza che si sta considerando per il calcalo; al numeratoretroviamo la sommatoria di tutte le potenze nominali dei dispositivi d ap-partenenti a Df (r), cioè all’insieme dei dispositivi installati in r, mentre aldenominatore abbiamo la sommatoria delle potenze nominali di tutti i decived ∈ D, con D insieme di tutti i dispositivi presenti in casa.Ad ogni stanza viene quindi assegnata una parte della massima potenzaPR(r), ottenuta moltiplicando la potenza massima della casa PM per le

42

Page 48: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.2. SCELTE PROGETTUALI E FUNZIONALITÀ

frazioni precedentemente calcolate:

PR(r) = PM · Fr

A runtime quindi a ogni stanza viene assegnato un colore (verde, giallo orosso) in base al rapporto fra il consumo attuale della stanza PA(r) e la quotamassima di potenza per ogni stanza PR(r); il colore assegnato dipenderà dalvalore di questo rapporto, secondo i seguenti valori di soglia:

PA(r)

PR(r)∈

[0, α) , verde[α, β) , giallo[β, 1] , rosso

Per scelta progettuale la soglia inferiore di α è impostata a 0.1, mentre quellasuperiore di β a 0.9, secondo la seguente relazione:

0.1 ≤ α < β ≤ 0.9 ,

inoltre la differenza minima fra le due soglie è impostata a 0.1.I valori α e β sono anche utilizzati per determinare il colore dell’indicatorevisivo di consumo associato ad ogni dispositivo, seguendo la stessa suddivi-sione a soglie, ma considerando il rapporto PA(d)

PN (d), dove PA(d) è il consumo

attuale del dispositivo d, e PN(d) è la potenza nominale dello stesso.Tutte le indicazioni numeriche dei consumi presenti nell’applicazione, seguo-no le regole di gestione della colorazione appena esposte, differenti quindi perstanze e dispositivi.Come si è già detto α e β presentano dei valori di default di 0.4 e 0.8 rispetti-vamente, tuttavia tramite gli slider presenti nella finestra delle impostazioni,osservabili in figura 4.7, è possibile modificare questi valori, dando la possi-bilità all’utente di modificare le soglie con cui avvengono le assegnazioni deicolori.

4.2.5 Visualizzazione allarme

Un’altra caratteristica di cui è bene illustrare la funzionalità, è la visualizza-zione di un allarme visivo nel caso in cui esista almeno un dispositivo in casa,non attivo, il cui valore di potenza nominale, sommato al consumo attualedi tutta l’abitazione, superi la potenza massima consentita. Il programmainfatti, ogni qual volta arriva una notifica di potenza da Dog, verifica fra tuttii dispositivi non attivi, che la somma dei due valori non superi al soglia di

43

Page 49: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.3. REALIZZAZIONE DELL’INTERFACCIA UTENTE

potenza della casa; se ne viene trovato almeno uno, il software inizia a creareuna lista di tutti questi dispositivi, facilmente visualizzabile premendo sulpulsante di avviso che viene mostrato sotto il consumo totale della casa nellaschermata principale, come è possibile vedere in figura 4.3.Lo scopo di questo avviso quindi, è quello di dare all’utente l’informazione diessere in pericolo di disattivazione del contatore energetico, che è quello cheavverrebbe, infatti, se si accendesse uno dei dispositivi mostrati nella lista,come mostrato in figura 4.8.

Figura 4.8: Lista dispositivi da non accendere

4.3 Realizzazione dell’interfaccia utente

Dopo aver descritto le principali funzionalità dell’applicazione sviluppata, sivuole spostare l’attenzione sulla realizzazione dell’interfaccia utente. Comeè stato già detto, con Android si ha una separazione netta, quasi totale, frala parte logica e quella grafica. Infatti, mentre la parte algoritmica vieneimplementata in Java, la realizzazione dell’interfaccia avviene tramite codiceXML, o quantomeno è quello che accade per le parti statiche di un’applica-

44

Page 50: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.3. REALIZZAZIONE DELL’INTERFACCIA UTENTE

zione.In wattsUP, come in molti altri software, sono presenti spesso elementi fissiche non dovranno subire cambiamenti durante l’uso dell’applicazione stessa;tale immutabilità li rende i soggetti ideali per essere descritti per mezzo dicodice XML. Ma per altri elementi grafici dell’applicazione sarebbe impos-sibile una gestione statica, in quanto renderebbe l’app stessa inutilizzabilenel caso in cui la descrizione della casa, il numero di stanze o dei dispositivi,variasse nel corso del tempo, o se l’applicazione venisse usata in un diversocontesto domotico.

4.3.1 La disposizione delle stanze

Prendiamo ad esempio proprio il numero di stanze presenti nell’interfacciaprincipale di wattsUP, mostrato in figura 4.2. Tale numero, in questo casosei, è determinato a runtime e si ottiene dalla configurazione iniziale dell’a-bitazione, richiesta a Dog in fase di connessione e quindi variabile in baseall’ambiente controllato.La disposizione delle camere quindi avviene per mezzo di un algoritmo ap-positamente elaborato, che permette di inserire nello porzione dedicata delloschermo, un numero qualsiasi di stanze, in modo da ottenere un risulta-to sempre gradevole e bilanciato. In figura 4.9 possiamo osservare quattroesempi di disposizione delle stanze, variando solo il numero di stanze qRoomspassato al metodo paintRooms().In questo caso quindi abbiamo variato manualmente il valore di qRooms, manella realtà questo viene ricavato automaticamente dalla descrizione dell’am-biente controllato ricevuto da Dog, insieme ad altre informazioni, quali nomedella stanza, dispositivi presenti all’interno, ecc.A seguire alcune porzioni di codice del metodo paintRooms(), contenenti lerighe essenziali per il calcolo della disposizione delle stanze:

int qRooms = myHome.size();int nRows = 1;while (((float) qRooms / (float) nRows) > nRows) {

nRows++;}//number of rooms for each rowint quoz = (int) (qRooms / nRows);//rows with one more roomint mod = qRooms % nRows;

45

Page 51: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.3. REALIZZAZIONE DELL’INTERFACCIA UTENTE

(a) qRooms = 4 (b) qRooms = 8

(c) qRooms = 10 (d) qRooms = 13

Figura 4.9: Esempio disposizione automatica stanze

Si parte assegnando a qRooms la dimensione di myHome, che è la strutturadati contenente la descrizione dell’intera abitazione. Successivamente si creala variabile nRows inizializzandone il valore a 1. Quindi per mezzo di un ciclowhile, si itera l’operazione di incremento del valore di nRows, fintanto che ilvalore del rapporto qRooms

nRows continua ad essere maggiore di nRows stesso. Nonappena questa diseguaglianza non è più verificata, si esce dal ciclo. Dopodi-chè si calcolano il quoziente quoz ed il modulo mod, del rapporto menzionato,che rappresenteranno rispettivamente il numero di stanze per ogni riga, e ilnumero di righe che dovranno avere una stanza in più rispetto alle altre ri-ghe. Cerchiamo di chiarire il concetto illustrato con un esempio numerico:se si hanno per esempio 10 stanze, quindi qRooms = 10, avremo che nRowsrisulterà essere 4, mentre quoz e mod avranno rispettivamente i valori 2 e 2.Ciò significa che avremo mod righe con quoz + 1 stanze (2 righe con 3 stanzenell’esempio) e le rimanenti righe con quoz stanze, cioè 2, come mostratoanche in figura 4.9(c).Definita quindi la disposizione delle camere, per mezzo di altri controlli ven-gono assegnati colore, nome e bordo esterno per ogni stanza. La scelta infatti

46

Page 52: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.3. REALIZZAZIONE DELL’INTERFACCIA UTENTE

di fornire un bordo arrotondato per le stanze situate negli angoli della scher-mata, ha comportato uno sforzo notevole nell’implementazione del codice.Nella fase di “disegno” di ogni stanza infatti, se ne controlla la posizione(laterale sinistra o destra, centrale, bordo superiore o inferiore) per mezzodi variabili d’appoggio, collegate ai valori trovati precedentemente. Bisognaricordare che non conosciamo a prescindere il numero di stanze, tantomenoil consumo, quindi sarebbe impossibile un’assegnazione statica del contornopresente per ogni stanza. Sono stati descritte quindi tutte le tipologie distanze possibili, per mezzo del linguaggio XML, con le diverse colorazioniammesse, e poi assegnati dinamicamente durante la fase di creazione delladisposizione delle camere. A seguire un esempio di codice riguardante larappresentazione di una stanza, nello specifico shape_room_topl_amber.xml

shape_room prefisso comune a tutte le descrizioni di stanze;

topl indica la stanza in alto a sinistra;

amber indica che è la descrizione per una stanza gialla.

<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android=

"http://schemas.android.com/apk/res/android" ><item>

<shape android:shape="rectangle" ><stroke

android:width="5dp"android:color="@color/strokeColor" />

<solid android:color="@color/amberRoom"/>

<cornersandroid:bottomLeftRadius="0dp"android:bottomRightRadius="0dp"android:topLeftRadius="10dp"android:topRightRadius="0dp" />

</shape></item>

</layer-list>

47

Page 53: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.3. REALIZZAZIONE DELL’INTERFACCIA UTENTE

4.3.2 Visualizzazione delle stanze

Dopo aver parlato dell’implementazione della struttura della casa, si spen-derà qualche parola per descrivere come vengono rappresentate le stanze alloro interno. Si è già detto come ogni stanza sia suddivisa in quattro aree,osservabile in figura 4.5:

1. dispositivi;

2. riepilogo consumi;

3. grafico situazione energetica della casa;

4. comandi dispositivi.

La prima parte, dove vengono rappresentati i dispositivi è realizzata me-diante una gridview. La gridview è un elemento grafico di Android, chepermette di visualizzare degli oggetti in una griglia bidimensionale scorribile.Ogni volta che si fà accesso ad una camera, il metodo contenente il codi-ce atto a popolare tale gridview, riceve in ingresso la lista dei dispositivipresenti in quella stanza, e la trasforma in una rappresentazione in griglia,suddividendola quindi in righe e colonne. Il numero di colonne dipende dallagrandezza dell’aria dedicata alla gridview stessa e alla dimensione del lay-out rappresentante ogni dispositivo, mentre il numero di righe chiaramentedipende da quante colonne si riesce a inserire per ogni riga. Nel caso in cuidovessero esserci un numero di dispositivi, tali da non rientrare nello spaziodedicato, la gridview fornisce già un controllo di scrolling per visualizzarecosì un numero di oggetti indipendente dalla grandezza del’area di visualiz-zazione dedicata. Ogni dispositivo quindi viene rappresentato mediante unlayout fisso, creato appositamente per dare le informazioni necessarie.Questo layout contiene:

• un’icona rappresentante il dispositivo, categorizzato per tipologia e lo-calizzata all’interno dell’applicazione; nel caso in cui un nuovo disposi-tivo di una tipologia sconosciuta venisse aggiunto alla descrizione dellacasa, questo verrà rappresentato mediante un’icona standard, fornitaappositamente per questo tipo di evenienze;

• un campo di testo mediante il quale viene visualizzato il nome deldispositivo;

• un indicatore di consumo gestito sempre tramite l’alternarsi dei coloriverde, giallo e rosso secondo la metodologia di calcolo già approfondita.

48

Page 54: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.3. REALIZZAZIONE DELL’INTERFACCIA UTENTE

(a) devicericonosciuto

(b) deviceselezionato

(c) devicesconosciuto

Figura 4.10: Differenti rappresentazioni device

In figura 4.10 possiamo osservare alcuni esempi di rappresentazione e gestio-ne dei device noti e nel dettaglio 4.10(c), cosa accade se il device è di un tiponon riconosciuto dall’applicazione.Per quanto riguarda invece l’area della finestra dedicata al grafico dei consu-mi, inizialmente si era ingrato un servizio web based, Google Chart EditorBeta1. Per mezzo di un url generato ad hoc, che integrava i consumi e idati di cui si voleva ottenere il grafico, si effettuavano delle richieste http, checome risposta fornivano il grafico sotto forma di immagine.Nonostante il risultato fosse molto gradevole, questa soluzione è stata scar-tata per più di un motivo: in primo luogo necessitava di Internet, ma nonsi voleva che l’applicazione avesse questo vincolo progettuale; inoltre biso-gnava mandare una richiesta per un nuovo grafico ogni qual volta avvenivaun cambiamento energetico. Considerando poi che il servizio è in fase Beta,quindi passibile di annullamento del progetto stesso, si è optato per crearedei metodi personalizzati per la gestione della visualizzazione mediante ungrafico dei consumi.Il risultato, osservabile in figura, mostra per mezzo di un’animazione a com-parsa orizzontale delle barre, da sinistra verso destra, i consumi energeticidella stanza in analisi, la somma dei consumi delle altre stanze, ed il tota-le della casa. Ogni volta che una notifica energetica arriva all’applicazione,anche il grafico viene automaticamente aggiornato. Il metodo che gestisce lacreazione si chiama getGraph(), mentre quello che si cura dell’aggiornamentoin caso di variazioni dei consumi è updateGraph().Entrambe i metodi non fanno altro che calcolare dei valori di iniziali e finalida dove far deve partire e arrivare il grafico per creare l’animazione, rappor-

1Google Chart Editor Beta: https://developers.google.com/chart/

49

Page 55: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.3. REALIZZAZIONE DELL’INTERFACCIA UTENTE

(a) (b)

Figura 4.11: Esempio variazione grafico dopo l’attivazione di un dispositivoin stanza

tandoli però sia allo spazio a disposizione che al valore di potenza massima.Calcolati quindi questi parametri si utilizza un terzo metodo, getAnimation()per ottenere l’animazione del tutto.L’ultima area della stanza di cui ci occuperemo è quella riservata alla gestio-ne dei comandi dei dispositivi. Selezionando infatti un dispositivo qualsiasi,apparirà in basso a destra un pannello informativo. Questo presenta alcunidettagli del dispositivo selezionato, quali il tipo di sistema domotico (Elite,Konnex, ecc.), il consumo nominale e lo stato attuale del dispositivo, comemostrato in figura 4.12. Sulla sinistra di questo pannello si trova un selettore,che se premuto ci porta alla visualizzazione del pannello dei comandi, diffe-renti per ogni tipologia di dispositivo, e in alcuni casi assente se il controllodi quel dispositivo non è stato ancora implementato in Dog.

(a) Informazioni device (b) Comandi device

Figura 4.12: Esempio pannello informativo e di comando di due device

50

Page 56: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.3. REALIZZAZIONE DELL’INTERFACCIA UTENTE

4.3.3 Elementi grafici

Per quanto concerne quindi la raffigurazione dei comandi, come si è anchepotuto notare dalle immagini precedenti, si è lavorato molto sulla perso-nalizzazione grafica, evitando di utilizzare pulsanti, slider o qualsiasi altroelemento grafico standard fornito da Android. Si è cercato quindi di dareuna sensazione di uniformità all’applicazione, modificando le strutture chel’SDK di Android ci fornisce quando possibile, come nel caso dello slider, ocreando dei controlli ex-novo.Nelle immagini di seguito sono mostrati alcuni esempi della grafica creata edelle differenze con gli elementi standard di Android.

(a) Slider personalizzato

(b) Slider standard

Figura 4.13: Personalizzazione slider

(a) Switchpersonalizzato

(b) Switchstandard

Figura 4.14: Personalizzazione switch

(a) UPnormale

(b) UPpremuto

Figura 4.15: Personalizzazione pulsante UP

51

Page 57: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.4. INTERAZIONE CON DOG

Altri esempi di personalizzazione sono già stati visti nei paragrafi prece-denti durante la spiegazione delle funzionalità dei pulsanti settings, info ewarning.

4.4 Interazione con Dog

Descritte quindi tutte le funzionalità principali e gli elementi grafici che com-pongono l’applicazione wattsUP, rimane solo da chiarire come questa comu-nica con il gateway domotico Dog.

Figura 4.16: Ciclo di vita applicazione Android

52

Page 58: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.4. INTERAZIONE CON DOG

Le comunicazioni sono concettualmente divise in due parti:

1. connessione;

2. attesa/invio informazioni di stato.

Non appena si avvia l’applicazione infatti, si controlla in quale stadio delciclo di vita si trova e se è quello inerente al primo avvio di quella sessione,si lancia l’activity dedicata alla connessione.Il ciclo di vita di un’applicazione Android, infatti, è composto da vari stadi,come mostrato in figura 4.16, motivo per cui si può riconoscere facilmente sel’applicazione si sta avviando o se si trovava già in background per esempio.Quando si lancia wattsUP, all’interno del metodo onCreate() essa verificase è il primo avvio per quella sessione e in caso affermativo lancia una secon-da activity, ConnectionActivity, dedicata a stabilire una connessione conDog, altrimenti prosegue il suo ciclo di vita normalmente.Di seguito la sezione di codice dedicata alla connessione:

public final BroadcastReceiver onConnect = new BroadcastReceiver() {@Overridepublic void onReceive(Context ctxt, Intent i) {

Log.d("loggingActivity", i.getAction());if (i.getAction().equalsIgnoreCase("CONNECTED")) {

connected = true;progressText.setText("Connected...");String[] message = {"describe_device"};dog.sendMessage(message);progressText.setText("Getting Home description...");

}if (i.getAction().equalsIgnoreCase("DESCRIBE_DEVICE")) {

progressText.setText("Parsing Data...");String xml = dog.getXmlMessage();try {

InputStream description =new ByteArrayInputStream(xml.getBytes("UTF-8"));

parser.parseXml(description);// usiamo il parsermyHome = parser.getParsedData_Room();String[] message = {"consumptions"};dog.sendMessage(message);progressText.setText("Retrieving consumptions...");

} catch (UnsupportedEncodingException e) {e.printStackTrace();

53

Page 59: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.4. INTERAZIONE CON DOG

}}if (i.getAction().equalsIgnoreCase("CONSUMPTIONS")) {

progressText.setText("Parsing Data...");String xml = dog.getXmlMessage();try {

InputStream consumptions =new ByteArrayInputStream(xml.getBytes("UTF-8"));

parser.parseXmlConfiguratio(consumptions, myHome);gs.setHome(myHome);progressText.setText("Get Devices State...");String[] message = {"state"};dog.sendMessage(message);

} catch (UnsupportedEncodingException e) {e.printStackTrace();

}}if(i.getAction().equalsIgnoreCase("STATE")){

progressText.setText("Parsing Data...");String xml = dog.getXmlMessage();try {

InputStream state =new ByteArrayInputStream(xml.getBytes("UTF-8"));

parser.parseXmlState(state, myHome);String[] message = {"notificationListener"};dog.sendMessage(message);progressText.setText("Set Notification Linstener...");gs.setDogLG(dog);Intent mainActivity = new Intent(getApplicationContext(),

MainActivity.class);connected = false;float totCons = 0.0f;for (int i1=0; i1<myHome.size();i1++){

for(int j=0;j<myHome.get(i1).listDevice.size();j++){totCons = totCons +

myHome.get(i1).listDevice.get(j).getInstCons();}

}if(totCons > gs.getMaxHomePower())

gs.setMaxHomePower((int)totCons+400);Editor prefsEditor = prefs.edit();prefsEditor.putBoolean("FIRST_START", false);prefsEditor.

54

Page 60: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.4. INTERAZIONE CON DOG

putString("SERVER_IP_ADDRESS", gs.getServerIp());prefsEditor.

putString("CLIENT_IP_ADDRESS", gs.getClientIp());prefsEditor.putFloat("ALPHA", gs.getAlpha());prefsEditor.putFloat("BETA", gs.getBeta());prefsEditor.putInt("MAX_POWER", gs.getMaxHomePower());prefsEditor.commit();startActivity(mainActivity);progressLayout.setVisibility(View.GONE);unregisterReceiver(onConnect);registered = false;gs.setFirstStart(false);finish();

} catch (UnsupportedEncodingException e) {e.printStackTrace();

}}if (i.getAction().equalsIgnoreCase("NOTIFICATION")) {

;}if(i.getAction().equalsIgnoreCase("CONNECTION_ERROR")){

String xmlMessage = i.getExtras().getString("xml");Toast.makeText(getApplicationContext(),

xmlMessage, Toast.LENGTH_LONG).show();progressLayout.setVisibility(View.GONE);unregisterReceiver(onConnect);registered = false;connected = false;showSettingsPopup();

}}

};

Come si può osservare, tramite l’utilizzo della classe BroadcastReceiver, sieffettua lo scambio di messaggi con Dog, effettuando in ordine le richieste di:

connessione → descrizione dell’ambiente e dei dispositivi → consumi no-minali → stato attuale → registrazione di un listener

alla fine di questa sequenza di passaggi, vengono salvati tutti i dati otte-nuti, si lancia nuovamente l’activity principale e si distrugge quella correnterichiamando il metodo finish().

55

Page 61: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.4. INTERAZIONE CON DOG

Nella schermata iniziale, come mostrato in figura 4.17, viene visualizzato ilnome dell’applicazione e l’informazione sul progresso dello stato di ricezionedei dati da Dog.L’ultimo passaggio effettuato prima di tornare all’activity principale è sta-

Figura 4.17: Schermata di connessione

to quello di registrare un listener, utile per ricevere informazioni sugli statie sui comandi da impartire ai vari dispositivi. Il listener, quindi, registra-to su Dog resterà in attesa di messaggi da parte dell’applicazione, comead esempio un comando di accensione o spegnimento di un dispositivo, oqualsiasi altro messaggio di variazione di stato. Tuttavia anche l’applica-zione avrà il suo listener, implementato sempre tramite l’utilizzo della classeBroadcastReceiver. Bisogna infatti ricordarsi che la possibiltà di comanda-re i dispositivi tramite l’applicazione non esclude che l’utente possa attivare odisattivare qualsiasi elettrodomestico manualmente. Questi comandi manualisaranno gestiti dal gateway domotico, che dovrà comunicare all’applicazionel’avvenuto cambiamento di stato ed energetico, motivo per cui bisogna che ilsoftware sia capace di gestire questo tipo di informazioni sia in entrata che inuscita, e questo avviene appunto tramite il codice implementato all’internodel BroadcastReceiver.

56

Page 62: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

4.5. ORGANIZZAZIONE E RIUSABILITÀ DEL CODICE

4.5 Organizzazione e riusabilità del codice

Nel realizzare questa versione di wattsUP si è posta particolare attenzione aprodurre codice leggibile, ben documentato e riutilizzabile.Per raggiungere tale scopo si è pensato a una certa modularità all’interno delprogetto, come già visto all’interno di questo capitolo.Ogni funzionalità offerta dall’applicazione è stata pensata e implementata inmodo da essere indipendente il più possibile dalle altre. Si è cercato infattidi creare metodi ben strutturati, che possano essere riutilizzati anche in altricontesti senza doverne stravolgere la struttura.Molto importante anche la separazione della parte logica da quella grafica.Abbiamo già detto infatti di come buona parte della struttura grafica sia sta-ta realizzata per mezzo di codice XML. Ogni schermata, da quella principalea quella delle impostazioni, possiede un layout statico, una sorta di “schele-tro” a cui verranno poi applicate le informazioni a runtime. Questo rendepossibile effettuare facilmente modifiche grafiche, senza doversi preoccuparedi danneggiare la parte di logica annessa, e senza difficoltà di localizzazionedel file da modificare. All’interno di un’applicazione Android si può già tro-vare infatti una classificazione in cartelle dei vari elementi.Inoltre il tipo di impostazione grafica che si è data all’applicazione, è statarealizzata in modo da poter cambiare completamente aspetto, modificando ocreando nuovi file con combinazioni di colori per lo sfondo delle finestre, peri bordi, o il colore dei testi.

57

Page 63: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

5Testing

Dopo aver parlato di tutti gli aspetti più importanti inerenti allo sviluppodell’applicazione, è doveroso portare l’attenzione sulla fase di testing a cuila stessa è stata sottoposta. Nello sviluppo di qualsiasi software infatti,uno degli step fondamentali è il test, e per quanto riguarda l’applicazionesviluppata in occasione di questa tesi, si è ritenuto di dover eseguire, nellospecifico, un test di usabilità, in quanto fra gli obiettivi principali, inerentila realizzazione dell’app, figurava come punto chiave che il software sarebbedovuto risultare semplice, intuitivo ed efficace.È stato pertanto redatto un questionario da sottoporre ad alcune persone,nello specifico sei.I partecipanti, per lo più giovani, si possono dividere in due categorie:

• esperti touch (persone che hanno confidenza con dispositivi touch);

• non esperti touch (persone che hanno avuto esperienze al massimooccasionali con tali dispositivi).

Le domande di ricerca, da sottoporre agli intervistati dopo aver svolto il test,trattano i seguenti argomenti:

• struttura dell’applicazione;

• facilità a intuire il funzionamento;

• utilità e comprensione delle informazioni ricevute;

• difficoltà a comandare un dispositivo.

Il metodo utilizzato per interagire con gli utenti è il metodo “think-aloud”.Questo metodo consiste nel chiedere ai tester di verbalizzare ad alta voce i

58

Page 64: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

propri pensieri, commenti ed emozioni, durante l’esecuzione dei vari compitida eseguire. In questo modo si mette a nudo la differenza tra il modellomentale del progettista e quello dell’utente, con l’obiettivo quindi, di ridurreil più possibile il divario tra i due.Il test consiste di quattro fasi:

1. questionario iniziale, dove si raccolgono dei dati sull’intervistato (oc-cupazione, sesso, età ed esperienza nell’utilizzo di un dispositivo touchAndroid);

2. task da eseguire utilizzando l’applicazione dal tablet;

3. questionario finale riguardante l’utilizzo dell’applicazione;

4. debriefing1.

La lista dei task da far eseguire agli utenti è la seguente:

• T1: Trovare il consumo istantaneo della cucina

• T2: Accendere la lampada “SimpleLamp_ lamp9_ bathroom” in BATHROOMe verificarne il consumo

• T3: Entrare in KITCHEN, verificare quanto consuma “fridge1” ed usciredalla stanza

• T4: Cambiare un’impostazione a scelta tra quelle modificabili e salvare

• T5: Trovare il 3◦ dispositivo più energivoro della casa

• T6: Verificare qual è il dispositivo che sta consumando di più attual-mente e quanto sta consumando

• T7: Il contatore sta per saltare, come lo capisci?

• T8: Provare a cambiare la soglia con cui le stanze diventano rosse

• T9: Uscire dall’applicazione1Debriefing: il debriefing è la valutazione finale di un processo http://www.

problemsetting.it/pages/debriefing.htm

59

Page 65: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

5.1. SVOLGIMENTO DEL TEST

5.1 Svolgimento del test

Prima di svolgere il test, è stato illustrato verbalmente ad ogni utente, comeil test si sarebbe svolto. Si era pensato inizialmente di fornire una cono-scenza di background all’utente, spiegando, senza scendere nel dettaglio, lefunzioni principali dell’applicazione e la sua struttura grafica, per poi lasciareall’utente due/tre minuti per prendere confidenza con l’app stessa, prima diiniziare la fase dei compiti da svolgere.Tuttavia, dopo aver svolto dei test preliminari su altri due utenti, fornen-do ad uno il background di conoscenza sull’applicazione e all’altro no, peranalizzare la difficoltà ad affrontare il test nei due casi, si è deciso di saltarequesta parte, dando magari qualche secondo in più all’utente per utilizzarel’applicazione e la possibilità di porre qualche domanda che non influenzassel’esito del test stesso.All’utente quindi, dopo aver compilato il questionario iniziale, si daranno unpaio di minuti per utilizzare l’applicazione liberamente; dopodichè dovrà af-frontare i task elencati in precedenza.Questi compiti, spiegati uno per volta dal moderatore prima di essere esegui-ti, vengono svolti in ordine differente per ogni utente, cercando così di evitareche l’esecuzione in ordine di stesura faciliti lo svolgimento dei task successivie che quindi non vengano alla luce eventuali problemi di usabilità.Durante l’esecuzione dei task, viene chiesto all’utente di dire a voce altaquello che pensa, e il modo in cui vuole affrontare e risolvere il compito as-segnatogli.Questo tipo di approccio, parte del metodo think-aloud, causa spesso sog-gezione nei tester, come se lo scopo principale fosse testare la loro abilitàpiuttosto che l’applicazione; motivo per cui viene esplicitamente sottolinea-to che questa modalità di esecuzione serve esclusivamente ad avvicinare ilpensiero dell’utente a quello del programmatore, come già detto, e che ov-viamente il soggetto del test è il software e non l’utilizzatore; viene anchechiarito che non esistono risposte giuste o sbagliate, ma solo approcci diffe-renti all’applicazione e all’esecuzione dei compiti.Conclusa questa parte del test, l’utente sarà invitato a rispondere ad alcunedomande inerenti l’esperienza d’uso avuta con l’applicazione, riconoscendosiin una delle seguenti risposte:

• Sono fortemente in disaccordo

• Sono in disaccordo

• Non sono nè d’accordo nè in disaccordo

60

Page 66: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

5.1. SVOLGIMENTO DEL TEST

• Sono d’accordo

• Sono fortemente d’accordo

L’ultima domanda, infine, riguarda la valutazione complessiva all’applicazio-ne; si chiede infatti all’utente di esprimere un giudizio numerico che consideratutti gli aspetti riguardanti l’esperienza avuta con l’applicazione.L’ultima sezione del test riguarda il debriefing. Vengono poste all’utentealcune domande a cui deve rispondere liberamente, al fine di esprimere leproprie sensazioni e suggerimenti per migliorare l’approccio con l’applicazio-ne, sia a livello grafico che funzionale, o anche per eventuali suggerimenti persviluppi futuri e nuove funzionalità da implementare.

61

Page 67: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

6Risultati Ottenuti

In questo capitolo si presentano alcuni risultati ottenuti dall’analisi dell’in-terfaccia utente di wattsUP. In particolare, ci si soffermerà su qualche analisiqualitativa e si valuterà l’interfaccia rispetto alle linee guida esposte in ta-bella 2.1 e riportate in maniera estesa nel capitolo 2.Non è stato possibile svolgere un’indagine quantitativa per l’applicazionesviluppata. Lla varietà dei dispositivi tablet Android presente sul mercatoinfatti, renderebbe questa operazione lunga e comporterebbe degli enormi co-sti. Tuttavia la possibilità di lavorare inizialmente con l’emulatore ufficiale diAndroid, e successivamente con il tablet Asus TF300, fornito dal Politecnico,hanno dato ottimi risultati prestazionali, rendendo l’utilizzo dell’applicazionepiacevole e fluida. Il tablet utilizzato dispone infatti di un processore quad-core, nonchè di 1GB di RAM, specifiche adatte a eseguire programmi benpiù esosi in termini di risorse.Delle ulteriori prove sono state effettuate con un tablet Samsung Galaxy Tab10.1, armato di una CPU dual-core e di 1 GB di RAM, ottenendo le stessesensazioni di fluidità e piacevolezza di utilizzo, nonostante la CPU disponessedi 2 core in meno.

6.1 Analisi qualitativa

Come anticipato al capitolo precedente, l’applicazione è stata soggetta a deitest di usabilità da parte di un gruppo di utenti (6 persone), non omogeneoper competenze inerenti l’utilizzo di dispositivi touch.In base ai risultati ottenuti dai test svolti, è stato possibile ricavare alcuneconsiderazioni preliminari di tipo qualitativo.La totalità degli utenti, innanzitutto, ha apprezzato la chiarezza e l’elegan-za dell’interfaccia nel suo complesso ed è riuscita a utilizzarla senza grossi

62

Page 68: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

6.1. ANALISI QUALITATIVA

problemi. L’immediatezza dell’utilizzo si è vista soprattutto nel momento incui dovevano interagire con la sezione dedicata alle varie stanze dell’appar-tamento: l’accedere alle stanze tramite quel modello visivo è stato, per tutti,una cosa assolutamente naturale.Si è preferito, come accennato precedentemente, non dare spiegazioni in meri-to all’interfaccia e alle funzionalità, ma lasciare interagire i tester per qualcheminuto con l’applicazione. Sorprendentemente, chi non aveva familiarità coni dispositivi touch, ha avuto un feeling immediato con l’applicazione, rispettoa chi era abituato ad utilizzare dispositivi touch, sia Android che iOS1.Probabilmente questa reazione è dovuta alle aspettative che un utente, co-noscitore di tali sistemi operativi mobili, ha nei confronti di un’interfacciagrafica; infatti, nonostante wattsUP sia realizzata utilizzando una versionedell’SDK di Android molto recente, si è cercato di realizzare un’interfacciapersonalizzata, come descritto nei capitoli precedenti, che con molta proba-bilità spiazza gli abituè di questo tipo di sistemi, mentre facilita, data lasemplicità che si è cercato di attribuire all’applicazione, chi si approccia aquesto tipo di dispositivi per le prime volte.Fatta eccezione, quindi, per questa sensazione di disorientamento durata po-chi istanti per qualche utente esperto, nel complesso tutti gli intervistati sonoriusciti a portare a compimento i task sottoposti, senza particolari impedi-menti.Lo svolgere i task assegnati in ordine diverso per ogni utente, ha in qual-che caso agevolato l’esecuzione degli stessi, a causa del fatto che nei taskprecedenti, si era già affrontato un compito simile. Tuttavia questo non hacomportato grandi difficoltà, ma ha solo richiesto, per alcuni utenti, qualchesecondo in più per svolgere il compito assegnatogli.Fra tutti, il task T7, “Il contatore sta per saltare, come lo capisci?”, ha de-stato qualche perplessità per alcuni utenti. Il motivo è facilmente imputabileal fatto che la visualizzazione di tale avviso nell’applicazione avviene solo inparticolari casi, quindi per una piena comprensione di questo task duranteil test, ci sarebbe voluto più tempo, nonchè una simulazione dell’ambientedomestico più accurata. Per svolgere i test nel modo più realistico possibileinfatti, si sono dovuti simulare algoritmicamente i consumi di alcuni disposi-tivi presenti in casa. Tuttavia il funzionamento dell’avviso è stato compresoed apprezzato sia dagli utenti che l’hanno intuito da soli, sia da chi inizial-mente aveva presentato qualche dubbio.Infine uscire dall’applicazione, operazione per la maggior parte degli utenti

1iOS: iOS (precedentemente iPhone OS) è un sistema operativo sviluppato da Apple periPhone, iPod touch e iPad. È una derivazione di UNIX (famiglia BSD) e usa un microkernelXNU Mach basato su Darwin OS. http://it.wikipedia.org/wiki/IOS_(Apple)

63

Page 69: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

6.1. ANALISI QUALITATIVA

banale, ha richiesto un indizio per chi non aveva familiarità con la piattafor-ma Android. Per svolgere tale operazione si usa il tasto Back, che, previaconferma tramite popup informativo mostrato in figura 6.1, esce definitiva-mente dall’applicazione, oppure il tasto Home, per mettere l’applicazione instand-by, entrambi comportamenti standard di Android. Risulta perciò pocochiaro, per chi non ha familiarità con i dispositivi touch, il metodo usato dalsistema operativo stesso per trattare queste due operazioni.Tutti gli intervistati si sono trovati d’accordo nel dire che la struttura data

Figura 6.1: Richiesta conferma uscita dall’applicazione

all’applicazione risulta semplice e comprensibile, e che apprenderne il funzio-namento sia stato facile e immediato.Metà degli intervistati hanno risposto di non trovarsi nè in accordo nè in di-saccordo con la domanda “Pensi che l’app sia semplice da utilizzare? ”, mentrel’altra metà ha risposto positivamente.Nel complesso il giudizio finale degli utenti è stato di 4 punti su 5. Un pun-teggio sicuramente più che buono considerando comunque la poca maturitàdel progetto, essendo infatti stato sviluppato per intero nei pochi mesi pre-visti per la tesi.I risultati raccolti infine dal debriefing proposto alla conclusione dei test, haconfermato una soddisfazione generale nei confronti dell’applicazione e del-le funzionalità offerte, portando alla luce anche dei difetti di minore entitàe suggerendo delle piccole migliorie. Le modifiche, quando ritenute utili ofattibili, sono state apportate all’applicazione non appena conclusa la fase

64

Page 70: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

6.2. VALUTAZIONE RISPETTO AGLI OBIETTIVI PREPOSTI

di test. Non sono mancati inoltre alcuni suggerimenti per eventuali sviluppifuturi.

6.2 Valutazione rispetto agli obiettivi preposti

Durante il capitolo 4, descrivendo le varie componenti e funzionalità dell’in-terfaccia utente realizzata, si affermava, talvolta, che una certa caratteristicanasce da una delle linee guida proposte in tabella 2.1 o che, comunque, larispettava.In tabella 6.1, è possibile trovare il dettaglio e il riassunto di quali linee guidawattsUP rispetta o no, ricordando che l’obiettivo iniziale era quello di rea-lizzare un’applicazione semplice e intuitiva, e rispettare anche, per quanto lefunzionalità di Dog permettessero, alcune richieste emerse fuori dal surveydi cui si è ampiamente discusso in precedenza.

Tabella 6.1: Valutazione rispetto agli obiettivi preposti

Requisito Priorità Rispettato?

Interfaccia a feedbackdiretto

Richiesto Sì, l’interfaccia finale utiliz-za il metodo di visualizza-zione a feedback immediatodegli eventi

Interfaccia a goalenergetici

Richiesto Parzialmente, in quantol’appliazione è strutturatain modo da essere facilmen-te espandibile e gli elementigrafici contenuti in essa so-no già predisposti per que-sta visualizzazione. Non èstata implementata soprat-tutto per i tempi richiestiper la fase di testing con gliutenti

Continua...

65

Page 71: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

6.2. VALUTAZIONE RISPETTO AGLI OBIETTIVI PREPOSTI

Tabella 6.1 – Continua dalla pagina precedente

Requisito Priorità Rispettato?

Visualizzazione deiconsumi basta sullavariazione dei colori

Richiesto Sì, tutti gli elementi gra-fici dell’applicazione rispet-tano le regole di rappresen-tazione dei consumi tramitevariazione dei colori

Consumo parziale perogni stanza

Opzionale Sì

Consumo elettrico deidispositivi

Opzionale Sì, tutti i dispositivi attual-mente gestiti da Dog han-no il pieno supporto per lavisualizzazione dei consumi

Possibilità di control-lare i dispositivi

Opzionale Sì, anche in questo caso so-lo per i dispositivi attual-mente supportati da Dog,ma l’applicazione è predi-sposta per funzionare sen-za bisogno di ulteriori ag-giornamenti, non appena al-tri dispositivi saranno residisponibili

Allarme disattivazionecontatore elettrico

Richiesto Sì, l’applicazione avvisanon appena esiste almenoun device che se attivatoporterebbe alla disattivazio-ne del contatore

Gestione razionale deivari ambienti

Richiesto Sì, gli ambienti seguono del-le regole di proporzionalitàin base ai massimi consumiteorici di ogni stanza, rap-portati alla potenza massi-ma erogabile per tutta lacasa

Mobilità Opzionale Sì, l’applicazione è statasviluppata per funzionare sudispositivi mobili touch

Continua...

66

Page 72: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

6.2. VALUTAZIONE RISPETTO AGLI OBIETTIVI PREPOSTI

Tabella 6.1 – Continua dalla pagina precedente

Requisito Priorità Rispettato?

Flessibilità Richiesto Sì, si forniscono vari settag-gi per dare all’utente la pos-sibilità di gestire soglie ener-getiche e potenza massimaerogabile. In fase di connes-sione l’applicazione ricono-sce automaticamente l’indi-rizzo IP del tablet, tuttavianel caso di errori di connes-sione fornisce la possibilitàdi modificare sia il proprioindirizzo IP, che quello delgateway domotico

Come si può vedere, vengono rispettate tutte le linee guida, tranne una,andando così ben oltre l’obiettivo di rispettare solo le specifiche con prioritàpiù alta.

67

Page 73: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

7Conclusioni e sviluppi futuri

L’applicazione progettata ha le potenzialità per diventare la base di parten-za per molte altre future applicazioni per il controllo di ambienti domoticicasalinghi o di altra natura.Esistono già applicazioni che svolgono parzialmente o in toto i compiti chewattsUP assolve, tuttavia come si evince anche dalle ricerche svolte, essenon soddisfano alcuni dei parametri che si sono imposti come obiettivi perlo sviluppo di questa applicazione.Si ricordi infatti, che i risultati del survey preso in analisi, sono serviti soprat-tuto a stilare una lista di caratteristiche, alcune essenziali e altre opzionali,che l’applicazione da sviluppare avrebbe dovuto possedere.Proprio in tale contesto c’è da sottolineare che l’applicazione soddisfa tuttele richieste e gli obiettivi preposti, a meno della realizzazione della secondatipologia di interfaccia grafica. Quest’ultima, basata su goal periodici, si rive-lerebbe utile soprattutto per obiettivi di risparmio energetico più ambizionie sul lungo periodo, piuttosto che sull’immediato, come per l’interfaccia afeedback diretto implementata.Inoltre, per il momento, Dog non supporta uno storico dei dati riguardan-ti i consumi e gli avvenimenti energetici della casa, funzionalità necessariase si vuole implementare un’interfaccia che lavora sui consumi energetici sullungo periodo, a meno di non registrare tutti i dati sul tablet, che tuttaviaperderebbe la funzione primaria di tablet, e non dovrebbe mai essere spento.L’applicazione risulta pertanto, per semplicità d’utilizzo e funzionalità offer-te, unica nel suo genere, perchè è costruita intorno a delle specifiche richiestegrafiche e funzionali da parte degli utenti.Inoltre, essendo estremamente personalizzabile e ampliabile, anche grazie allaseparazione strutturale fra parte logica e parte grafica, l’attuale versione diwattsUP può fornire un’ottima base per eventuali miglioramenti, modifichee funzionalità aggiuntive.

68

Page 74: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

7.1. POSSIBILI SVILUPPI FUTURI

7.1 Possibili sviluppi futuri

I risultati dei test di usabilità condotti, ed esposti nel capitolo precedente,evidenziano come l’applicazione sia stata apprezzata da parte degli utenti,sia in termini estetici, che funzionali.Nella fase finale dei test si sono comunque raccolti ulteriori pareri da partedei tester, su come l’applicazione potesse essere migliorata, sia tramite mo-difiche grafiche, che funzionali.A tal proposito si elencano di seguito alcune nuove caratteristiche e funzio-nalità che potrebbe essere utile introdurre in wattsUP :

• localizzazione

wattsUP è stata implementata in modo da poter fornire facilmentein futuro la localizzazione in lingue diverse dall’inglese, lingua attual-mente in uso, aggiungendo semplicemente un file, strings.xml, allastruttura dell’applicazione, e fornendo un’opzione di selezione linguanelle impostazioni. Questo file, uno per ogni lingua per cui si vuolefornire la localizzazione, dovrà contenere le traduzioni delle stringhedescrittive di tutti gli oggetti esistenti.

• realizzazione interfaccia a goal energetici

fortemente richiesta dai risultati del survey, nel caso in cui l’obietti-vo principale sia il risparmio di energia sul lungo periodo, questo tipodi interfaccia rappresenta uno degli sviluppi futuri più importanti damettere in atto. L’applicazione è già strutturata in modo da esserefacilmente espandibile e gli elementi grafici contenuti in essa sono giàpredisposti per questo tipo di visualizzazione.

• cambio temi

l’interfaccia è realizzata in modo da permettere facilmente in futurodi fornire nuovi temi per la grafica dell’applicazione. Basta infatti ag-giungere nuovi stili personalizzati al file style.xml già presente nell’ap-plicazione, e fornire l’opzione di cambio tema nella schermata delleimpostazioni.

• spostare l’ordine delle stanze tramite drag&drop

un suggerimento ricavato dai risultati dei test di usabilità effettuati

69

Page 75: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

7.1. POSSIBILI SVILUPPI FUTURI

è di avere la possibilità, per mezzo di un tocco prolungato su una stan-za, di riposizionare le stanze secondo l’ordine preferito dall’utente e nonsecondo l’ordine di ricezione ottenuto dal gateway domotico in fase diconnessione.

• soglie personalizzate per ogni ambiente

potrebbe rivelarsi utile fornire un livello di gestione della colorazio-ne delle stanze più dettagliato, personalizzando quindi le soglie con cuivariano i colori non più a livello globale, ma a livello di stanza; in que-sto modo si potrebbe decidere, per esempio, di gestire gli avvisi per lestanze più energivore in modo più scrupoloso e personalizzato.

• avvisi e comandi vocali

si nota sempre più frequentemente, con lo sviluppo di servizi comeGoogle Now1 di Android, o Siri2 della Apple, di come i comandi vocalistiano acquistando una rilevante importanza nella vita di tutti i giorni,motivo per cui un’ulteriore caratteristica che si potrebbe fornire all’ap-plicazione wattsUP è la gestione vocale delle sue principali funzionalitàe la sintesi vocale per gli avvisi da visualizzare.

• fornire più livelli di avvisi

un altro suggerimento estrapolato dai risultati dei test effettuati, ri-guarda la possibilità di fornire non solo l’avviso di disattivazione delcontatore energetico, ma un nuovo avviso ogni qual volta si supera unasoglia energetica stabilita in fase di configurazione.

• esecuzione di un test utente in un ambiente reale

i test utente rappresentano sempre uno step fondamentale per lo svi-luppo di un’applicazione, ragion per cui sarebbe utile testare wattsUPin un ambiente reale e per un periodo ragionevole di tempo, in mododa poter confermare sul campo i risultati positivi già ottenuti durantei test eseguiti in ambiente simulato.

1Google Now: è un “assistente personale intelligente” che lavora come un’applicazioneper Android. L’applicazione usa un linguaggio naturale per rispondere a domande, fareraccomandazioni, o eseguire dei compiti, delegando le richieste ad un set di Web services.http://en.wikipedia.org/wiki/Google_Now

2Siri: è un software basato sul riconoscimento vocale integrato da Apple nell’iPhone4S, nell’iPhone 5, nell’iPad (terza generazione) e pubblicizzato come “assistente personale”.http://it.wikipedia.org/wiki/Siri_(software)

70

Page 76: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

7.1. POSSIBILI SVILUPPI FUTURI

71

Page 77: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

Parte I

Appendici

72

Page 78: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

ATest Plan

Obiettivi generali del test

Verificare che l’applicazione “wattsUP ” sia più intuitiva possibile nella vi-sualizzazione dei consumi e nella gestione dei dispositivi.

Domande di ricerca

• La struttura grafica dell’applicazione è di facile intuizione?

• Le informazioni ricevute sono utili e semplice da capire?

• Comandare un dispositivo è possibile senza troppe difficoltà?

Alla fine della sessione avremo i seguenti dati:

• Problematiche riscontrate dagli utenti;

• Suggerimenti ottenuti grazie al debriefing finale;

• Il protocollo think-aloud ci permetterà di capire cosa confonde gli utentie che problemi incontrano durante l’utilizzo dell’applicazione.

Caratteristiche dei partecipanti

3 giovani → “esperti” (persone che hanno usato già dispositivi “touch”)3 non giovani → qualunque

73

Page 79: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

Metodo

Useremo il metodo think-aloud che chiede agli utenti di verbalizzare a vocealta i propri pensieri, commenti ed emozioni durante la navigazione. Il me-todo del think-aloud mette a nudo le differenze tra il modello mentale delprogettista e quello dell’utente. Obiettivo è mettere più possibile in vicinanzaquesti due modelli.

Il moderatore spiegherà brevemente la struttura dell’interfaccia grafica, poilascerà qualche minuto all’utente per prendere confidenza con essa. Dopodi-chè gli darà un task da svolgere.

N. TASK SUCCESSO ? MISURAZIONI

T1 Trovare il consumoistantaneo della cuci-na

Il consumo istanta-neo è stato trovato

Think-aloud

T2 Accendere la lampa-da “SimpleLamp_lamp9_bathroom” in BATHROOMe verificarne il consu-mo

La lampada è sta-ta accesa corretta-mente e il consumoverificato

Think-aloud

T3 Entrare in KITCHEN,verificare quanto con-suma “fridge1”, eduscire dalla stanza

È riuscito ad entra-re, verificare il cor-rettamente il con-sumo ed uscire

Think-aloud

T4 Cambiare un’impo-stazione a scelta traquelle modificabili esalvare

Le impostazioni so-no state cambiatecorrettamente

Think-aloud

T5 Trovare il 3◦ dispo-sitivo più energivorodella casa

Il dispositivo è sta-to trovato corretta-mente

Think-aloud

T6 Verificare qual è il di-spositivo che sta con-sumando di più at-tualmente e quantosta consumando

Il dispositivo è sta-to trovato

Think-aloud

74

Page 80: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

T7 Il contatore sta persaltare, come lo capi-sci?

L’avviso è stato ca-pito

Think-aloud

T8 Provare a cambiare lasoglia con cui le stan-ze diventano rosse

La soglia è statacambiata corretta-mente

Think-aloud

T9 Uscire dall’applicazio-ne

Si è usciti corretta-mente dall’applica-zione

Think-aloud

Dati da raccogliere:

• Facilità d’uso generale;

• Facilità di apprendimento generale;

• Complessità nell’eseguire un comando per un dispositivo;

• Impressioni sulla gestione dei colori in relazione ai consumi.

SCRIPTPreparazione

Facciamo partire l’app

Introduzione alla sessione

Grazie per aver accettato di prendere parte a questo test.

Il test ha lo scopo principale di valutare se la situazione energetica dell’am-biente domestico controllato sia di facile comprensione e semplicemente ge-stibile.

Ti spiego come si svolgerà il test. Ti saranno richieste diverse azioni chedovrai compiere utilizzando il tablet. Io ti spiegherò che cosa devi fare inciascuna azione, una per volta. Le spiegazioni che ti darò sono scritte inmodo che io possa dare le stesse informazioni a tutti i partecipanti.

75

Page 81: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

Per tutti i task che dovrai fare, ti chiederò di dire a voce alta quello chestai pensando e quello che stai per fare. Dimmi tutto senza preoccuparti disembrare banale o di ripeterti e ricordati che non stiamo testando te, mal’app. Sappi che non ci sono risposte giuste o sbagliate.

L’intero test dovrebbe durare circa 12-20 minuti.

Se non hai domande, possiamo iniziare.

(Dopo aver avviato l’applicazione)

Breve spiegazione dell’app1.

• Sulla sinistra dello schermo, occupante più di 2/3 di esso, è presenteuna descrizione della casa, dove ci sono 6 stanze, all’interno della qualeognuna avrà i propri dispositivi;

• Sulla destra c’è una colonna divisa in 2 parti:

1. la parte superiore contiene un semaforo che indica lo stato ener-getico della casa associandolo ad un colore; la stessa indicazione èreplicata in termini numerici e indica lo stato di consumo globale;

2. la parte inferiore ci indica quale dei dispositivi attivi, sta attual-mente consumando più energia nell’intero appartamento;

• Sono presenti, sempre nella colonna di destra, in base al consumoattuale della casa, 2 o 3 pulsanti:

1. accanto all’indicatore del consumo, il pulsante “warning” che av-visa del pericolo dell’attivazione del sistema di sicurezza (disatti-vazione contatore elettrico) in caso di accensione di uno dei dispo-sitivi opportunamente elencati tramite la pressione del pulsante;questo appare solo in caso esista almeno un dispositivo tale che,se attivato, il suo consumo, sommato a quello attuale della casa,ecceda il limite massimo dell’appartamento, ad esempio 3kW;

2. pulsate “info”, sovrapposto all’icona del dispositivo più energivorodella casa, che se premuto ci dà un elenco dei 10 dispositivi checonsumano di più;

1La parte della spiegazione è stata infine omessa all’utente.

76

Page 82: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

3. pulsante “settings”, in basso a destra, che fa apparire una finestradi popup utile a modificare alcuni settaggi dell”app.

• Cliccando su una stanza, appare una finestra che fornisce dettagli sullastessa, elencandone i dispositivi presenti e le informazioni energeticheattuali; cliccando su uno qualsiasi dei dispositivi, ritroviamo alcunidettagli relativi al dispositivo stesso e i comandi disponibili, ad esempioapri/chiudi o accendi/spegni, ecc.

Ti lascio qualche minuto per prendere confidenza con l’applicazione, dopodi-chè inizieremo la parte dei task.

Task

Bene, possiamo iniziare con il test vero e proprio. Se devi chiedermi qualcosa,parla pure ad alta voce.

Immagina di essere nel tuo appartamento e di dover fare le azioni che divolta in volta di dirò.Iniziamo con la prima. . .

Ordine dei task

I task saranno seguiti in ordine diverso per ogni utente:

1: T1, T2, T3, T4, T5, T6, T7, T8, T9

2: T3, T4, T1, T2, T6, T8, T7, T5, T9

3: T4, T3, T2, T1, T8, T6, T5, T7, T9

4: T7, T5, T6, T8, T1, T2, T3, T4, T9

5: T5, T7, T8, T6, T4, T3, T2, T1, T9

6: T8, T6, T7, T3, T5, T4, T1, T2, T9

Conclusione

Come ultima cosa ti chiederei di affrontare un rapido questionario e di ri-spondere ad alcune domande riguardanti la tua esperienza con l’app.

77

Page 83: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

Questionario finale

Alla luce della tua esperienza con l’applicazione, valuta le seguenti affer-mazioni:

1. Pensi che l’app sia semplice da utilizzare?

Sono for-temente indisaccordo

Sono in di-saccordo

Non sono néd’accordo néin disaccordo

Sono d’accor-do

Sono for-temented’accordo

2. Pensi che la struttura dell’app sia semplice e comprensibile?

Sono for-temente indisaccordo

Sono in di-saccordo

Non sono néd’accordo néin disaccordo

Sono d’accor-do

Sono for-temented’accordo

3. È stato facile apprendere il funzionamento del programma?

Sono for-temente indisaccordo

Sono in di-saccordo

Non sono néd’accordo néin disaccordo

Sono d’accor-do

Sono for-temented’accordo

Dà ora una valutazione complessiva sull’applicazione, esprimendo un voto da1 a 5, dove 1 è il voto più basso, mentre 5 il più alto:

◦ 1 - Pessima

◦ 2 - Non accettabile

◦ 3 - Accettabile

◦ 4 - Buona

◦ 5 - Ottima

78

Page 84: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

Debriefing

Alcune domande da fare a voce alla fine del test:

1. Cosa cambieresti in un app del genere?

2. Che cosa bisognerebbe introdurre per migliorare l’usabilità e l’intera-zione con l’utente?

3. Problemi nella visualizzazione delle stanze e dei dispositivi (dettagli,comandi, ecc.)?

4. Colori, icone e comandi sono intuitivi?

5. Suggerimenti e opinioni.

79

Page 85: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

BCommenti utente

Vengono elencati di seguito tutti i commenti e le proposte suggerite dagliutenti che hanno effettuato il test di usabilità, al fine di migliorare il “feeling”con l’applicazione, o espanderne le funzionalità:

• rendere più indentificabile la presenza della impostazionidue utenti hanno richiesto che la presenza del pulsante “settings” fossepiù visibile, o meglio localizzata;

• fornire dei dettagli informativi sulla gestione delle soglie dicolorazioneun utente ha espresso la richiesta di avere più informazioni sul fun-zionamento delle soglie per la gestione della colorazione degli elementigrafici;

• eliminare i dati duplicati nella stanzala presenza del grafico animato dei consumi, all’interno delle stanze, èstata vista da parte di un utente, come un’informazione duplicata;

• fare comparire più livelli di avvisiun tester ha suggerito di avere più livelli di avvisi, ad esempio ognivolta che viene superata una certa soglia energetica;

• rendere più dinamica la rappresentazione delle stanzeè stato suggerito di aggiungere la possibilità di modificarne l’ordine concui le stanze vengono rappresentate, che di default è lo stesso ordinecon cui Dog invia la descrizione all’applicazione;

• aggiungere una “gesture” che implementi lo sliding fra le variestanze

80

Page 86: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

un utente avrebbe preferito poter passare da una stanza all’altra uti-lizzando particolari comandi gestuali sullo schermo, come ad esempiouno sliding;

• migliorare la gestione del pannello informazioni/comandiè stato richiesto da due utenti di migliorare la gestione del pannello,presente all’interno delle stanze, che si occupa di dare informazioni egestire i comandi del dispositivo selezionato.

81

Page 87: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

Elenco delle figure

1.1 Confronto tra impianto elettrico tradizionale e impianto do-motico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Esempio funzionalità gateway domotico . . . . . . . . . . . . . 5

2.1 Vista, ad alto livello, del contesto in cui si colloca l’interfacciautente da realizzare . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2 Esempio visualizzazione livelli energetici in un sistema dellaNNOX Domotics . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.1 Come l’interfaccia utente è connessa a Dog . . . . . . . . . . . 18

3.2 esempio di architettura domotica . . . . . . . . . . . . . . . . 19

3.3 L’architettura logica di Dog . . . . . . . . . . . . . . . . . . . 20

3.4 L’ontologia di DogOnt . . . . . . . . . . . . . . . . . . . . . . 23

3.5 Maggiori distribuzioni commerciali di Android . . . . . . . . 26

4.1 Interfaccia per i test di connessione con Dog . . . . . . . . . . 34

4.2 Schermata principale wattsUP . . . . . . . . . . . . . . . . . . 35

4.3 Esempio attivazione automatica pulsante warning . . . . . . . 37

4.4 Dispositivo più energivoro e pulsante Info . . . . . . . . . . . . 37

4.5 Finestra di popup per la visualizzazione di una stanza . . . . . 38

4.6 Lista dispositivi più energivori . . . . . . . . . . . . . . . . . . 39

4.7 Finestra impostazioni wattUP . . . . . . . . . . . . . . . . . . 41

4.8 Lista dispositivi da non accendere . . . . . . . . . . . . . . . . 44

4.9 Esempio disposizione automatica stanze . . . . . . . . . . . . . 46

4.10 Differenti rappresentazioni device . . . . . . . . . . . . . . . . 49

4.11 Esempio variazione grafico dopo l’attivazione di un dispositivoin stanza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.12 Esempio pannello informativo e di comando di due device . . . 50

4.13 Personalizzazione slider . . . . . . . . . . . . . . . . . . . . . 51

82

Page 88: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

ELENCO DELLE FIGURE

4.14 Personalizzazione switch . . . . . . . . . . . . . . . . . . . . . 51

4.15 Personalizzazione pulsante UP . . . . . . . . . . . . . . . . . . 51

4.16 Ciclo di vita applicazione Android . . . . . . . . . . . . . . . . 52

4.17 Schermata di connessione . . . . . . . . . . . . . . . . . . . . 56

6.1 Richiesta conferma uscita dall’applicazione . . . . . . . . . . . 64

83

Page 89: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

Elenco delle tabelle

2.1 Linee guida per lo sviluppo dell’interfaccia utente dell’appli-cazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.1 Consumi nominali dispositivi gestiti da Dog . . . . . . . . . . 42

6.1 Valutazione rispetto agli obiettivi preposti . . . . . . . . . . . 65

84

Page 90: wattsUP: monitoraggio energetico su Androidelite.polito.it/files/thesis/fulltext/AntociDaniele.pdf · 2014. 10. 6. · POLITECNICO DI TORINO III Facoltà di Ingegneria Corso di Laurea

Bibliografia

[1] D. Bonino, F. Corno, and E. Castellina. The DOG Gateway: EnablingOntology-based Intelligent Domotic Environments. 2008.

[2] D. Bonino, F. Corno, and L. De Russis. Home Energy ConsumptionFeedback: A User Survey. Elsevier, Pages 383-393, 2012.

[3] A. Dix, J. Finlay, G.D. Abowd, and R. Beale. Human-ComputerInteraction. 3rd edition, Pearson Education, 2004.

[4] Vitaly Friedman. Data Visualization: Modern Approa-ches. http://www.smashingmagazine.com/2007/08/02/data-visualization-modern-approaches/.

[5] Ron Goldberg. Question When Considering Home Automa-tion. http://hdliving.com/home-technology/2012/02/09/questions-home-automation.

[6] Gordon Meyer. Smart Home Hacks: Tips and Tools for Automatingyour House. O’Reilly Media, 2004.

[7] Paul J. Deitel; Harvey M. Deitel; Abbey Deitel; Michael Morgano.AndroidTM for Programmers: An App-Driven Approach. Prentice Hall,2011.

[8] Giles Parkinson. Origin of an energy revolution.http://www.climatespectator.com.au/commentary/origin-energy-revolution.

[9] Giuseppe Gustavo Quaranta. La domotica per l’efficienza energeticadelle abitazioni. Maggioli, 2009.

[10] Quentin Wells. Smart Grid Home (Go Green with Renewable EnergyResources). Delmar Cengage Learning, 2012.

[11] Wikipedia. http://en.wikipedia.org/wiki/Android_(operating_system).

[12] Nathan Yau. 21 (Eco)Visualizations for Energy Consump-tion Awareness. http://flowingdata.com/2008/04/03/21-ecovisualizations-for-energy-consumption-awareness/.

85