Upload
mirko-mancin
View
175
Download
1
Tags:
Embed Size (px)
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.
Citation preview
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Distributed Systems Group Università Degli Studi di Parma
2012 - Parma A.A. 2011/2012 - Parma, 09/10/2012
Video
Distributed Systems Group Università Degli Studi di Parma
2012 - Parma A.A. 2011/2012 - Parma, 09/10/2012
Video bad conditions
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
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