HOUSE MANAGER

18
HOUSE MANAGER Developed by Gianluca Paolocci, Silvio Molinari e Luca Corcione

description

HOUSE MANAGER. Developed by Gianluca Paolocci, Silvio Molinari e Luca Corcione. QUANTE VOLTE DOPO ESSERE USCITO DI CASA TI SEI CHIESTO - ’’ ho spento la luce ?!?!’’ - ’’ se c’è una perdita di gas ?!?!’’ - ’’ se entra qualcuno in casa come faccio a saperlo?!?!’’ - PowerPoint PPT Presentation

Transcript of HOUSE MANAGER

Page 1: HOUSE MANAGER

HOUSE MANAGER

Developed by Gianluca Paolocci, Silvio Molinari e Luca Corcione

Page 2: HOUSE MANAGER

QUANTE VOLTE DOPO ESSERE USCITO DI CASA TI SEI CHIESTO - ’’ ho spento la luce ?!?!’’- ’’ se c’è una perdita di gas ?!?!’’ - ’’ se entra qualcuno in casa come faccio a saperlo?!?!’’

HOUSE MANAGER E’ STATO PENSATO PROPRIO PER RISPONDERE A QUESTE DOMANDE!

Page 3: HOUSE MANAGER

Il progetto House Manager si pone l’obiettivo di fornire un servizio di monitoraggio della propria casa, in modo da garantire sicurezza e benessere agli abitanti.

Per quanto riguarda la sicurezza, è possibile attivare un sistema di controllo che avvertirà gli utenti in caso di intrusione nell’appartamento o di eventuali fughe di gas.

Inoltre si può essere informati circa la temperatura e l’umidità interna della casa e se è piovuto o meno nei dintorni.

Page 4: HOUSE MANAGER

I SENSORI E DISPOSITIVI UTILIZZATI PER IL FUNZIONAMENTO DI ARDUINO SONO:- EthernetShield w5100 per il collegamento ad internet e LAN- DHT 11 per temperatura ed umidità- Sensore mq2 per rilevamento dei gas e fumo- PIR per il movimento- Fotoresistenza per la luce- Sensore di Acqua per la pioggia- Display LCD 16x2 con controller Hitachi HD44780 per mostrare informazioni in tempo reale su Arduino stesso- Buzzer pizoelettrico che suona quando scatta un allarme- Led RGB con colori diversi in base allo stato:

- Verde (lampeggiante): Allarme attivo

- Rosso (lampeggiante): Pericolo o intrusione rilevata

- Blu: Inizializzazione, dispositivo Android connesso

Page 5: HOUSE MANAGER

Appena acceso Arduino effettua dei passaggi di Inizializzazione:- Configurazione sensori- Inizializzazione LCD- Inizializzazione EthernetShield, con stampa a

schermo dell’ IP Locale- Creazione server- Calibrazione del sensore di luce in base alla

stanza in cui ci troviamo

Durante questi passi preliminari il led rimarrà acceso di colore Blu.

Successivamente il Led si spegnerà e l’LCD ci avviserà che House Manager è in funzione.

A questo punto possiamo collegarci col nostro dispositivo Android.

Page 6: HOUSE MANAGER

L’allarme è attivabile tramite un bottone posto sulla breadboard bianca.

Se l’ allarme è attivo il led comincerà a lampeggiare di Verde e se vengono rilevate intrusioni o fughe di gas lampeggerà di Rosso contemporaneamente a un ‘’beep’’ emesso dal Buzzer pizoelettrico. Inoltre ogni emergenza sarà anche notificata sull’ LCD.

Ad ogni richiesta effettuata dal dispositivo Android i dati saranno inviati e il led lampeggerà di Blu.

Page 7: HOUSE MANAGER

http://181.30.42.154:80/HM

Page 8: HOUSE MANAGER

Abbiamo scelto il protocollo HTTP poiché semplice da usare e da impostare su router per accesso da remoto (tramite porta 80).

I dati vengono continuamente inviati tramite un file JSON denominato HM.json .

JSON (JavaScript Object Notation) è un formato adatto per lo scambio dei dati in applicazioni client-server.

Page 9: HOUSE MANAGER

JSON è un formato di testo completamente indipendente dal linguaggio di programmazione, ma utilizza convenzioni conosciute da linguaggi come C, C++, Java, JavaScript, Python, e molti altri.

Per le persone è facile da leggere e scrivere, mentre per le macchine risulta facile da generare e analizzarne la sintassi.

Permette di creare tuple CHIAVE-VALORE che nel nostro caso sono SENSORE-DATO e altri tipi di informazioni.

Page 10: HOUSE MANAGER

JSON è basato su due strutture:

• Un insieme di coppie nome/valore. In diversi linguaggi, questo è realizzato come un oggetto, un record, uno struct, un dizionario, una tabella hash, un elenco di chiavi o un array associativo.

• Un elenco ordinato di valori. Nella maggior parte dei linguaggi questo si realizza con un array, un vettore, un elenco o una sequenza

Page 11: HOUSE MANAGER

Tramite Arduino inviamo il file JSON che passa i valori dei nostri sensori ad ogni richiesta da parte del client.Es.// temperature client.print(’’{’’);….client.print( ’’,\’’temp\’’:\’’); client.print(dht.getTemperature(),1); client.print(’’\’’’’); // humidity client.print(’’,\’’humi\’’:\’’’’); client.print(dht.getHumidity(),1); client.print(’’\’’’’);….client.print(’’}’’);

Page 12: HOUSE MANAGER

Per ricevere i dati da Arduino nel codice della nostra App abbiamo utilizzato una libreria apposita per JSON:

import org.json.JSONObjectEs.

JSONObject jso = new JSONObject(response); //creazione oggetto…float fTemp = (float) jso.getDouble("temp"); //ottenere temperaturafloat fHumi = (float) jso.getDouble("humi"); //ottenere umidità…

Page 13: HOUSE MANAGER

Il client Android è composto da un’ interfaccia user-friendly che permette di:

-Controllare su di un’unica view lo stato dei sensori.

-Monitorare tramite un grafico l’ andamento della temperatura e dell’ umidità nella casa.

-Attivare o disattivare il monitoraggio (singolo o continuo) a distanza.

Page 14: HOUSE MANAGER

Nel menù impostazioni è possibile:- Realizzare lo

scanning automatico attraverso il ‘’pingaggio’’ di tutte le combinazioni di IP della sottorete.

- Impostare l’ indirizzo IP al quale connettersi tramite HTTP.

- Cambiare il time-out dello scan automatico.

- Cambiare il timer di aggiornamento dello stato dei sensori .

Page 15: HOUSE MANAGER

Oltre a rilevare Temperatura e Umidità, come già detto, HOUSE MANAGER fornisce un sistema di allarme sia in caso di fuga di gas sia in caso di intrusione nell’ appartamento.

Per far si che ci venga notificato il pericolo, l’allarme deve essere ATTIVO. Se l’allarme è attivo e viene rilevata una certa quantità di gas si avvierà un Activity accompagnata da un suono che ci avvertirà della presenza di una fuga di Gas.

Page 16: HOUSE MANAGER

Per quanto riguarda l’intrusione in casa, invece, la questione è un diversa.Se l’allarme è ATTIVO, quando Arduino rileva un movimento oppure rileva contemporaneamente la presenza di luce e un movimento, il valore della variabile BUZZER passa da 0 a 1 evocando l’Activity, la quale, sempre accompagnata da un suono (diverso dal precedente), ci segnala l’intrusione.

Page 17: HOUSE MANAGER

L’ Activity dell’ allarme viene evocata attraverso un Intent.L’ Intent viene parametrizzata con dei valori, grazie ai quali, l’Activity viene lanciata in testa allo stack delle altre Activity che girano in background.

In questo modo, si notificherà in primo piano l’allarme e sapremo in qualsiasi momento le situazioni di vera emergenza.

Page 18: HOUSE MANAGER

Applauso grazie!!!