Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

53
Universit` a degli Studi di Camerino Scuola di Scienze e Tecnologie Corso di Laurea in Informatica (Classe L-31) Definizione e sviluppo di un sistema di configurazione per Private Assisted House Laureando Relatore Michele Bravi Prof. Francesco De Angelis Matricola 085858 Correlatore Prof. Barbara Re A.A. 2013/2014

Transcript of Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Page 1: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Universita degli Studi di Camerino

Scuola di Scienze e Tecnologie

Corso di Laurea in Informatica (Classe L-31)

Definizione e sviluppo di un sistema di

configurazione per Private Assisted House

Laureando Relatore

Michele Bravi Prof. Francesco De AngelisMatricola 085858

Correlatore

Prof. Barbara Re

A.A. 2013/2014

Page 2: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House
Page 3: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

a tutti quelli che......continuano a sopportarmi.

3

Page 4: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House
Page 5: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Indice

1 Introduzione 7

2 Il progetto Pass 11

2.1 Descrizione del progetto . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2 Contesto di riferimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.3 Obiettivi della “Private Assisted House” . . . . . . . . . . . . . . . . . . 12

2.4 Definizione dei profili assistenziali . . . . . . . . . . . . . . . . . . . . . . 13

2.5 Utenti assistiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.6 Definizione e caratteristiche della smart home . . . . . . . . . . . . . . . 14

3 Freedomotic 15

3.1 Panoramica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.2 Architettura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.3 Messaggi e regole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.4 Creazione di un ambiente personalizzato . . . . . . . . . . . . . . . . . . 17

3.4.1 Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.4.2 Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.4.3 Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.4.4 Reaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4 La configurazione da scenari assistenziali per la smart home 21

4.1 Storyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.1.1 Impatto assistenziale basso . . . . . . . . . . . . . . . . . . . . . 21

4.1.2 Impatto assistenziale medio . . . . . . . . . . . . . . . . . . . . . 22

4.1.3 Impatto assistenziale alto . . . . . . . . . . . . . . . . . . . . . . 24

4.2 Configurazioni dedotte dalle storyboard . . . . . . . . . . . . . . . . . . 25

5 L’implementazione degli smart object coinvolti 27

5.1 Bed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5.2 Bathtub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.3 ShieldedWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.4 HealthSensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.5 GlucoMeter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.6 PulseOximeter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5.7 GasMeter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Page 6: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Indice

5.8 Armchair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5.9 Oven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5.10 TV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.11 Light . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.12 Tablet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5.13 AlertSystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5.14 Accelerometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5.15 LuxMeter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5.16 PressureMeter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5.17 PIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

6 L’implementazione delle configurazioni 37

6.1 Spegnimento forno allo scadere del timer . . . . . . . . . . . . . . . . . . 38

6.2 Spegnimento luci del salotto all’accensione della TV . . . . . . . . . . . 38

6.3 Spegnimento luci rimaste accese la notte . . . . . . . . . . . . . . . . . . 38

6.4 Spegnimento luci in caso di uscita dalla stanza . . . . . . . . . . . . . . 39

6.5 Regolazione luminosita della stanza . . . . . . . . . . . . . . . . . . . . . 39

6.6 Controllo parametri vitali . . . . . . . . . . . . . . . . . . . . . . . . . . 41

6.7 Rilevazione di eventuali situazioni di pericolo . . . . . . . . . . . . . . . 44

6.8 Plugin per la riconfigurazione on-demand . . . . . . . . . . . . . . . . . 46

6.9 Simulazione delle configurazioni . . . . . . . . . . . . . . . . . . . . . . . 47

7 Conclusione e sviluppi futuri 51

Bibliografia 53

6

Page 7: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

1. Introduzione

Gli ultimi decenni sono stati caratterizzati da un repentino sviluppo tecnologico che hainfluenzato, talvolta sostanzialmente, il nostro modo di vivere e di pensare l’ambientedomestico. La necessita di migliorare il comfort, la sicurezza e la qualita della nostravita ha condotto a questo rapido cambiamento.

Figura 1.1: Oggetti di uso comune nella casa di oggi

L’obiettivo di questa tesi nasce proprio dall’esigenza di voler migliorare l’ambientedomestico sfruttando le attuali tecnologie, cioe di fornire alle persone un’abitazione chesia in grado di rispondere alle proprie esigenze, soprattutto per quanto riguarda anzianie disabili che trovano maggiori difficolta rispetto ad altri.

Negli ultimi anni i produttori stanno fornendo dispositivi tecnologici che integranofunzionalita sempre piu vaste, quindi i nostri acquisti sono condizionati dalla ricercadelle funzionalita aggiuntive, subordinando il ruolo per il quale l’oggetto e destinato.

Una dimostrazione che conferma quanto suddetto e la scelta che la maggior partedelle persone compie nell’acquisto di uno smartphone: si da priorita alla potenza dellaCPU e la dimensione alla memoria rispetto alla qualita della ricezione data ormai perscontata.

I produttori, quindi, stanno cercando di appagare queste richieste di mercato dacui il cliente e attratto. Si puo osservare come le funzionalita offerte da un diffusoelettrodomestico come la televisione siano notevolmente arricchite rispetto al recentepassato, infatti, quelle che ora vengono chiamate smart TV permettono di compiereazioni che prima erano possibili solo attraverso l’uso del pc, come collegarsi ad internet

Page 8: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

e sfruttarne ampiamente le funzionalita. Parallelamente, l’ampliamento delle possibilitaofferte dai dispositivi con cui interagiamo quotidianamente sta dando una forte spintaa un settore gia di suo in forte crescita: la domotica.

Il termine domotica e un neologismo derivato dal francese “domotique”, a sua voltacontrazione della parola latina “domus” e di “informatique”. La domotica e quindi lascienza che si occupa dell’integrazione delle tecnologie che consentono di automatizzareuna serie di operazioni all’interno della casa.

Il suo obiettivo e quello aiutare le persone ad abitare in case piu sicure e confortevoli,dotate di un sistema di automazione semplice, affidabile, flessibile e alla portata ditutti.

Figura 1.2: Esempio di casa domotica

Rispetto ad alcuni anni fa in cui la domotica poteva offrire soluzioni limitate e spessoa cifre proibitive, le potenzialita odierne sono aumentate enormemente, grazie allapossibilita di utilizzare dispositivi elettronici sempre piu piccoli, accurati ed economiciche permettono un ampliamento considerevole dei controlli effettuabili e naturalmentemigliorano la qualita e la sicurezza della vita.

Attualmente, infatti, e sufficiente spendere poche migliaia di euro per avere unsistema domotico che permetta la centralizzazione della gestione dell’illuminazione,amministrazione intelligente della temperatura ambientale, chiusura automatica delletapparelle, videocontrollo e sensori di allarme per fughe di gas e allagamento[1].

Interagire con questi dispositivi intelligenti fa parte dei nostri gesti quotidiani, mentreper altri, a causa di disabilita di varia natura, anche accendere la televisione medianteil telecomando puo essere un’operazione problematica.

Purtroppo tali situazioni non sono cosı rare come si potrebbe apparentemente credere,basti pensare a una patologia come l’ictus, una malattia che in Italia e nel mondooccidentale e la prima causa di invalidita, che colpisce principalmente gli uomini diun’eta compresa tra i 65 e gli 85 anni e ogni anno e responsabile di oltre un decesso sudieci[2].

8

Page 9: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Quando la gravita dell’invalidita e tale da non permettere una sufficiente autonomia,il malato deve fare affidamento a una struttura ospedaliera attrezzata tale da garantireun’adeguata assistenza sanitaria e riabilitativa. Nei casi in cui la disabilita e tale danon consentire un miglioramento che permetta una minima autosufficienza, il malato ecostretto a non far rientro all’interno delle mura domestiche.

La condizione di ricovero, infatti, comporta un disagio di variabile entita la cui mo-tivazione e connessa alla separazione dal nucleo familiare, alla necessita di adeguarsi ainuovi ritmi istituzionali, alla parziale rinuncia alla privacy, allo stato di inevitabile di-pendenza altrui e la conseguente perdita di autonomia personale. Tale situazione puoavere anche ripercussioni sul recupero fisico della persona (nel caso ci siano possibi-lita). Un altro aspetto rilevante riguarda i familiari del malato costretti a spostamentiripetitivi, a volte dispendiosi e impegnativi.

In questo ambito la tecnologia deve essere in grado di fornire degli strumenti adatti,dove il disabile, nei sistemi di aiuto, trova condizioni riabilitative favorenti tanto laconquista di fondamentali livelli di autonomia, quanto occasioni di sostegno cognitivoe sensoriale e d’inclusione sociale.

Non a caso, l’Universita degli studi di Camerino, in collaborazione con l’Istituto diRiabilitazione Santo Stefano e altre aziende locali, stanno portando avanti un progettoche prende il nome di “Pass”. E volto a favorire la longevita attiva e l’indipendenzadell’anziano e del disabile presso la propria abitazione, attraverso la realizzazione di una“casa intelligente” dove, fruendo di servizi innovativi basati su contenuti tecnologiciuser-friendly, la persona potra continuare a svolgere le abituali attivita sia in caso divita indipendente che di vita in famiglia.

L’attivita del progetto, che viene esposta in questo elaborato, poggia le basi sulleesigenze e obiettivi del progetto Pass, quindi nello studio delle necessita che l’anzianoe il disabile trovano nei loro gesti quotidiani e delle tecnologie che possono essere at-tuate. Questo permettere di continuare una vita indipendente all’interno delle muradomestiche in totale sicurezza.

Al termine di questa breve introduzione, si inizia a parlare in dettaglio del progettoPass: prima viene data una sua descrizione, poi, dopo aver specificato il suo contesto diriferimento, viene descritta la tipologia di utenza che si vuole assistere e quindi i serviziche la casa domotica dovra fornire.

Successivamente si introduce Freedomotic, il software che e stato scelto per la rea-lizzazione della casa domotica. Ne viene descritta dapprima l’architettura, poi tutto ilsistema di messaggistica che utilizza per la creazione di regole e automazioni.

Terminata questa parte piu teorica e descrittiva, nel capitolo seguente si inizia adaffrontare il problema della creazione di configurazioni per la casa domotica. Si intro-duce il concetto di storyboard e se ne riportano tre: una per ogni profilo assistenzialedi gravita crescente. Da queste vengono estrapolati gli smart object necessari e leconfigurazioni attuabili per la casa domotica e quindi implementabili in Freedomotic.

Nei due capitoli successivi, infatti, vengono elencati e descritti tutti gli oggetti che so-no stati implementati in Freedomotic e, tutte le configurazioni precedentemente trovate,sono riproposte nel linguaggio utilizzato dal software in questione. Infine, viene intro-dotto il plugin creato per il caricamento a runtime delle configurazioni e il simulatoreutilizzato per effettuare i test di corretto funzionamento su di esse.

9

Page 10: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House
Page 11: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

2. Il progetto Pass

Nella vita di tutti i giorni siamo abituati a compiere una quantita innumerevole diazioni in modo del tutto automatico. Aprire la porta, chiudere la finestra, spegnere laluce, rispondere al telefono o cambiare canale alla TV sono gesti per noi cosı naturalida poter essere svolti senza nemmeno pensarci.

Per le persone con disabilita, anche le azioni piu semplici possono diventare estre-mamente complesse, fino a rendere necessario l’ausilio di altri individui. In molti casi,l’impossibilita di fornire l’assistenza e l’aiuto adeguato per tutto l’arco della giornata,costringe la persona malata ad abbandonare la propria abitazione, in favore di strutturein grado di accoglierla adeguatamente.

2.1 Descrizione del progetto

Il progetto “Pass”, che sta per “Private AssistedHouse”, e un progetto regionale finalizzato alla longe-vita attiva e all’indipendenza dell’anziano, in cui l’Isti-tuto di Riabilitazione Santo Stefano e azienda capofiladi un gruppo di partner che comprende anche l’Uni-versita degli Studi di Camerino, due centri di ricerca edi sviluppo tecnologico e diverse aziende marchigianemedio-piccole operanti in settori merceologici differenti(mobile, informatica-elettronica, edilizia e tessile).

Il progetto implementa un modello di servizio volto a favorire la longevita attivadell’anziano presso la propria abitazione, luogo dove puo continuare a svolgere le abi-tuali attivita sia in caso di vita indipendente che di vita in famiglia, fruendo di serviziinnovativi, basati su contenuti tecnologici user-friendly.

Il progetto intende contribuire alla diffusione di una nuova cultura del concetto dicasa intelligente, che non sia strettamente legata alla domotica in senso tradizionale,ponendo l’utilizzatore della casa al centro delle soluzioni tecnologiche sviluppate.

Il modello Pass integra le migliori tecnologie di teleassistenza e realizza il supportoconoscitivo, formativo e assistenziale necessario alla reale diffusione di smart object.

Gli interventi articolati su diverse linee d’azione hanno il comune obiettivo di costruireun ecosistema in grado di sostenere una pluralita di scenari d’utilizzo, quindi esserecapace di garantire il contatto bidirezionale, diversificato per esigenze, tra l’anziano eil mondo esterno. Ne consegue che la casa dovra adattarsi alle esigenze di chi la abitaconsentendo, inoltre, di prevenire il verificarsi di situazioni di pericolo.

Un’abitazione, all’atto della sua costruzione, puo essere concepita ad-hoc per unanziano oppure puo essere adattata, nel corso degli anni e in modo flessibile, al ciclo

Page 12: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Contesto di riferimento

di vita di chi la abita che, invecchiando, modifica i proprio bisogni di “abitabilita” e“usabilita”. Cio deve guidare la progettazione d’interventi non invasivi di rimodulazionee adattamento che, oltre a permettere l’introduzione di strumenti per l’automazione e ilcontrollo dell’ambiente domestico, contribuiscano a migliorare anche la sua sostenibilitaenergetica.

Il modello Pass si basa pertanto su una piattaforma d’integrazione, in grado di coor-dinare in modo adattivo l’automazione domestica, le soluzioni di tele-assistenza e glismart object. Inoltre il ruolo della piattaforma e quello di realizzare l’integrazione versoil mondo esterno (es. dominio sanitario e sociale) garantendo il rispetto degli standarddel settore ospedaliero e domotico e offrendo ai vari interessati una vista dedicata sullacasa, nel rispetto della privacy del singolo individuo.

2.2 Contesto di riferimento

La proposta progettuale si cala in un contesto europeo, nazionale e soprattutto marchi-giano caratterizzato da una percentuale crescente di popolazione anziana, la maggiorparte della quale ha autosufficienza limitata, tendente verosimilmente al peggioramentoin un regime di cronicita.

Secondo le recenti proiezioni demografiche in Italia, gli ultra 65enni, che nel 2011ammontavano a 20,3% della popolazione, nel 2020 saranno 22,5% per raggiunger lasoglia del 32,6% entro il 2065. Ancora piu rilevante sara l’incremento degli ultra 80enni,che nello stesso periodo passeranno da 2,8% a 3,7% e infine al 10%[3]. Va da se che leprospettive di longevita della popolazione anziana, ma attiva, crescono velocemente.

In questo panorama, l’Italia e uno dei Paesi europei con il maggior indice d’invec-chiamento in Europa, che significa crescita esponenziale delle spese di cura per anziani,ospedaliere e territoriali per il prossimo futuro. Altro aspetto che va preso in seriaconsiderazione e la progressione della disabilita.

I dati stimati dal Censis per i decenni 2010-2020-2040 mostrano che la disabilita,per effetto dell’invecchiamento e delle patologie cronico-degenerative, e in significativoe preoccupante aumento: 6,7% (circa 4,1 milioni di persone nel 2010) e 7,9% nel 2020(pari a 4,8 milioni di persone), un incremento destinato a creare una fortissima pressionesul versante della domanda di servizi assistenziali[4].

2.3 Obiettivi della “Private Assisted House”

Il progetto Pass intende favorire la longevita attiva e indipendente dell’anziano, realiz-zando il desiderio di invecchiare presso la propria abitazione. In tal senso, il modello diassistenza di tipo “Private Assisted house”, che e alla base della proposta progettuale,rappresenta una risposta all’eterogeneita delle condizioni psico-fisiche e sociali dell’an-ziano, eventualmente disabile. Un’attenzione particolare e rivolta all’economicita eall’usabilita delle soluzioni per garantire il massimo livello di accesso. Non da meno eil ruolo della scalabilita, poiche la casa e vista come un luogo in grado di cambiare neltempo e adattarsi alle esigenze di chi la abita.

Per quanto attiene agli obiettivi realizzativi, il modello di assistenza di tipo “PrivateAssisted house” si caratterizza per un’attenzione particolare, posta rispetto alle diver-sita, rispondendo in maniera personalizzata a esigenze concrete in termini di: sicurezza,automazione, prevenzione e comunicazione.

12

Page 13: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Definizione dei profili assistenziali

2.4 Definizione dei profili assistenziali

Il progetto orienta il proprio modello sulla centralita dell’utente e fruitore degli spazidomestici in funzione delle proprie condizioni fisiche e abilita. E quindi necessarioindividuare delle tipologie di utenti considerando parametri quali:

� salute fisica

� salute mentale

� capacita funzionali

Si definiscono quindi, alcuni profili di riferimento (profili assistenziali) che possano averedelle caratteristiche omogenee per modellare dei requisiti progettuali di riscontro.

Nello specifico si intende caratterizzare il profilo in funzione di un grado di abilita cheindividui secondo i parametri sopra riportati, le caratteristiche dei sistemi di supportodi cui necessita (oggetti d’uso, arredi, componenti architettonici, sistemi informaticiecc.) ad esso associabili, intesi come sistema integrato (smart home).

Si possono stabilire i gradi di abilita in relazione alle proprie capacita di condurre unavita adeguata in funzione dell’eta e delle caratteristiche fisiche, mentali e funzionali.I livelli di abilita definiscono di conseguenza le necessita di assistenza e funzionalitadomestica strutturando quindi il profilo assistenziale conseguente.

CARATTERISTICHE:

- FISICHE- MENTALI- FUNZIONALI

LIVELLI DI ABILITÀ

TIPOLOGIE DI ASSISTENZA:

- DIRETTA- INDIRETTA- PERIODICA- CONTINUATIVA

PIANO DEI REQUISITIDEL FRUITORE

INPUT METAPROGETTUALI

PROFILO ASSISTENZIALE:

- BASSO- MEDIO- ALTO

Figura 2.1: Livelli di abilita e profili assistenziali

2.5 Utenti assistiti

Normodotati: La necessita di questo riferimento e fondamentale perche individuagli standard da raggiungere (il limite) con interventi di ausilio per i fruitori congradi di abilita differenti. Si considera come normodotato un utente che ha unaautosufficienza completa per sviluppare una vita autonoma e appagante nellafruizione e uso degli spazi domestici e degli oggetti e arredi in essa contenuti,senza alcun controllo esterno o ausilio. E altresı evidente che tale definizione distandard e funzionale esclusivamente per individuare le caratteristiche di media,considerando che soggettivamente i livelli di abilita sono talmente differenziati,per eta, cultura, territorio, che e complesso darne una definizione non di media.

Profilo assistenziale lieve: utente in condizioni di fragilita, il cui stato di salute evi-denzia situazioni di rischio (pressione alta, colesterolo alto, tendenza all’inattivita,

13

Page 14: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Definizione e caratteristiche della smart home

cioe condizioni che espongono a rischi coronarici, ecc.) oppure e compromesso damalattie croniche non gravi tenute sotto controllo mediante farmaci come diabe-te, artrosi e forme non gravi di artrite. In questo caso e fondamentale attuareazioni di contrasto verso possibili aggravamenti delle condizioni di salute e versoil rischio di insorgenza di ulteriori malattie.

Profilo assistenziale medio: utente con disabilita e compromesso da malattie cro-niche gravi, necessita di strumenti di ausilio per svolgere in maniera autonomaalcune attivita quotidiane, mentre in altre necessita di assistenza. La disabilitapuo investire anche la sfera cognitiva in forma moderata.

Profilo assistenziale grave: utente che presenta disabilita accentuate da malattiecroniche molto gravi, necessita di assistenza continua per svolgere la maggiorparte o tutte le attivita quotidiane a causa di deficit psicofisici.

Aspetti degenerativi: elemento di fondamentale valutazione e la naturale condizio-ne di modifiche temporali delle proprie abilita sia per le condizioni normali diavanzamento dell’eta sia per i gradi degenerativi di patologie conclamate.

2.6 Definizione e caratteristiche della smart home

Gli attuali modelli abitativi risultano oramai obsoleti, in quanto non posseggono queilivelli di flessibilita che permettano di rispondere alle nuove problematiche di un’utenzaallargata. In uno scenario di questo tipo si pone il tema dell’abitare per le personeanziane e diversamente abili, in un ottica di integrazione sociale e miglioramento dellaqualita della vita.

Una smart home deve risultare un modello abitativo complesso e flessibile, formatoda componenti intelligenti, aggregabili e riproducibili in moduli standardizzati, atti apoter realizzare qualunque ambiente abitativo domestico.

In particolare, il modello di riferimento sara rivolto all’implementazione di servizi ditipo “Private Assisted House - Pass”, volti a favorire la longevita attiva dell’anzianopresso la propria abitazione.

Una casa intelligente, che non sia strettamente legata alla domotica in senso tradizio-nale, e quella che pone l’utilizzatore al centro delle soluzioni tecnologiche, integrandole migliori soluzioni di teleassistenza e realizzando il supporto conoscitivo, formativo eassistenziale necessario alla reale diffusione di smart object.

La smart home e gli smart object devono avere caratteristiche tali da garantire:

� adattabilita e flessibilita;

� implementazione di funzioni medicali (misurazione di parametri vitali);

� supporto alla totale copertura dei bisogni specifici (profili assistenziali);

� prevenzione sulle eventuali situazioni di pericolo;

� facilita di comunicazione con il mondo esterno;

14

Page 15: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

3. Freedomotic

La necessita di integrare tecnologie e soluzioni che la Smart Home richiede, rendeimprescindibile l’utilizzo di un software per la domotica che sia in grado di gestire gliscenari descritti nel capitolo precedente. Esistono diversi applicativi, sia gratuiti che apagamento, che offrono funzionalita in grado di governare un ambiente domestico e lascelta e ricaduta su Freedomotic.

3.1 Panoramica

Freedomotic, come affermato nella pagina ufficiale del progetto[5], e un software opensource, flessibile, scalabile, orientato al mash-up1, ma anche in grado di interagirecon i piu comuni e utilizzati standard domotici e con soluzioni “fai da te”. Tuttoin Freedomotic (web, social network, front-end) e considerato come un sensore o unattuatore all’interno di un sistema di automazione. Ad esempio e possibile avviare lalavatrice con un semplice tweet.

Figura 3.1: Logo del software

Freedomotic e un framework di programmazione realizzato in primo luogo per ridur-re drasticamente gli sforzi necessari per lo sviluppo di applicazioni della domotica econtrollo di ambienti. Tutto cio e possibile considerando che qualsiasi sistema di au-tomazione richiede delle funzionalita di base indipendentemente dal proprio ambito diutilizzo, come quello domestico, business, industriale, medico, ecc.

3.2 Architettura

L’architettura modulare di Freedomotic prevede un core (framework) e una serie diestensioni (plugins).

Framework: include delle strutture dati interne per la rappresentazione degli ambienti(topologia, stanze, connessioni ecc.), degli oggetti presenti e del relativo stato (on,off, open, closed ecc.) ed inoltre fornisce un motore per la generazione di regole

1applicazione tale da includere dinamicamente informazioni o contenuti provenienti da piu fonti.

Page 16: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Architettura

con un sistema di elaborazione del linguaggio naturale che consente all’utente discrivere automazioni come “se fuori e buio accendi la luce del soggiorno”.

Plugins: si dividono a loro volta in due categorie:

Device plugins: permettono di estendere le funzionalita del framework e pos-sono essere sviluppati e distribuiti come pacchetti indipendenti attraversoil marketplace ufficiale. Di solito sono creati per comunicare con specifichetipologie di hardware, ma anche gli stessi client (grafici o web) sono a tuttigli effetti dei plugins.

Object plugins: modellano gli oggetti del mondo reale (lampade, porte, sensoriecc.) con tutte le loro proprieta “istruendo” opportunamente il framework.Ad esempio un plugin per una lampada indica al framework che l’oggettoha una proprieta (behavior) chiamata “powered” e un’altra “brightness”che puo assumere valori interi compresi tra 0 e 100. Una lampada puoessere accesa (turn on) o spenta (turn off) e la sua luminosita regolataopportunamente (set brightness). Se la proprieta “brightness” assume ilvalore 0 allora la lampada e spenta (powered=false) altrimenti e accesa(powered=true).

Figura 3.2: Interazioni fra le varie componenti

16

Page 17: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Messaggi e regole

3.3 Messaggi e regole

Freedomotic adotta un sistema di messaggistica basato interamente su eventi, ognicambiamento nell’ambiente o interazione con il software da parte degli utenti (clicksull’interfaccia grafica, modifica di un valore su un oggetto ecc.) genera un evento.Questi ultimi sono pubblicati sui channels ed intercettati dai triggers in ascolto. A suavolta, ciascun trigger puo essere associato ad uno o piu comandi definendo una reaction.In altre parole, quando un sensore comunica un qualsiasi cambiamento nell’ambiente,viene generato un evento su uno specifico canale e, se l’evento e consistente con il trigger,allora uno o piu comandi possono essere inviati all’attuatore in grado di eseguirli.

Questo meccanismo apparentemente elaborato, permette invece, di creare regole perle automazioni in maniera del tutto semplice e molto vicina al linguaggio naturale. Leregole, infatti, sono di tipo “if THIS than THAT”, dove la parte THIS corrisponde adun trigger, quella THAT e costituita da uno o piu comandi eseguiti in sequenza e lastessa regola presa nella sua interezza rappresenta un’automazione in grado di associaretra loro trigger e comandi. Per esempio:

if luminosity is less than 50%︸ ︷︷ ︸trigger

than turn on kitchen light︸ ︷︷ ︸command︸ ︷︷ ︸

reaction

3.4 Creazione di un ambiente personalizzato

Il sistema di regole basato sullo scambio di messaggi permette di nascondere i detta-gli implementativi dei trigger e comandi sugli oggetti virtuali di Freedomotic, quindi,consente il loro utilizzo anche agli utenti piu inesperti per la creazione di automazioni.

Ovviamente per creare automazioni che si adattino perfettamente alle necessita diogni persona, non sono sufficienti le funzioni fornite di default, infatti Freedomotic offrela possibilita di modificare o creare oggetti, trigger, comandi e automazioni attraversoappositi file di configurazione XML. Pertanto ora verranno esposti i concetti necessariper creare un ambiente personalizzato attraverso questi file.

3.4.1 Object

Ogni oggetto di uso comune ha determinate caratteristiche e proprieta in base al suoscopo ed utilizzo. Per esempio una lampadina puo essere accesa o spenta, mentreun’altra potrebbe permettere anche il settaggio della luminosita.

In Freedomotic, gli oggetti non sono altro che l’astrazione di quelli reali presenti in ca-sa e delle loro caratteristiche, pertanto l’oggetto virtuale “lampadina” sara sintetizzatodai behaviors stato (accesa o spenta) e luminosita.

Per creare un oggetto e necessario scrivere la relativa classe java ed il file XML chene specifica i behaviors. L’implementazione, pero, verra trattata nl capitolo successivo.

3.4.2 Trigger

Ogni evento e inviato su uno specifico canale il cui indirizzo e rappresentato da una strin-ga con una struttura gerarchica del tipo app.event.sensor.calendar.event.schedulee, attraverso un trigger, e possibile filtrare gli eventi in transito su uno specifico canale.Un esempio potrebbe essere quello di un evento che notifichi che sono le ore 10 e che un

17

Page 18: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Creazione di un ambiente personalizzato

trigger sia in ascolto sul corrispondente canale filtrando gli eventi temporali compresitra le ore 6 e le ore 12. Possiamo attribuire a questo trigger un nome significativocome “it’s morning” e utilizzarlo per costruire automazioni del tipo IF “it’s morning”THEN “turn off outside lights”.

Pertanto un trigger decide se un evento deve essere processato o meno. In altre parolese il trigger e consistente con l’evento verranno eseguiti i comandi ad esso associati.Nell’esempio precedente, se l’evento notifica che “it’s 10 o’clock” allora e vero che“it’s morning”, quindi possiamo eseguire il comando “turn off outside lights”.

1 <trigger><name>it’s morning</name>

3 <description>it’s morning (from 6 to 12)</description><channel>app.event.sensor.calendar.event.schedule</channel>

5 <payload><payload>

7 <com.freedomotic.reactions.Statement><logical>AND</logical>

9 <attribute>time.hour</attribute><operand>GREATER_EQUAL_THEN/operand>

11 <value>6</value></com.freedomotic.reactions.Statement>

13 <com.freedomotic.reactions.Statement><logical>AND</logical>

15 <attribute>time.hour</attribute><operand>LESS_EQUAL_THEN</operand>

17 <value>12</value></com.freedomotic.reactions.Statement>

19 </payload></payload>

21 </trigger>

3.4.3 Command

Eseguire un comando, ovvero far compiere un’azione a un oggetto, significa per Free-domotic cambiare il valore che assume un behavior. Ad esempio, (“turn on livingroomlight”) comporta la modifica del bahavior powered che passa dallo stato false a true.

Un comando, quindi, non e altro che un contenitore di parametri personalizzati cheassociano ad ognuno di essi un valore.

1 <com.freedomotic.reactions.Command><name>turn on livingroom light</name>

3 <receiver>app.events.sensors.behavior.request.objects</receiver><description>turn an object called livingroom light</description>

5 <properties><properties>

7 <property name="behavior" value="powered"/><property name="value" value="true"/>

9 <property name="object" value="livingroom light"/></properties>

11 <tuples/></properties>

13 </com.freedomotic.reactions.Command>

3.4.4 Reaction

Nella terminologia di Freedomotic, la reaction identifica l’automazione ed e costituitada un trigger e da uno o piu comandi eseguiti sequenzialmente all’interno di un threaddedicato in modo da garantire l’elaborazione parallela. Come e stato appena mostrato,sia i trigger che i comandi sono definiti all’interno di file indipendenti dall’automazionee questo consente di utilizzarli piu volte in automazioni differenti.

18

Page 19: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Creazione di un ambiente personalizzato

Nel caso si volesse creare un’automazione che permetta di spegnere le luci del sog-giorno e di chiudere le tapparelle ogniqualvolta si accenda la TV, si avra uno scenariodi questo tipo:

� trigger: TV turns on;

� command 1: turn off livingroom lights;

� command 2: close rolling shutters;

1 <com.freedomotic.reactions.Reaction><trigger>TV turns on</trigger>

3 <sequences><sequence>

5 <command>turn off livingroom lights</command><command>close rolling shutters</command>

7 </sequence></reaction>

9 </com.freedomotic.reactions.Reaction>

E altresı possibile aggiungere delle condizioni all’interno della reaction per verificarelo stato di uno oggetto prima di eseguire un’automazione, permettendo cosı, di ampliareil ventaglio dei controlli effettuabili.

“WHEN TV turns on AND livingroom window is closed THEN turn off livingroomlights AND close rolling shutters” permette di controllare lo stato della finestra dopoche la TV e stata accesa. Se la verifica da esito positivo allora verrano eseguiti i comandiassociati.

1 <com.freedomotic.reactions.Reaction><trigger>TV turns on</trigger>

3 <conditions><condition>

5 <target>livingroom window</target><com.freedomotic.reactions.Statement>

7 <logical>AND</logical><attribute>status_open</attribute>

9 <operand>EQUALS</operand><value>false</value>

11 </com.freedomotic.reactions.Statement></condition>

13 </conditions><sequence>

15 <command>turn off livingroom lights</command><command>close rolling shutters</command>

17 </sequence></com.freedomotic.reactions.Reaction>

19

Page 20: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House
Page 21: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

4. La configurazione da scenariassistenziali per la smart home

Nei precedenti capitoli e stato descritto il progetto Pass e gli obiettivi che la sua piat-taforma si e prefissata di raggiungere. Successivamente si e introdotto Freedomoticcome software per la gestione della domotica ed e stato spiegato come sono fatte le suecomponenti e come sia possibile farle interagire per creare automazioni personalizzate.

In questo capitolo verranno individuati gli oggetti e configurazioni necessari per lasmart home, in accordo con i requisiti del progetto Pass.

Per poter fare questo, mi sono state fornite delle storyboard da cui trarre tuttele informazioni necessarie per creare un ambiente domestico che permetta una vitaindipendente dell’anziano e del malato.

4.1 Storyboard

Le storyboard che mi sono state fornite sono dei racconti verosimili, che descrivono lagiornata tipo che potrebbe svolgersi in una Private Assisted House da parte di personeche non riescono ad avere una vita autonoma a causa di qualche malattia.

Le storie su cui si e basato il mio lavoro sono tre, dove ognuna di esse raccontasituazioni di persone con problemi fisici di diversa gravita, quindi ogni storyboardrappresenta un livello assistenziale differente, che per semplicita verra definito comebasso, medio e alto.

Di seguito sono riportate le tre storyboard e, per ognuna di esse, sono messe inevidenza le frasi chiave che descrivono i bisogni assistenziali di ogni persona.

4.1.1 Impatto assistenziale basso

Il signor Paolo R, di 35 anni, presenta tetraparesi spastica atetosica disartrica, condifficolta nell’utilizzo degli arti superiori e inferiori. Il quadro generale del paziente estabile e non mostra alcun problema cognitivo e sensoriale. Dal punto di vista motorio,Paolo riesce a deambulare con l’uso della carrozzina o del girello con ascellari. L’arti-colarita passiva e completa e, per quanto riguarda le mani, riesce ad afferrare oggettima ha difficolta nel rilasciarli ed e comunque privo di motilita fine.

Paolo e una persona attiva, vuole lavorare e condurre una vita regolare; la suagiornata tipo e cosı organizzata:

ore 7.00: sveglia e grazie al letto automatizzato riesce a passare da supino a sedutoe a trasferirsi sulla carrozzina utilizzando barre d’appoggio. Puo lavarsi in va-sca dotata di piattaforma sollevabile e farsi la barba con il rasoio elettrico;

Page 22: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Storyboard

necessita di un assistenze per la vestizione, ma e in grado di preparare la colazio-ne e mangiare grazie ai diversi smart object: braccio meccanico in grado diraccogliere oggetti, frigorifero e mobili da cucina con piani estraibili,posata meccanica e forno automatico.

ore 8.10: esce di casa in carrozzina elettronica, comandata con joystick, per dirigersial lavoro dopo aver regolato tramite un’interfaccia semplificata i diversi siste-mi domestici e grazie al braccio meccanico puo svolgere le azioni piu difficoltose(motilita fine).

ore 8.30 - 13.00: lavora seduto come segretario per un’associazione utilizzando un PCcon supporti specifici (mouse personalizzato).

ore 13.00 - 14.00: Paolo e in grado di pranzare in autonomia con piatti pronti o giapreparati e riposti in frigorifero che automaticamente ne facilita il prelievo. Devesolo metterli nel forno.

ore 14.00 – 15.30: due volte a settimana Paolo svolge esercizi per il mantenimento deirisultati raggiunti (a corpo libero e sull’apposito tapisroulant) durante i quali eprevisto l’utilizzo di strumenti di telemedicina, per il monitoraggio di para-metri vitali quali misuratore di pressione ed elettrocardiografo, in modo davalutare a distanza lo stato di salute e, al contempo, il grado di impegno nell’eser-cizio e lo stato d’animo. Un giorno alla settimana, uno specialista dell’ospedalesi collega con Paolo in videoconferenza e puo leggere in real-time tutti i parame-tri registrati durante lo svolgimento degli esercizi. E in questa occasione che sirivaluta il programma di esercizi per gli arti superiori ed inferiori, considerandoanche i dati relativi agli esercizi eseguiti nei giorni precedenti.

ore 16.30 – cena: e tempo dedicato a spesa, varie ed eventuali prima della preparazionedella cena, grazie ai medesimi ausili utilizzati per colazione e pranzo. Paolo puomuoversi liberamente in casa in carrozzina o con girello e gestire le funziona-lita domestiche (apertura porte, finestre, accensione luci ed apparecchiature elet-troniche, regolazione della temperatura) attraverso un’interfaccia di comandosemplificata. Attraverso la medesima apparecchiatura e inoltre possibile invia-re chiamate di emergenza con richieste pre-registrate, chattare e leggere libri oriviste.

4.1.2 Impatto assistenziale medio

Marco, pensionato di 65 anni, sposato, senza figli ha avuto in ictus ischemico con esistidi paresi agli arti superiore e inferiore destri 14 mesi orsono.

Clinicamente si evidenzia: emiparesi destra, emilato sinistro con conservata mobilita,afasia e disfagia esito di recente ictus ischemico cerebrale, ipertensione arteriosa, severatendinopatia di spalla sinistra, ipertrofia prostatica.

Ci sono margini minimi di miglioramento, tuttavia il rischio e di una regressio-ne funzionale (perdita della capacita di deambulare, regressione cognitiva generale epeggioramento della contrattura dell’arto superiore).

Marco e stato dimesso dal centro di riabilitazione 3 mesi dopo l’ictus e ha poi con-tinuato a far riabilitazione in regime di Day Hospital). Valutata la situazione socio-sanitaria del paziente, fisiatra e servizi sociali hanno suggerito allo stesso Marco e a

22

Page 23: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Storyboard

sua moglie di trasferirsi in una Private Assisted House, piu adatta alle esigenze dellafamiglia.

La sua giornata tipo inizia alle 8 del mattino. Dopo la sveglia, riesce ad alzarsi daletto grazie al sistema di automazione integrato e a vestirsi con l’aiuto di sua moglie;Marco e in grado di deambulare per brevi tragitti con ortesi gamba-piede e bastone diappoggio e, pertanto, puo raggiungere abbastanza agevolmente il bagno, dove e possi-bile lavarsi all’interno di una vasca munita di piattaforma sollevabile., semprecon l’aiuto del caregiver2. Inoltre, qualora i trasferimenti dovessero avvenire in assen-za dell’assistente, considerando soprattutto i problemi di incontinenza e la necessita direcarsi piu volte al bagno, la presenza di un sistema di sensori di movimento rive-lerebbe eventuali cadute, garantendo di conseguenza l’arrivo dei soccorsi. Allo stessomodo Marco puo raggiungere la cucina in maniera pressoche autonoma dove e possi-bile prepararsi la colazione, purche costituita da cibo morbido e sminuzzato in quantodisfagico.

La mattina e la parte della giornata dedicata alla riabilitazione finalizzata in primoluogo prevenire complicazioni dovute dall’ipomobilita degli arti e all’incremento delleperformance motorie. Durante questa fase, cosı come per il resto della giornata, emolto importante la misurazione dei parametri vitali (su tutti ECG e PA3) attraversoun sistema indossabile di sensori, alla luce anche della sua condizione di iperteso,finalizzata ad un monitoraggio a distanza.

La riabilitazione non riguarda solamente l’aspetto motorio, ma anche quello comu-nicativo, dal momento che permangono difficolta nella produzione verbale; tale attivita,cosı come quella fisica, puo essere realizzata a casa attraverso opportuni esercizi mo-nitorabili a distanza via skype mediante tablet o PC. Gli stessi strumenti consentonoinoltre la definizione periodica delle cure mediche e l’aggiornamento del trattamentoriabilitativo. Giunta l’ora di pranzo, la presenza della moglie di Marco e importanteper la predisposizione degli alimenti (sbucciatura della frutta, frollatura, ecc.), mentrel’alimentazione vera e propria puo essere svolta in autonomia, anche grazie all’impiegodi una posata meccanica.

Il pomeriggio e il momento del relax e non e pertanto fondamentale la presenza dialcun caregiver all’interno della casa; Marco infatti, mediante interfaccia semplifica-ta, puo provvedere alla textbfregolazione della temperatura e della luminosita, facilitataanche dalla presenza di finestre a schermo liquido per la luce solare. In questo mo-do puo dedicarsi alla lettura su tablet o pc e all’esecuzione di esercizi per la memoriae l’abilita di calcolo utilizzando il pannello attrezzato interattivo dotato di schermitouch e scrivania regolabile a seconda delle esigenze dell’utilizzatore.

Tuttavia e bene che Marco continui a mantenere i propri contatti sociali ed una certamotilita a prescindere dagli esercizi riabilitativi; pertanto, verso le ore 16, accompagnatodagli amici, si dirige a piedi verso il bar, luogo di ritrovo in cui trascorre qualche oragiocando a carte e dialogando con altre persone. Il rientro a casa e previsto attornoalle 19, prima della cena che avverra con le stesse modalita del pranzo.

Prima di coricarsi (sempre aiutato da sua moglie), Marco trascorre la serata guar-dando la tv seduto comodamente su una poltrona sensorizzata, dotata di dispositividi misurazione integrati (misuratore di pressione, bilancia, misuratore livello di glice-mia e della saturazione di ossigeno nel sangue), con annesso dispositivo per invio deidati alla struttura di supporto medico di riferimento.

2persona che presta le cure3elettrocardiogramma e pressione arteriosa sistemica.

23

Page 24: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Storyboard

4.1.3 Impatto assistenziale alto

Giuseppe e un uomo di 45 anni che presenta esiti di poliomielite, cifoscoliosi dorso-lombare, deficit ventilatorio restrittivo di grado moderato; il suo livello intellettivo etuttavia da considerarsi nella norma e possiede una discreta comprensione sia verbaleche scritta oltre che una buona memoria, mentre e pressoche impossibilitato a utilizzaregli arti inferiori e superiori. E presente inoltre un deficit di espressione verbale.

La giornata di Giuseppe si svolge essenzialmente all’interno della Private AssistedHouse ed inizia solitamente alle ore 8, dopo una nottata trascorsa indossando la masche-rina per la respirazione, considerati i problemi di apnea notturna che determinano unacerta irregolarita del sonno; per tale ragione durante la notte risulta sempre attivo unsensore per il monitoraggio dei parametri vitali, su tutti textbffrequenza respiratoria,attivita, accelerazione cardiaca e postura.

Giuseppe non e autonomo in gran parte delle attivita quotidiane e necessita di as-sistenza per l’igiene personale e per la vestizione; l’assistente pertanto lo veste ge-neralmente sul letto e poi lo posiziona sulla carrozzina elettrica con l’aiuto di unsollevatore, per poi accompagnarlo in bagno, al cui interno la vasca e dotata di unapiattaforma sollevabile, mentre il WC e regolabile in altezza ed e provvisto dibidet integrato e di scarico automatico.

La mattina vengono eseguite sedute di riabilitazione sia per quanto riguarda la respi-razione, sia dal punto di vista motorio, sempre in presenza di caregiver. Per la respi-razione vengono impiegati due apparecchi specifici (In Ex Suffletor e Respi Flo) mentregli esercizi riguardanti la motilita sono finalizzati all’esecuzione in maniera piu colla-borativa di attivita quotidiane (es. vestizione) e al mantenimento di una certa formafisica attraverso un programma dietetico: in tal senso sono necessari alcuni strumentiper l’analisi multiparametrica del sangue come a esempio misuratore di colesteroloe trigliceridi, glucometro e saturimetro.

Al momento del pranzo, la cui preparazione avviene necessariamente da parte delcaregiver, Giuseppe riesce ad alimentarsi in maniera autonoma, grazie alla posatameccanica e al braccio meccanico; nonostante per numerose attivita occorra il sup-porto assistenziale, il fatto di mangiare in maniera indipendente e un grande stimoloper Giuseppe, considerando soprattutto la sua personalita riservata e le note depressivedi fondo.

All’interno della Private Assisted House sono inoltre disponibili un PC ed un ta-blet, opportunamente collocati su un pannello attrezzato ad altezza regolabile, inmodo da ingombrare il meno possibile e favorire il passaggio della carrozzina elettrica,facilitato anche da porte ad apertura automatica che grazie a opportuni sensoridi presenza rilevano la presenza all’interno di una stanza: in questo modo Giusep-pe puo trascorrere parte del suo tempo libero giocando virtualmente (es. carte e altripassatempo).

La sua vita tuttavia non si svolge esclusivamente all’interno delle mura domestiche:in estate infatti le attivita riabilitative vengono svolte in acqua; inoltre, pur ricevendouna pensione di invalidita, Giuseppe opera come volontario presso un’associazione epartecipa a eventi sociali organizzati dalla stessa.

La cena e organizzata allo stesso modo del pranzo, mentre le ore successive vengo-no trascorse generalmente guardando la tv seduto su una poltrona intelligente dotatadi sensori per il monitoraggio dei parametri vitali e di postura realizzata con tessutiatermici ed impermeabili.

24

Page 25: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Configurazioni dedotte dalle storyboard

4.2 Configurazioni dedotte dalle storyboard

Le storyboard appena riportate permettono di definire con un quadro piu chiaro comepotrebbe essere la vita all’interno di una Private Assisted House.

E importante sottolineare che non tutti gli oggetti nominati esistono effettivamente(per il momento) e/o possono essere utilizzati per gli scopi sopra descritti (es. bracciomeccanico), ma fanno comunque parte del “metamodello” che contiene gli smart objectche dovrebbero essere realizzati all’interno delle smart home.

Partendo da questo presupposto e dal fatto che lo scopo di questo progetto e quellodi creare una serie di configurazioni attuabili e gestibili attraverso Freedomotic, sonostati considerati solamente gli oggetti che hanno un senso all’interno della realta diFreedomotic. Ad esempio uno smart object come il sensore per ECG fornisce parametrivitali che possono essere utilizzati per stabilire lo stato di salute della persona e, incaso di valori fuori norma, la smart home puo avvertire i soccorsi tempestivamente. Laposata meccanica, invece, e uno smart object che sicuramente e di grandissimo utilita,ma e indubbiamente un oggetto fine a se stesso, ovvero non fornisce indicazioni che, seelaborate dal “sistema”, possono essere di maggior aiuto per la persona.

Per questi motivi, quindi, non tutti gli oggetti sono stati implementati all’interno diFreedomotic anche se effettivamente nella realta della piattaforma Pass esistono.

Di seguito viene riportato l’elenco dei possibili smart object coninvolti:

Letto: un letto meccanizzato che consente il settaggio dell’inclinazione dello schienale.

Vasca: una vasca dotata di piattaforma sollevabile.

Finestre a schermo liquido: delle finestre che consentono di regolare l’afflusso lu-minoso all’interno della stanza.

Sensore CO2: un sensore che misura la quantita di CO2 all’interno della casa.

Sensori indossabili: dei sensori misurano alcuni parametri vitali come battito car-diaco, pressione arteriosa, saturazione ossigeno, livello del glucosio ecc.

Poltrona sensorizzata: una poltrona che incorpora dei sensori che permettono un’a-nalisi dello stato di salute del paziente.

Elettrodomestici vari: una serie di oggetti di uso comune nell’abitazione che il cuiutilizzo deve essere facilitato come tv, forno, tablet ecc.

La lista delle possibili configurazioni attuabili e una diretta conseguenza dell’elencodegli oggetti coinvolti all’interno della Private Assisted House ed e cosı composta:

� automatizzazione di azioni quotidiane e ripetitive:

– spegnimento forno allo scadere del timer;

– spegnimento luci in caso di uscita dalla stanza;

– spegnimento luci del salotto all’accensione della TV;

� Regolazione luminosita della stanza:

– diminuzione luce in caso di luminosita troppo alta;

– aumento luce in caso di luminosita troppo bassa;

25

Page 26: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Configurazioni dedotte dalle storyboard

– accensione di luce artificiale in caso di luminosita insufficiente;

� monitoraggio dei parametri vitali:

– rilevazione di valori fuori norma;

– chiamata dei soccorsi in caso di necessita;

� rilevazione di eventuali situazioni di pericolo:

– possibili cadute;

– valori di CO2 anormali;

Agli oggetti precedentemente elencati, e indispensabile aggiungerne altri (non diretta-mente menzionati nelle storyboard) la cui presenza risulta obbligatoria per effettuarei controlli necessari all’interno della casa e di conseguenza per creare le configurazioniappena descritte.

Di seguito sono elencati gli smart object aggiunti alla lista precedentemente creata:

Sistema di allarme: un sistema che permette di inoltrare chiamate automatiche aisoccorsi (caregiver, 118, centro di telemedicina).

PIR: un sensore che rilevara la presenza di una persona all’interno di una stanza.

Luxmetro: un sensore che misura la quantita di luce all’interno di un ambiente.

Accelerometro: un sensore che permette di rilevare brusche accelerazioni (individua-zione di possibili cadute).

Misuratore di pressione: un sensore che rileva la presenza di un peso sopra di esso(persona sopra la poltrona).

26

Page 27: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

5. L’implementazione degli smartobject coinvolti

Una volta definiti gli oggetti coinvolti, e possibile passare alla loro implementazione,ovvero alla loro modellazione in smart object virtuali utilizzabili in Freedomotic.

Ogni tipo di smart object implementato e contraddistinto da un nome, una serie dibehavior ed eventualmente anche dei comandi e dei trigger.

Per evitare un inutile appesantimento di questo documento, viene mostrata solola parte di codice relativa all’implementazione di alcuni comandi e trigger a titoloesemplificativo.

5.1 Bed

Behavior:

statusUp: regolazione dello schienale in percentuale.

Command:

set Bed up: alza lo schienale.

Command setUp = new Command();2 setUp.setName("Set " + getPojo().getName() + " up");

setUp.setDescription("Raise the backplate of " + getPojo().getName());4 setUp.setReceiver("app.events.sensors.behavior.request.objects");

setUp.setProperty("object", getPojo().getName());6 setUp.setProperty("behavior", "statusUp");

setUp.setProperty("value", "100");8 CommandPersistence.add(setUp);

set Bed down: abbassa lo schienale.

Trigger:

Bed turns up: quando lo schienale si alza.

Trigger turnsUp = new Trigger();2 turnsUp.setName(this.getPojo().getName() + " turns up");

turnsUp.setChannel("app.event.sensor.object.behavior.change");4 turnsUp.getPayload().addStatement("object.name", this.getPojo().getName());

turnsUp.getPayload().addStatement("object.behavior." + BEHAVIOR_STATUS, "100");6 TriggerPersistence.add(turnsUp);

Bed turns down: quando lo schienale si abbassa.

Page 28: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Bathtub

5.2 Bathtub

Behavior:

statusUp: regolazione della piattaforma sollevabile in percentuale.

Command:

set Bathtub up: alza la piattaforma.

set Bathtub down: abbassa la piattaforma.

Command setDown = new Command();2 setDown.setName("Set " + getPojo().getName() + " down");

setDown.setDescription("Lower the backplate of " + getPojo().getName());4 setDown.setReceiver("app.events.sensors.behavior.request.objects");

setDown.setProperty("object", getPojo().getName());6 setDown.setProperty("behavior", "statusUp");

setDown.setProperty("value", "0");8 CommandPersistence.add(setDown);

Trigger:

Bathtub turns up: quando la piattaforma si alza.

Bathtub turns down: quando la piattaforma si abbassa.

Trigger turnsDown = new Trigger();2 turnsDown.setName(this.getPojo().getName() + " turns down");

turnsDown.setChannel("app.event.sensor.object.behavior.change");4 turnsDown.getPayload().addStatement("object.name", this.getPojo().getName());

turnsDown.getPayload().addStatement("object.behavior." + BEHAVIOR_STATUS, "0");6 TriggerPersistence.add(turnsDown);

5.3 ShieldedWindow

Behavior:

shield: valore della schermatura in percentuale.

Command:

Increase ShieldedWindow shield value: incrementa la schermatura.

Command increase = new Command();2 increase.setName("Increase " + getPojo().getName() + " shield value");

increase.setDescription("Increase " + getPojo().getName() + " shield value" + " of one step");4 increase.setReceiver("app.events.sensors.behavior.request.objects");

increase.setProperty("object", getPojo().getName());6 increase.setProperty("behavior", "shield");

increase.setProperty("value", "next");8 CommandPersistence.add(increase);

Decrease ShieldedWindow shield value: decrementa la schermatura.

28

Page 29: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

HealthSensor

5.4 HealthSensor

Behavior:

powered: sensore acceso o spento.

HeartRate: battito cardiaco rilevato.

BloodPressure: pressione arteriosa rilevata.

ECGAnomalies: rilevazione anomalie nell’ECG (vero o falso).

batteryLevel: valore percentuale della batteria del sensore.

Command:

turn on: accendi il sensore.

Command setOn = new Command();2 setOn.setName("Turn on " + getPojo().getName());

setOn.setDescription(getPojo().getName() + " turns on");4 setOn.setReceiver("app.events.sensors.behavior.request.objects");

setOn.setProperty("object", getPojo().getName());6 setOn.setProperty("behavior", BEHAVIOR_POW);

setOn.setProperty("value", BooleanBehavior.VALUE_TRUE);8 CommandPersistence.add(setOn);

turn off: spegni il sensore.

Trigger:

HealthSensor turns on: quando il sensore si accende.

HealthSensor turns off: quando il sensore si spegne.

HealthSensor detect an ECG anomalies: quando il sensore rileva un’ano-malia nell’ECG.

Trigger ECGAnomaliesTrue = new Trigger();2 ECGAnomaliesTrue.setName(this.getPojo().getName() + " detect an ECG anomalies");

ECGAnomaliesTrue.setChannel("app.event.sensor.object.behavior.change");4 ECGAnomaliesTrue.getPayload().addStatement("object.name", this.getPojo().getName());

ECGAnomaliesTrue.getPayload().addStatement("object.behavior." + BEHAVIOR_ECG_ANOM, BooleanBehavior.VALUE_TRUE);

6 TriggerPersistence.add(ECGAnomaliesTrue);

HealthSensor don’t detect an ECG anomalies: quando il sensore non rile-va un’anomalia nell’ECG.

battery level il too low: quando la batteria del sensore e troppo bassa.

5.5 GlucoMeter

Behavior:

powered: sensore acceso o spento.

glucose: valore di glucosio nel sangue rilevato.

BatteryLevel: valore percentuale della batteria del sensore.

29

Page 30: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

PulseOximeter

Command:

turn on: accendi il sensore.

turn off: spegni il sensore.

Trigger:

GlucoMeter turns on: quando il sensore si accende.

GlucoMeter turns off: quando il sensore si spegne.

battery level il too low: quando la batteria del sensore e troppo bassa.

Trigger BatteryLow = new Trigger();2 BatteryLow.setName(this.getPojo().getName() + " battery level is too low");

BatteryLow.setChannel("app.event.sensor.object.behavior.change");4 BatteryLow.getPayload().addStatement("object.name", this.getPojo().getName());

BatteryLow.getPayload().addStatement("AND", "object.behavior." + BEHAVIOR_BATTERY, "LESS_THAN", "10");6 TriggerPersistence.add(BatteryLow);

5.6 PulseOximeter

Behavior:

powered: sensore acceso o spento.

sat: valore della saturazione dell’ossigeno in percentuale.

BatteryLevel: valore percentuale della batteria del sensore.

Command:

turn on: accendi il sensore.

turn off: spegni il sensore.

Command setOff = new Command();2 setOff.setName("Turn off " + getPojo().getName());

setOff.setDescription(getPojo().getName() + " turns off");4 setOff.setReceiver("app.events.sensors.behavior.request.objects");

setOff.setProperty("object", getPojo().getName());6 setOff.setProperty("behavior", BEHAVIOR_POW);

setOff.setProperty("value", BooleanBehavior.VALUE_FALSE);8 CommandPersistence.add(setOff);

Trigger:

PulseOximeter turns on: quando il sensore si accende.

Trigger turnsOn = new Trigger();2 turnsOn.setName(this.getPojo().getName() + " turns on");

turnsOn.setChannel("app.event.sensor.object.behavior.change");4 turnsOn.getPayload().addStatement("object.name", this.getPojo().getName());

turnsOn.getPayload().addStatement("object.behavior." + BEHAVIOR_POW, BooleanBehavior.VALUE_TRUE);6 TriggerPersistence.add(turnsOn);

PulseOximeter turns off: quando il sensore si spegne.

battery level il too low: quando la batteria del sensore e troppo bassa.

30

Page 31: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

GasMeter

5.7 GasMeter

Behavior:

CO2: percentuale di CO2 nell’aria.

batteryLevel: valore percentuale della batteria del sensore.

deviceTemperature: temperatura del sensore in °C.

5.8 Armchair

Behavior:

glucose: valore di glucosio nel sangue relevato.

BloodPressure: pressione arteriosa rilevata.

sat: valore della saturazione dell’ossigeno in percentuale.

weight: peso corporeo.

5.9 Oven

Behavior:

powered: dispositivo acceso o spento.

temperature: valore della temperatura di cottura.

timer: valore del timer.

Command:

turn on: accendi il sensore.

turn off: spegni il sensore.

Trigger:

Oven turns on: quando il dispositivo si accende.

Oven turns off: quando il dispositivo si spegne.

timer go to 0: quando il timer arriva a 0.

Trigger timer0 = new Trigger();2 timer0.setName(this.getPojo().getName() + " timer go to 0");

timer0.setChannel("app.event.sensor.object.behavior.change");4 timer0.getPayload().addStatement("object.name", this.getPojo().getName());

timer0.getPayload().addStatement("object.behavior." + BEHAVIOR_TIMER, "0");6 TriggerPersistence.add(timer0);

31

Page 32: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

TV

5.10 TV4

Behavior:

powered: dispositivo acceso o spento.

volume: valore del volume impostato.

channel: valore del canale selezionato.

muted: disattivazione audio (vero o falso).

Command:

powered: dispositivo acceso o spento.

volume: valore del volume impostato.

channel: valore del canale selezionato.

muted: disattivazione audio (vero o falso).

Trigger:

turn on: accendi il dispositivo.

turn off: spegni il dispositivo.

volume up: aumenta il volume di una unita.

volume down: decrementa il volume di una unita.

channel up: imposta il canale successivo.

channel down: imposta il canale precedente.

mute TV: disattiva audio.

unmute TV: attiva audio.

5.11 Light4

Behavior:

powered: dispositivo acceso o spento.

brightness: valore percentuale della luminosita.

Command:

turn on: accendi la luce.

turn off: spegni la luce.

Increase brightness: aumenta la luminosita di una unita.

Decrease brightness: decrementa la luminosita di una unita.

4smart object presente di dafault in Freedomotic

32

Page 33: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Tablet

5.12 Tablet

Behavior:

powered: dispositivo acceso o spento.

Command:

turn on: accendi il dispositivo.

turn off: spegni il dispositivo.

Command setOff = new Command();2 setOff.setName("Turn off " + getPojo().getName());

setOff.setDescription(getPojo().getName() + " turns off");4 setOff.setReceiver("app.events.sensors.behavior.request.objects");

setOff.setProperty("object", getPojo().getName());6 setOff.setProperty("behavior", BEHAVIOR_POW);

setOff.setProperty("value", BooleanBehavior.VALUE_FALSE);8 CommandPersistence.add(setOff);

5.13 AlertSystem

Behavior:

AlertCG: chiamata al caregiver (vero o falso).

Alert118: chiamata al 118 (vero o falso).

AlertTM: chiamata al centro di telemedicina (vero o falso).

Command:

AlCG: chiama il caregiver.

Command AlCG = new Command();2 AlCG.setName(getPojo().getName() + " alerts the caregiver");

AlCG.setDescription(getPojo().getName() + " alerts the caregiver");4 AlCG.setReceiver("app.events.sensors.behavior.request.objects");

AlCG.setProperty("object", getPojo().getName());6 AlCG.setProperty("behavior", "AlertCG");

AlCG.setProperty("value", "True");8 CommandPersistence.add(AlCG);

Al118: chiama il 118.

AlTM: chiama il centro di telemedicina.

Command AlTM = new Command();2 AlTM.setName(getPojo().getName() + " alerts the telemedicine structure");

AlTM.setDescription(getPojo().getName() + " alerts the telemedicine structure");4 AlTM.setReceiver("app.events.sensors.behavior.request.objects");

AlTM.setProperty("object", getPojo().getName());6 AlTM.setProperty("behavior", "AlertTM");

AlTM.setProperty("value", "True");8 CommandPersistence.add(AlTM);

33

Page 34: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Accelerometer

5.14 Accelerometer

Behavior:

powered: sensore acceso o spento.

acceleration: valore dell’accelerazione rilevata dal sensore.

horizontal: rilevata posizione orizzonale (vero o falso).

BatteryLevel: valore percentuale della batteria del sensore.

Command:

turn on: accendi il sensore.

turn off: spegni il sensore.

Trigger:

battery level il too low: quando la batteria del sensore e troppo bassa.

5.15 LuxMeter

Behavior:

lux: sensore acceso o spento.

BatteryLevel: valore percentuale della batteria del sensore.

Trigger:

battery level il too low: quando la batteria del sensore e troppo bassa.

5.16 PressureMeter

Behavior:

pressure: sensore acceso o spento.

BatteryLevel: valore percentuale della batteria del sensore.

deviceTemperature: temperatura del dispositivo in °C.

5.17 PIR

Behavior:

presence: sensore acceso o spento.

BatteryLevel: valore percentuale della batteria del sensore.

34

Page 35: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

PIR

Trigger:

PIR relieves a presence: quando il sensore rileva un movimento.

Trigger PresenceTrue = new Trigger();2 PresenceTrue.setName(this.getPojo().getName() + " relieves a presence");

PresenceTrue.setChannel("app.event.sensor.object.behavior.change");4 PresenceTrue.getPayload().addStatement("object.name", this.getPojo().getName());

PresenceTrue.getPayload().addStatement("object.behavior." + BEHAVIOR_PRESENCE, BooleanBehavior.VALUE_TRUE);

6 TriggerPersistence.add(PresenceTrue);

PIR don’t relieves a presence: quando il sensore non rileva un movimento.

Trigger PresenceFalse = new Trigger();2 PresenceFalse.setName(this.getPojo().getName() + " don’t relieve a presence");

PresenceFalse.setChannel("app.event.sensor.object.behavior.change");4 PresenceFalse.getPayload().addStatement("object.name", this.getPojo().getName());

PresenceFalse.getPayload().addStatement("object.behavior." + BEHAVIOR_PRESENCE, BooleanBehavior.VALUE_FALSE);

6 TriggerPersistence.add(PresenceFalse);

battery level il too low: quando la batteria del sensore e troppo bassa.

35

Page 36: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House
Page 37: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

6. L’implementazione delleconfigurazioni

Freedomotic permette, una volta creati gli oggetti, di posizionarli a proprio piacimentoall’interno dell’abitazione.

La “Private Assisted House” ipotizzata, e composta da un soggiorno, una camera daletto e una cucina, pertanto alcuni degli smart object implementati, sono stati inseritiin ognuna delle suddette stanze:

� Light;

� PIR;

� LuxMeter;

� ShieldedWindow;

Nel suo complesso, l’ambiente virtuale si presenta nella seguente maniera:

Figura 6.1: Casa virtuale in Freedomotic con gli smart object

Page 38: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Spegnimento forno allo scadere del timer

Nonostante la smart home abbia al suo interno tutti gli oggetti di cui necessita,non puo essere ancora considerata come una casa “intelligente”, poiche gli smart ob-ject non hanno alcuna automazione associata ai loro trigger. Pertanto ora verrannoimplementate le configurazioni che sono state in precedenza definite nel paragrafo 4.2.

6.1 Spegnimento forno allo scadere del timer

Smart object: Oven;

Trigger: “timer go to 0”;

Command: “turn off Oven”;

Reaction: “IF timer go to 0 THAN turn off Oven”;

<com.freedomotic.reactions.Reaction>2 <trigger>Oven timer go to 0</trigger>

<sequence>4 <command>Turn off Oven</command>

</sequence>6 </com.freedomotic.reactions.Reaction>

6.2 Spegnimento luci del salotto all’accensione della TV

Smart object:

� LivingroomLight;

� TV;

Trigger: “TV turns on”;

Command: “Turn off LivingroomLight”;

Reaction: “IF TV turns on THAN turn off LivingroomLight”;

<com.freedomotic.reactions.Reaction>2 <trigger>TV turns on</trigger>

<sequence>4 <command>Turn off LivingroomLight</command>

</sequence>6 </com.freedomotic.reactions.Reaction>

6.3 Spegnimento luci rimaste accese la notte

Smart object: LivingroomLight;

Trigger: “It’s night time”;

Command: “turn off all lights”;

Reaction: “IF it’s night time THAN turn off all lights”;

<com.freedomotic.reactions.Reaction>2 <trigger>It’s night time</trigger>

<sequence>4 <command>turn off all lights</command>

</sequence>6 </com.freedomotic.reactions.Reaction>

38

Page 39: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Spegnimento luci in caso di uscita dalla stanza

6.4 Spegnimento luci in caso di uscita dalla stanza

Smart object:

� LivingroomPIR;

� LivingroomLight;

Trigger: “LivingroomPIR don’t relieve a presence”;

Command: “Turn off LivingroomLight”;

Reaction: “IF LivingroomPIR don’t relieve a presence THAN turn off Livingroom-Light”;

<com.freedomotic.reactions.Reaction>2 <trigger>LivingroomPIR don’t relieve a presence</trigger>

<sequence>4 <command>Turn off LivingroomLight</command>

</sequence>6 </com.freedomotic.reactions.Reaction>

6.5 Regolazione luminosita della stanza5

Smart object:

� LivingroomLuxMeter;

� LivingroomShieldedWindow;

Aumento luce

Trigger: “Livingroom lux is too low”;

<trigger>2 <name>Livingroom lux is too low</name>

<channel>app.event.sensor.object.behavior.change</channel>4 <payload>

<payload>6 <com.freedomotic.reactions.Statement>

<logical>AND</logical>8 <attribute>Object.behavior.Lux</attribute>

<operand>LESS_THAN</operand>10 <value>50</value>

</com.freedomotic.reactions.Statement>12 <com.freedomotic.reactions.Statement>

<logical>AND</logical>14 <attribute>object.name</attribute>

<operand>EQUALS</operand>16 <value>livingroomLuxMeter</value>

</com.freedomotic.reactions.Statement>18 </payload>

</payload>20 </trigger>

Command: “Decrease LivingroomShieldedWindow shield value”;

Reaction: “IF Livingroom lux is too low THAN decrease LivingroomShielded-Window shield value”;

5E documentato solo il salotto poiche cucina e camera da letto hanno un’implementazione analoga.

39

Page 40: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Regolazione luminosita della stanza

Diminuzione luce

Trigger: “Livingroom lux is too high”;

Command: “Increase LivingroomShieldedWindow shield value”;

Reaction: “IF Livingroom lux is too low THAN increase LivingroomShielded-Window shield value”;

<com.freedomotic.reactions.Reaction>2 <trigger>Livingroom lux is too high</trigger>

<sequence>4 <command>Increase LivingroomShieldedWindow shield value</command>

</sequence>6 </com.freedomotic.reactions.Reaction>

Luce artificiale in caso di illuminazione insufficiente (sera)

Trigger: “LivingroomPIR relieves a presence and its evening”;

<trigger>2 <name>LivingroomPIR relieves a presence and its evening</name>

<channel>app.event.sensor.object.behavior.change</channel>4 <payload>

<payload>6 <com.freedomotic.reactions.Statement>

<logical>AND</logical>8 <attribute>time.hour</attribute>

<operand>GREATER_EQUAL_THAN</operand>10 <value>18</value>

</com.freedomotic.reactions.Statement>12 <com.freedomotic.reactions.Statement>

<logical>AND</logical>14 <attribute>object.name</attribute>

<operand>EQUALS</operand>16 <value>LivingroomPIR</value>

</com.freedomotic.reactions.Statement>18 <com.freedomotic.reactions.Statement>

<logical>AND</logical>20 <attribute>object.behavior.presence</attribute>

<operand>EQUALS</operand>22 <value>true</value>

</com.freedomotic.reactions.Statement>24 </payload>

</payload>26 </trigger>

Command: “Turn on LivingroomLight”;

Reaction: “IF LivingroomPIR relieves a presence and its evening THAN turnon LivingroomLight”;

<com.freedomotic.reactions.Reaction>2 <trigger>LivingroomPIR relieves a presence and its evening</trigger>

<sequence>4 <command>Turn on LivingroomLight</command>

</sequence>6 </com.freedomotic.reactions.Reaction>

Luce artificiale in caso di illuminazione insufficiente (notte)

Trigger: “LivingroomPIR relieves a presence and its night”;

Command: “Turn on LivingroomLight”;

40

Page 41: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Controllo parametri vitali

Reaction: “IF LivingroomPIR relieves a presence and its night THAN turn onLivingroomLight”;

6.6 Controllo parametri vitali

Smart object:

� HealthSensor;

� Armchair;

� PulseOximeter;

� GlucoMeter;

� AlertSystem;

Pressione arteriosa troppo alta (HealthSensor)

Trigger: “Blood pressure is too high”;

<trigger>2 <name>Blood Pressure is too high</name>

<channel>app.event.sensor.object.behavior.change</channel>4 <payload>

<payload>6 <com.freedomotic.reactions.Statement>

<logical>AND</logical>8 <attribute>object.behavior.BloodPressure</attribute>

<operand>GREATER_THAN</operand>10 <value>100</value>

</com.freedomotic.reactions.Statement>12 <com.freedomotic.reactions.Statement>

<logical>AND</logical>14 <attribute>object.name</attribute>

<operand>EQUALS</operand>16 <value>HealthSensor</value>

</com.freedomotic.reactions.Statement>18 </payload>

</payload>20 </trigger>

Command: “AlertSystem alerts the telemedicine structure”;

Reaction: “IF blood pressure is too high THAN AlertSystem alerts the teleme-dicine structure”;

<com.freedomotic.reactions.Reaction>2 <trigger>Blood Pressure is too high</trigger>

<sequence>4 <command>AlertSystem alerts the telemedicine structure</command>

</sequence>6 </com.freedomotic.reactions.Reaction>

Pressione arteriosa troppo bassa (HealthSensor)

Trigger: “Blood Pressure is too low”;

Command: “AlertSystem alerts the telemedicine structure”;

Reaction: “IF blood pressure is too low THAN AlertSystem alerts the teleme-dicine structure”;

41

Page 42: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Controllo parametri vitali

<com.freedomotic.reactions.Reaction>2 <trigger>Blood Pressure is too low</trigger>

<sequence>4 <command>AlertSystem alerts the telemedicine structure</command>

</sequence>6 </com.freedomotic.reactions.Reaction>

Anomalia nell’ECG

Trigger: “HealthSensor detect an ECG anomalies”;

Command:

� “AlertSystem alerts the caregiver”;

� “AlertSystem alerts 118”;

Reaction: “IF HealthSensor detect an ECG anomalies THAN AlertSystem alertsthe caregiver AFTER THAT AlertSystem alerts 118”;

<com.freedomotic.reactions.Reaction>2 <trigger>HealthSensor detect an ECG anomalies</trigger>

<sequence>4 <command>AlertSystem alerts the caregiver</command>

<command>AlertSystem alerts 118</command>6 </sequence>

</com.freedomotic.reactions.Reaction>

Pressione arteriosa troppo alta (Armchair)

Trigger: “Armchair blood pressure value is to high”;

1 <trigger><name>Armchair blood pressure value is to high</name>

3 <channel>app.event.sensor.object.behavior.change</channel><payload>

5 <payload><com.freedomotic.reactions.Statement>

7 <logical>AND</logical><attribute>object.behavior.BloodPressure</attribute>

9 <operand>GREATER_THAN</operand><value>80</value>

11 </com.freedomotic.reactions.Statement><com.freedomotic.reactions.Statement>

13 <logical>AND</logical><attribute>object.name</attribute>

15 <operand>EQUALS</operand><value>Armchair</value>

17 </com.freedomotic.reactions.Statement></payload>

19 </payload></trigger>

Command: “AlertSystem alerts the telemedicine structure”;

Reaction: “IF Armchair blood pressure value is to high THAN AlertSystemalerts the telemedicine structure”;

Saturazione ossigeno nel sangue troppo alta

Trigger: “O2 saturation is too high”;

42

Page 43: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Controllo parametri vitali

<trigger>2 <name>O2 saturation is too high</name>

<channel>app.event.sensor.object.behavior.change</channel>4 <payload>

<payload>6 <com.freedomotic.reactions.Statement>

<logical>AND</logical>8 <attribute>object.behavior.sat</attribute>

<operand>GREATER_THAN</operand>10 <value>95</value>

</com.freedomotic.reactions.Statement>12 <com.freedomotic.reactions.Statement>

<logical>AND</logical>14 <attribute>object.name</attribute>

<operand>EQUALS</operand>16 <value>PulseOximeter</value>

</com.freedomotic.reactions.Statement>18 </payload>

</payload>20 </trigger>

Command: “AlertSystem alerts the telemedicine structure”;

Reaction: “IF O2 saturation is too high THAN AlertSystem alerts the teleme-dicine structure”;

Saturazione ossigeno nel sangue troppo bassa

Trigger: “O2 saturation is too low”;

Command: “AlertSystem alerts the telemedicine structure”;

Reaction: “IF O2 saturation is too low THAN AlertSystem alerts the teleme-dicine structure”;

<com.freedomotic.reactions.Reaction>2 <trigger>O2 saturation is too low</trigger>

<sequence>4 <command>AlertSystem alerts the telemedicine structure</command>

</sequence>6 </com.freedomotic.reactions.Reaction>

Glucosio nel sangue troppo basso

Trigger: “Glucose value is too low”;

<trigger>2 <name>Glucose value is too low</name>

<channel>app.event.sensor.object.behavior.change</channel>4 <payload>

<payload>6 <com.freedomotic.reactions.Statement>

<logical>AND</logical>8 <attribute>object.behavior.glucose</attribute>

<operand>LESS_THAN</operand>10 <value>40</value>

</com.freedomotic.reactions.Statement>12 <com.freedomotic.reactions.Statement>

<logical>AND</logical>14 <attribute>object.name</attribute>

<operand>EQUALS</operand>16 <value>GlucoMeter</value>

</com.freedomotic.reactions.Statement>18 </payload>

</payload>20 </trigger>

43

Page 44: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Rilevazione di eventuali situazioni di pericolo

Command: “AlertSystem alerts the telemedicine structure”;

Reaction: “IF glucose value is too low THAN AlertSystem alerts the telemedi-cine structure”;

6.7 Rilevazione di eventuali situazioni di pericolo

Smart object:

� Accelerometer;

� GasMeter;

� AlertSystem;

Rilevazione di una caduta

Trigger: “The person is dropped”;

<trigger>2 <name>The person is dropped</name>

<channel>app.event.sensor.object.behavior.change</channel>4 <payload>

<payload>6 <com.freedomotic.reactions.Statement>

<logical>AND</logical>8 <attribute>object.behavior.acceleration</attribute>

<operand>GREATER_THAN</operand>10 <value>40</value>

</com.freedomotic.reactions.Statement>12 <com.freedomotic.reactions.Statement>

<logical>AND</logical>14 <attribute>object.name</attribute>

<operand>EQUALS</operand>16 <value>Accelerometer</value>

</com.freedomotic.reactions.Statement>18 <com.freedomotic.reactions.Statement>

<logical>AND</logical>20 <attribute>object.behavior.horizontal</attribute>

<operand>EQUALS</operand>22 <value>true</value>

</com.freedomotic.reactions.Statement>24 </payload>

</payload>26 </trigger>

Command:

� “AlertSystem alerts the caregiver”;

� “AlertSystem alerts 118”;

Reaction: “IF the person is dropped THAN AlertSystem alerts the caregiverAFTER THAT AlertSystem alerts 118”;

<com.freedomotic.reactions.Reaction>2 <trigger>The person is dropped</trigger>

<sequence>4 <command>AlertSystem alerts the caregiver</command>

<command>AlertSystem alerts 118</command>6 </sequence>

</com.freedomotic.reactions.Reaction>

44

Page 45: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Rilevazione di eventuali situazioni di pericolo

Concentrazione di CO2 nell’aria troppo elevata

Trigger: “CO2 value is too high”;

1 <trigger><name>CO2 value is too high</name>

3 <channel>app.event.sensor.object.behavior.change</channel><payload>

5 <payload><com.freedomotic.reactions.Statement>

7 <logical>AND</logical><attribute>object.behavior.CO2</attribute>

9 <operand>GREATER_THAN</operand><value>20</value>

11 </com.freedomotic.reactions.Statement><com.freedomotic.reactions.Statement>

13 <logical>AND</logical><attribute>object.name</attribute>

15 <operand>EQUALS</operand><value>GasMeter</value>

17 </com.freedomotic.reactions.Statement></payload>

19 </payload></trigger>

Command: “AlertSystem alerts the caregiver”;

Reaction: “IF CO2 value is too high THAN AlertSystem alerts the caregiver”;

<com.freedomotic.reactions.Reaction>2 <trigger>CO2 value is too high</trigger>

<sequence>4 <command>AlertSystem alerts the caregiver</command>

</sequence>6 </com.freedomotic.reactions.Reaction>

Queste configurazioni, che permettono a Freedomotic di automatizzare la “Priva-te Assisted House”, consentono di effettuare i controlli che le storyboard richiedono,ma ovviamente non rappresentano soluzioni immediatamente applicabili sul campo, inquanto gli smart object configurati:

non sono associati a un hardware: nonostante la maggior parte degli smart objectutilizzati siano gia presenti nel mercato, questi devono essere in grado di comu-nicare con Freedomotic, altrimenti ogni configurazione agisce solamente a livellosoftware. Infatti i valori utilizzati nelle configurazioni non forniscano in alcun mo-do un valore associabile ad una misurazione reale, in quanto tale valore puo averediverse rappresentazioni (unita di misura) strettamente dipendenti dall’hardwareutilizzato.

devono essere adattati a esigenze specifiche: ogni persona puo presentare rangedifferenti di valori anormali per ogni parametro vitale, poiche essi possono variarea seconda della condizioni fisiche (sesso, eta, peso, altezza, ecc.) e della malattiadi cui ognuno e affetto, senza contare il fatto degli aspetti degenerativi che possofar mutare nel tempo questi range. Pertanto i valori presentati in questa docu-mentazione sono assolutamente indicativi. Sara compito del personale medicocompetente stabilire quali sono i valori per i quali deve scattare una procedura diassistenza.

45

Page 46: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Plugin per la riconfigurazione on-demand

6.8 Plugin per la riconfigurazione on-demand

Tutti gli smart object e le relative configurazioni sono stati implementati per risponderealle esigenze che le persone descritte nelle storyboard richiedono.

In precedenza e stato detto che ogni persona puo avere esigenze specifiche differenti,infatti ogni storyboard, che descrive profili assistenziali di diversa gravita, necessitadi configurazioni che forniscono determinati controlli e che, probabilmente, in un’altrastoryboard non sono necessari. Quello che verra affrontato ora, e la suddivisione delleconfigurazioni in base alle esigenze specifiche di ogni storyboard, in modo da creare una“Private Assisted House” su misura di ogni profilo assistenziale.

Come e stato gia discusso nel paragrafo 4.1, ogni storyboard rappresenta un profiloassistenziale sempre piu grave, quindi e possibile dedurre che al crescere della gravitadel profilo assistenziale cresceranno anche i controlli da effettuare.

Nel caso specifico del profilo assistenziale basso, per l’assistito e sufficiente un con-trollo cardiologico e della pressione per stabilirne lo stato di salute, mentre nel pro-filo assistenziale grave sono necessari ulteriori controlli come il glucosio, saturazioneossigeno nel sangue ecc.

Cio significa che ogni profilo assistenziale avra le configurazioni presenti in quelloprecedente piu altre create appositamente per lui.

Di seguito sono proposte le configurazioni specifiche di ogni profilo, dove a queste siaggiungono quelle di tutti i profili precedenti.

Configurazione per profilo assistenziale basso

� spegnimento del forno allo scadere del timer;

� spegnimento luci del salotto all’accensione della TV;

� spegnimento luci rimaste accese la notte;

� spegnimento luci in caso di uscita dalla stanza;

� regolazione luminosita della stanza:

– aumento luce;

– diminuzione luce;

– luce artificiale in caso di illuminazione insufficiente;

� controllo parametri vitali:

– pressione arteriosa troppo alta (HealthSensor);

– pressione arteriosa troppo bassa (HealthSensor);

– anomalia nell’ECG;

Configurazione per profilo assistenziale medio

� controllo parametri vitali:

– pressione arteriosa troppo bassa (Armchair);

� rilevazione di eventuali situazioni di pericolo:

– rilevazione di una caduta;

46

Page 47: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Simulazione delle configurazioni

Configurazione per profilo assistenziale alto

� controllo parametri vitali:

– saturazione ossigeno nel sangue troppo alta;

– saturazione ossigeno nel sangue troppo bassa;

– glucosio nel sangue troppo basso;

� rilevazione di eventuali situazioni di pericolo:

– concentrazione di CO2 nell’aria troppo elevata;

Una volta che tutte le configurazioni precedentemente create sono state suddivise inbase al loro profilo assistenziale di riferimento, sono stati creati tre plugin (uno per ogniprofilo), che caricano a runtime le configurazioni attraverso i vari file .xtrg e .rea checontengono i relativi trigger e reaction.

Questo sistema permette di aumentare l’adattabilita e la flessibilita della “PrivateAssisted House” consentendo di gestire anche situazioni degenerative del malato (comedescritto nei paragrafi 2.5 e 2.6).

Figura 6.2: Finestra con i plugin installati

6.9 Simulazione delle configurazioni

In ogni processo di sviluppo software e necessario passare come ultimo step, attra-verso procedure che permettono di verificare il corretto funzionamento, pertanto inquest’ultima parte di documentazione varranno trattate le simulazioni effettuate sulleconfigurazioni create.

Freedomotic mette a disposizione un apposito pannello di controllo, che per ognioggetto creato, fornisce pulsanti e barre di scorrimento che permettono di cambiarevalori ai relativi behavior. In questo modo e possibile “forzare” un cambiamento distato per verificare che un determinato trigger scatti in maniera corretta.

Questo modo di operare risulta efficace, ma assolutamente fine a se stesso, percioper effettuare simulazioni e stato utilizzato un meccanismo alternativo e decisamentepiu interessante. Mi e stato fornito un software e un relativo plugin per Freedomotic,che permette di simulare i cambiamenti di stato di un oggetto fisico e di conseguenzaal relativo oggetto virtuale.

47

Page 48: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Simulazione delle configurazioni

Figura 6.3: Pannello di controllo di Freedomotic

L’applicazione utilizza il protocollo MQTT6 per simulare cambiamenti di un behaviornegli smart object.

Nello specifico, bisogna fornire al software un payload di tipo JSON7 contenente iltemplate dello smart object con i relativi valori dei behavior modificati. Il software, poi,si occupera di pubblicare (effettua una publish) il payload su un determinato broker(nodo centrale).

Figura 6.4: Interfaccia del simulatore

A questo punto il plugin di Freedomotic, che non e altro che un client MQTT connessoal broker, intercetta le pubblicazioni fatte dall’applicazione (effettua una subscribe) ecarica i cambiamenti ottenuti sui relativi smart object virtuali.

Di seguito vengono proposti due esempi che mostrano come costruire payload persimulare il cambiamento di stato degli smart object.

6MQ Telemetry Transport (MQTT) e un protocollo di messaggistica di tipo publish-subscribe.7JavaScript Object Notation e un formato per lo scambio dei dati in applicazioni client-server.

48

Page 49: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Simulazione delle configurazioni

Simulazione HealthSensor

Behavior modificati:

� BloodPressure = 120;

� HeartRate = 90;

Payload di riferimento:

{2 "time":"165030",

"date":"20140911",4 "timestamp": 1391100630000,

"sender": "HealthSensor",6 "object.address": "777",

"object.networkAddress": "0x0001",8 "object.endpointAddress": "0x0000000000000001",

"object.type": "HealthSensor",10 "object.uuid": "86a2a5bb-a919-3734-ab81-b7544aaee09f",

"object.cid": "0x0620",12 "object.ctype": "0x0620",

"measurements":14 [

{16 "timestamp": 1396253552418,

"name": "HeartRate",18 "value": 90,

"unit": "bpm"20 },

{22 "timestamp": 1396253552418,

"name": "BloodPressure",24 "value": 120,

"unit": "mmHg"26 }

]28 }

Figura 6.5: Situazione dell’HealthSensor prima della simulazione

Figura 6.6: Situazione dell’HealthSensor dopo la simulazione

Di conseguenza alla modifica dei valori nei behavior, tutti i trigger che soddisfanotali cambiamenti scattano, infatti in questo caso viene rilevata una pressione troppoalta e parte la chiamata alla struttura di telemedicina.

49

Page 50: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Simulazione delle configurazioni

Simulazione BedroomPIR

Behavior modificato: presence = false;

Payload di riferimento:

{2 "time":"165030",

"date":"20140911",4 "timestamp": 1391100630000,

"sender": "BedroomPIR",6 "object.address": "778",

"object.networkAddress": "0x0001",8 "object.endpointAddress": "0x0000000000000001",

"object.type": "BedroomPIR",10 "object.uuid": "86a2a5bb-a919-3734-ab81-b7544aaee09f",

"object.cid": "0x0620",12 "object.ctype": "0x0620",

"measurements":14 [

{16 "timestamp": 1396253552418,

"name": "presence",18 "value": false,

"unit": ""20 }

]22 }

Figura 6.7: Situazione del BedroomPIR prima della simulazione

Figura 6.8: Situazione del BedroomPIR dopo la simulazione

In questo caso il PIR segnala la presenza di una persona all’interno della camera daletto e la luce e accesa. Nel momento in cui il simulatore pubblica sul broker un payloadin cui il bahavior presence e false, Freedomotic intercetta questo payload e cambia lostato del PIR. Come risultato si ha che scatta anche il trigger associato allo stato false:il sensore che non rileva piu alcuna presenza spegne l’ormai superflua lampadina.

50

Page 51: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

7. Conclusione e sviluppi futuri

La societa odierna e ormai caratterizzata dall’uso di dispositivi tecnologici in qualsiasiambito. La tecnologia, inoltre, ha un ruolo in primo piano riguardo la salute e ilbenessere delle persone poiche nel corso degli anni si e sviluppata (e lo sta facendotutt’ora) per poter offrire un sostegno sempre piu concreto alle persone.

Attualmente sono presenti svariate strutture sanitarie che permettono di fornireassistenza e supporto ad anziani o persone con diverse disabilita, in cui si metto-no a disposizione operatori competenti che aiutano i pazienti durante la loro attivitaquotidiana.

Il passo in avanti che oggi la sanita, con l’aiuto della tecnologia, sta cercando dieffettuare e quello di studiare e fornire impianti domotici che permettano di migliorarel’autonomia e la qualita della vita degli anziani e persone affette da disabilita.

In particolare, il progetto di cui mi sono occupato e quello che riguarda la “PrivateAssisted House”, ovvero un’abitazione in cui il disabile puo restare tranquillamente nelsuo ambiente familiare, ma con lo stesso grado di sicurezza che puo offrire una strutturasanitaria specializzata.

Questo avviene attraverso la piattaforma domotica che ho configurato e che, grazieai vari sensori e dispositivi posti all’interno dell’abitazione, riesce a controllare il livellodi salute e agire di conseguenza basandosi sulle regole imposte.

Questa soluzione di “casa intelligente” e ancora in fase di sviluppo e, per il momento,deve essere considerata ancora un come un prototipo, infatti manca della componentehardware che, seppur esistente, non fornisce l’interoperabilita necessaria affinche tuttii dispositivi possano comunicare le loro informazioni a Freedomotic.

Lo sforzo che dovra essere fatto in questa direzione sara proprio quello di poterprelevare le misurazioni effettuate tramite il sensore fisico, e quindi, di abbandonarel’uso del simulatore che io ho sfruttato.

Permettere, pero, la comunicazione diretta fra il dispositivo e Freedomotic attraversoun protocollo di comunicazione, potrebbe portare diverse complicazioni sotto moltipunti di vista. Un’alternativa possibile potrebbe essere quella di sfruttare la stessatecnologia utilizzata dal simulatore: il protocollo MQTT (o simile) per permettere alsensore di comunicare i parametri misurati a un broker che a sua volta li indirizzera aFreedomotic che effettuera le dovute valutazioni.

Lo spostamento delle misurazioni e informazioni verso un ambiente esterno offrirebbel’opportunita di nuovi possibili sviluppi. Si potrebbe garantire, infatti, la sorveglianzadella persona anche da una postazione remota, effettuando ad esempio, delle analisi piuapprofondite e utilizzare la strumentazione gia presente in casa per valutare in temporeale le condizioni fisiche del malato.

Vista la possibilita di ottenere e manipolare informazioni al di fuori della smart home,potrebbe essere un ulteriore e interessante sviluppo quello di poter eseguire dei comandi

Page 52: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

o perfino configurare l’ambiente della “Private Assisted House” in maniera del tuttoindipendente dalla postazione in cui e installato Freedomotic.

In questa maniera si otterrebbe un completo decentramento del sistema di gestio-ne sanitaria che potrebbe essere effettuata dal personale medico addetto, che potreb-be operare ignorando i dettagli implementativi e di comunicazione che Freedomoticutilizza.

Concludo la tesi dicendo che sono molto soddisfatto e orgoglioso di aver lavorato perun progetto tanto ambizioso, perche mettere a frutto le proprie conoscenze acquisitenel corso degli anni per un qualcosa di pratico e decisamente stimolante, ma lo e ancoradi piu sapere di aver lavorato per la salute e per il miglioramento della qualita dellavita di persone bisognose.

52

Page 53: Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assisted House

Bibliografia

[1] La domotica: quanto costa. la Repubblica, 2012. URL: http://design.repubblica.it/2012/05/17/la-domotica-quanto-costa/.

[2] Grappasonni I. e Petrelli F. I registri dell’ ictus cerebrale in italia. Telemedita-lia, 2009. URL: http://www.telemeditalia.it/it/edizioni/edizioni/detail/0/185/201/i-registri-dell-ictus-cerebrale-in-italia.html?edition=20092.

[3] Il futuro demografico del paese: Previsioni regionali della popolazione residenteal 2065. ISTAT, 2011. URL: http://www.telemeditalia.it/it/edizioni/edizioni/detail/0/185/201/i-registri-dell-ictus-cerebrale-in-italia.html?edition=20092.

[4] Aumentano le persone disabili, ma scontano invisibilita, ignoranza e pregiudizi.Censis, 2010. URL: http://www.censis.it/7?shadow comunicato stampa=108589.

[5] Pagina ufficiale di freedomotic. URL: http://www.freedomotic.com/.

[6] Documentazione per freedomotic. URL: http://freedomotic.sednet.it/.