tesi di laurea Progetto e sviluppo di una Applicazione Android per l accesso a reti di sensori Anno Accademico 2009 2010 relatore Ch.mo prof. Marcello Cinque candidato Nicola Lubrano Matr. 534/1397
Contesto Tecnologia emergente Diversi ambiti applicativi Costi contenuti ti Facilità di installazione Reti di sensori Wireless (WSN) Piattaforme per la gestione dei dati raccolti Accesso alle piattaforme per la consultazione dei dati
Obiettivi Progettazione e sviluppo di una applicazione per l accesso a reti di sensori senza fili da dispositivi mobili Android. Accesso alla piattaforma icaas secondo il paradigma REST Interfaccia ottimizzata per il dispositivo REST Accesso alle risorse attraverso il web Approccio leggero adatto per dispositivi mobili
Android OS Sistema Open Source basato su kernel Linux Potenti ti tools di sviluppo messi a disposizione i i Linguaggio Java per la programmazione Possibilità di accedere alle stesse librerie delle applicazioni di sistema Pieno supporto al multithreading
Piattaforma icaas Heterogeneous System Access Accesso per le applicazioni Sessioning Gestione di Utenti, Interessi, Metadati Filteringi Viste per gli utenti Caching Ottimizzazione degli accessi al db Data Access Realizzazione della persistenza Canale SSL
icaaslogin Requisiti Funzionali Accesso ad icaas Visione delle reti di sensori per mappe Visione e classificazione dei sensori per proprietà Visualizzazione di tutte le informazioni di uno specifico sensore Visualizzazione di un grafico dell evoluzione temporale dei valori di un singolo sensore Aggiornamento dei valori dei sensori
I componenti di icaaslogin Login Piattaforma icaas Aggiornamento dati Activity Realizzano le interfacce grafiche che mostrano i dati all utente DataService Lavora in background e si occupa dell aggiornamento delle strutture dati
L accesso ai dati attraverso il paradigma REST I dati vengono acceduti come risorse del web Si esegue una normale get verso un url che identifica univocamente la risorsa. Prima richiesta Json URL url=new URL("https://icaas.no-ip.org/senselet/client?json=true&user="+user); urlconnection.connect(); BufferedReader red = new BufferedReader(...); String testojson= new String(red.read()); Ri hi t di i t Richiesta di aggiornamento URL url = new URL("https://icaas.no-ip.org/senselet/client? json=true&lastid=0&lastupdate=0"+"&user="+user);
La gestione delle sessioni SSL Il prototipo di icaas spedisce un certificato scaduto e con un hostname diverso da quello del server Implementazione delle interfacce HostnameVerifier e X509TrustManager del pacchetto javax.net.ssl Realizzazione della sessione SSL grazie alle classi SSLContext e HttpsURLConnection
Esempio d uso
Conclusioni & Sviluppi futuri Conclusioni Client Android per l accesso alla piattaforma icaas basato sul paradigma REST Grafica ottimizzata per il dispositivo Aggiornamento periodico dei dati della rete Sviluppi futuri Adattamento del codice per l autenticazione di un certificato valido Implementazioni di altri filtri per la visualizzazione delle informazioni