tesi triennale

20
Distributed Systems Group Università Degli Studi di Parma 2012 - Parma PROGETTAZIONE E REALIZZAZIONE DI UN SISTEMA DI AMBIENT INTELLIGENCE BASATO SU ARDUINO E ANDROID DESIGN AND IMPLEMENTATION OF AN AMBIENT INTELLIGENCE SYSTEM BASED ON ARDUINO AND ANDROID Relatore Chiar.mo Prof. GIANNI CONTE Correlatore/i Dott. Ing. MARCO PICONE Dott. Ing. MICHELE AMORETTI Tesi di Laurea di MIRKO MANCIN Anno Accademico 2011-2012

Upload: mirko-mancin

Post on 08-Jul-2015

175 views

Category:

Technology


1 download

DESCRIPTION

Lo scopo di questa Tesi è mostrare come le piattaforme Arduino e Android possano essere utilizzate in un sistema di Ambient Intelligence per il monitoraggio dei sensori e l'interazione con gli attuatori. La prima parte del lavoro è stata quella di progettare e sviluppare con l’hardware e il software fornito da Arduino le schede necessarie per il sistema: • Una scheda per il monitoraggio ambientale, attraverso la lettura di quattro sensori (temperatura, umidità, luce, gas) (vedi figura a lato); • Una scheda per la presenza all’interno della stanza attraverso un lettore di tag RFID e NFC, un sensore di movimento PIR e un sensore di suono ad alta sensibilità che comunicano i loro dati con un modulo ZigBee; • Una scheda per la comunicazione ZigBee; • Una scheda per gli attuatori e per il riconoscimento di dispositivi Android attraverso un USB Host. Queste schede sono state installate in una Wireless Sensor Network (WSN) e comunicheranno con un server creato ad hoc attraverso tecnologie wireless e wired. Il server ha il compito di elaborare i dati grezzi che arrivano dalle schede, salvarli in un database, renderli disponibili a un client web che li possa visualizzare attraverso un’interfaccia (saranno rappresentati i dati letti delle ultime ore attraverso dei grafici) e di mettere a disposizione servizi utili per interrogazioni da parte di dispositivi Android. Un altro servizio implementato è stato quello di un modulo software con il quale, attraverso una rete di Bayes per l’auto apprendimento appositamente creata per il progetto, è possibile prevedere lo stato della stanza in basa alla lettura dei sensori/dispositivi sopra elencati. Tale modulo è in grado di rilevare se c’è un incendio, se c’è un intrusione, ma anche se c’è attività lavorativa di una singola persona o se c’è una conferenza oppure se c’è una condizione anomala per cui bisogna azionare determinati attuatori. Attraverso la lettura di eventi di basso livello (sensori, tag di utenti entrati nel locale, ecc), il modulo riesce a prevedere con buona probabilità quale è lo stato della stanza in quel momento. L’interfaccia utente del sistema è raggiungibile via Web attraverso una pagina presente sul server, oppure attraverso un’applicazione Android (vedi figura a lato) che permette di visualizzare i dati letti dai sensori, di ricevere notifiche push in caso di eventi di alto livello (rilevati dai moduli sopra descritti), attraverso il servizio Google Cloud Messaging, o azionare gli attuatori in remoto.

TRANSCRIPT

Page 1: Tesi Triennale

Distributed Systems Group Università Degli Studi di Parma

2012 - Parma

PROGETTAZIONE E REALIZZAZIONE DI

UN SISTEMA DI AMBIENT INTELLIGENCE

BASATO SU ARDUINO E ANDROID DESIGN AND IMPLEMENTATION OF AN AMBIENT

INTELLIGENCE SYSTEM BASED ON ARDUINO AND ANDROID

Relatore

Chiar.mo Prof. GIANNI CONTE

Correlatore/i

Dott. Ing. MARCO PICONE

Dott. Ing. MICHELE AMORETTI

Tesi di Laurea di

MIRKO MANCIN

Anno Accademico 2011-2012

Page 2: Tesi Triennale

Distributed Systems Group Università Degli Studi di Parma

2012 - Parma

Introduzione e contesto

• Ambient Intelligence

o Potenziamento dei servizi offerti dalla domotica e il sostegno alle interazioni umane

o Supporto a servizi efficienti e distribuiti

o User-friendliness

• Open Source Open Hardware

• Modularità e basso costo

• Sistema distribuito e mobile

Progettazione e realizzazione di un sistema di Ambient Intelligence basato su Arduino e Android

Page 3: Tesi Triennale

Distributed Systems Group Università Degli Studi di Parma

2012 - Parma

Obiettivi della Tesi

• Studio dei principi dell‘Ambient Intelligence e del Machine-to-

Machine attraverso tecnologie Open Hardware e Open Source

• Progettazione e realizzazione di un sistema di Ambient

Intelligence che, tramite il monitoraggio di alcune grandezze

fisiche ambientali, consenta di determinare le diverse situazioni

domestiche presenti

• Realizzazione di un client su piattaforma mobile in grado di

ricevere notifiche in tempo reale e interagire con il sistema

Progettazione e realizzazione di un sistema di Ambient Intelligence basato su Arduino e Android

Page 4: Tesi Triennale

Distributed Systems Group Università Degli Studi di Parma

2012 - Parma

Componenti utilizzati • Arduino

(microcontrollore per la raccolta dei dati provenienti dai sensori)

- Sensing (Sensori ambientali, PIR, RFID, ecc)

- Networking (Ethernet,WiFi, ZigBee)

• Server (adibito alla raccolta dati e per ospitare il software per l’intelligenza)

• Reti di Bayes (servizio per l’Ambient Intelligence del sistema. Determina lo stato

attuale della stanza)

• Piattaforma Android (client che permette la ricezione di notifiche e l’interazione con il sistema)

Progettazione e realizzazione di un sistema di Ambient Intelligence basato su Arduino e Android

Page 5: Tesi Triennale

Distributed Systems Group Università Degli Studi di Parma

2012 - Parma

WSN

Progettazione e realizzazione di un sistema di Ambient Intelligence basato su Arduino e Android

2A 3 1

2B

Page 6: Tesi Triennale

Distributed Systems Group Università Degli Studi di Parma

2012 - Parma

Scheda Arduino UNO che raccoglie i dati ambientali

e li invia al server attraverso un modulo WiFi.

Sensore di

luminosità

Sensore

di CO2

Sensore di

temperatura

e umidità

Modulo per

comunicazione

WiFi

Scheda per il monitoraggio ambientale

Progettazione e realizzazione di un sistema di Ambient Intelligence basato su Arduino e Android

1

Page 7: Tesi Triennale

Distributed Systems Group Università Degli Studi di Parma

2012 - Parma

Schede Arduino UNO che monitorano la presenza di persone all’interno dell’ambiente.

Comunicano tra di loro con il protocollo ZigBee e inviano i dati al server

attraverso la porta Ethernet.

Modulo Xbee Modulo Xbee

Microfono

PIR

Lettore

RFID

TAG

RFID

Ethernet

Schede per il riconoscimento e l’identificazione

Progettazione e realizzazione di un sistema di Ambient Intelligence basato su Arduino e Android

2A 2B

Page 8: Tesi Triennale

Distributed Systems Group Università Degli Studi di Parma

2012 - Parma

Ventole = impianto di

condizionamento

Led = Illuminazione

Servo motore = Finestre

Ethernet

Scheda per gli attuatori e l’Usb Host Scheda Arduino Mega ADK con cui vengono simulati gli attuatori. È presente anche

un Usb Host attraverso cui è possibile collegare un device Android.

Progettazione e realizzazione di un sistema di Ambient Intelligence basato su Arduino e Android

3

Page 9: Tesi Triennale

Distributed Systems Group Università Degli Studi di Parma

2012 - Parma

Modello probabilistico che rappresenta un insieme di eventi con le loro

dipendenze condizionali, rappresentati per mezzo di un grafo aciclico diretto.

Reti di Bayes

Per esempio una rete Bayesiana

potrebbe rappresentare la relazione

probabilistica esistente

tra le cause diverse per cui i prati di

Watson e Holmes possono essere

bagnati (effetti).

Dati gli effetti, la rete può essere

usata per calcolare la probabilità

di diverse cause.

Progettazione e realizzazione di un sistema di Ambient Intelligence basato su Arduino e Android

Page 10: Tesi Triennale

Distributed Systems Group Università Degli Studi di Parma

2012 - Parma

Reti di Bayes

Nel nostro caso, date le letture dei sensori, si determina lo

stato in cui la stanza si trova con maggiore probabilità.

Progettazione e realizzazione di un sistema di Ambient Intelligence basato su Arduino e Android

Page 11: Tesi Triennale

Distributed Systems Group Università Degli Studi di Parma

2012 - Parma

Client Android

Ricezione di notifiche push

con il servizio GCM Monitoraggio dei sensori

Interazione con gli attuatori

Progettazione e realizzazione di un sistema di Ambient Intelligence basato su Arduino e Android

Page 12: Tesi Triennale

Distributed Systems Group Università Degli Studi di Parma

2012 - Parma

Google Cloud Messaging

Lo scopo principale di GCM è quello sia di inviare nuovi contenuti

presenti sul server, al software in esecuzione sul device Android.

Le caratteristiche principali di GCM sono:

• Velocità d’invio dei messaggi (qualche centinaia di millisecondi)

• Sicurezza (solo i dispositivi registrati ricevono le notifiche)

• Non è necessario che il software sia in esecuzione per

ricevere i messaggi.

Progettazione e realizzazione di un sistema di Ambient Intelligence basato su Arduino e Android

Page 13: Tesi Triennale

Distributed Systems Group Università Degli Studi di Parma

2012 - Parma

Google Cloud Messaging

Progettazione e realizzazione di un sistema di Ambient Intelligence basato su Arduino e Android

Page 14: Tesi Triennale

Distributed Systems Group Università Degli Studi di Parma

2012 - Parma

Testing Il sistema progettato è stato testato su diverse casistiche e con tempi di

campionamento differenti. In particolare si è valutata la veridicità della

risposta della rete di Bayes.

Progettazione e realizzazione di un sistema di Ambient Intelligence basato su Arduino e Android

Page 15: Tesi Triennale

Distributed Systems Group Università Degli Studi di Parma

2012 - Parma

Testing

Progettazione e realizzazione di un sistema di Ambient Intelligence basato su Arduino e Android

Page 16: Tesi Triennale

Distributed Systems Group Università Degli Studi di Parma

2012 - Parma

VIDEO

DIMOSTRATIVI

Progettazione e realizzazione di un sistema di Ambient Intelligence basato su Arduino e Android

Page 17: Tesi Triennale

Distributed Systems Group Università Degli Studi di Parma

2012 - Parma A.A. 2011/2012 - Parma, 09/10/2012

Video

Page 18: Tesi Triennale

Distributed Systems Group Università Degli Studi di Parma

2012 - Parma A.A. 2011/2012 - Parma, 09/10/2012

Video bad conditions

Page 19: Tesi Triennale

Distributed Systems Group Università Degli Studi di Parma

2012 - Parma

Conclusioni

Il sistema realizzato ha esplorato nuove tecnologie per l'Ambient

Intelligence. La soluzione proposta è il primo tassello di un sistema

per l'apprendimento automatico di comportamenti e abitudini

degli utenti, in grado di anticipare i bisogni migliorando le proprie

performance nel tempo.

Progettazione e realizzazione di un sistema di Ambient Intelligence basato su Arduino e Android

Sviluppi futuri

• Server su controller embedded (tipo Raspberry PI)

• Integrare nuovi sensori

• Applicazione Android per monitorare diversi ambienti

• Tecniche di apprendimento basate sui feedback degli utenti

Page 20: Tesi Triennale

Distributed Systems Group Università Degli Studi di Parma

2012 - Parma

PROGETTAZIONE E REALIZZAZIONE DI

UN SISTEMA DI AMBIENT INTELLIGENCE

BASATO SU ARDUINO E ANDROID DESIGN AND IMPLEMENTATION OF AN AMBIENT

INTELLIGENCE SYSTEM BASED ON ARDUINO AND ANDROID

Relatore

Chiar.mo Prof. GIANNI CONTE

Correlatore/i

Dott. Ing. MARCO PICONE

Dott. Ing. MICHELE AMORETTI

Tesi di Laurea di

MIRKO MANCIN

Anno Accademico 2011-2012