Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamento al sistema di...

17
UNIVERSITÀ DEGLI STUDI DI TRIESTE Dipartimento di Ingegneria e Architettura Corso di Studi in Ingegneria dell’Informazione Sviluppo di un’applicazione ibrida su dispositivo mobile per l’interfacciamento al sistema di controllo TANGO Tesi di Laurea Triennale Laureando: Mattia De Bernardi RELATORE: PROF. ENZO MUMOLO Correlatore : dott. Lucio Zambon

Transcript of Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamento al sistema di...

Page 1: Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamento al sistema di controllo TANGO

UNIVERSITÀ DEGLI STUDI DI TRIESTEDipartimento di Ingegneria e Architettura

Corso di Studi in Ingegneria dell’Informazione

Sviluppo di un’applicazione ibrida su dispositivo mobile per l’interfacciamento al sistema di controllo

TANGOTesi di Laurea Triennale

Laureando:Mattia De Bernardi

RELATORE:

PROF. ENZO MUMOLO

Correlatore :dott. Lucio Zambon

Page 2: Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamento al sistema di controllo TANGO

Introduzione Elettra - Sincrotrone Trieste centro di ricerca multidisciplinarespecializzato in applicazione radiazione di sincrotrone e laser a elettroni liberi(FERMI)

Necessità di tenere sotto controllo grande numero(migliaia) dispositivi hardware

Anche interesse nel sapere: stato attuale dei dispositivi, storico delle manutenzioni, disponibilità di componenti atti alla manutenzione

Parte del personale ha necessità di disporredel sistema di monitoraggio su qualsiasi dispositivo mobile

TANGO: sistema di controllo distribuito realizzato in Elettra-Sincrotrone

Page 3: Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamento al sistema di controllo TANGO

Motivazioni Interesse Elettra - Sincrotrone Trieste in portabilità di alcuni applicativi

Perché applicazione ibrida (in parte web e in parte nativa): Ibrida più lenta di quella nativa, ma velocità non necessaria per questa applicazione Possibile accesso funzionalità dispositivo mobile

e.g. fotocamera, vibrazione, notifiche sonore, info su connettività, contatti…

Riutilizzo medesimo codice su più piattaforme (per esempio Android e IOS) Presenza su web di librerie per ottimizzazione UI

Page 4: Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamento al sistema di controllo TANGO

Obiettivo del lavoro svolto Implementare su mobile funzionalità già esistenti al Sincrotrone

Introdurre nuove funzionalità

Rendere applicazione mobile adattabile alla dimensione dello schermo (responsive)

Page 5: Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamento al sistema di controllo TANGO

Funzionalità della applicazione creata Monitoraggio real-time macchina FERMI

Visualizzazione della forma ad albero di Astor (supervisore TANGO)

Start/Stop device server previa autenticazione utente

Elenco device server di FERMI non in esecuzione (inedita)

Soglia allarme per attributo di device server

Page 6: Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamento al sistema di controllo TANGO

Apache Cordova Framework open source per sviluppare facilmente applicazioni

per qualsiasi ambiente mobile

Può generare codice nativo (e.g. file apk per Android)

Input di Cordova: codice HTML+JS+CSS

Output di Cordova: codice nativo browser «WebView» + plugin

Attraverso plugin uso funzionalità dispositivo (evento deviceready)

Page 7: Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamento al sistema di controllo TANGO

Librerie Bootstrap e jQuery Bootstrap: CSS + JS migliora interfaccia utente,

rende l’applicazione «responsive» e «mobile-first»

jQuery: JS facilita gestione eventi,esecuzione chiamate Asynchronous JavaScript And XML(AJAX),navigazione e manipolazione Document Object Model(DOM)

Page 8: Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamento al sistema di controllo TANGO

Principio di funzionamento SPA – Single Page Application

Caricamento iniziale di HTML+CSS+JS

Aggiornamento asincrono solo contenuto HTML tramite AJAX

Motivazioni: NO sessioni lato server perché file locali perdita dati tra caricamenti Singolo evento deviceready da attendere per utilizzo plugin

Page 9: Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamento al sistema di controllo TANGO

Lavoro fatto in questa tesi Studio del framework Cordova: requisiti software e command-line interface

Stesura codice HTML (qualche migliaio di righe)

Stesura codice Java Script (qualche migliaio di righe)

Ottimizzazione interfaccia utente tramitescrittura codice CSS (qualche centinaio di righe)

Prove effettuate sul sistema per aumentare frequenza di aggiornamento dati

Page 10: Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamento al sistema di controllo TANGO

Sistema sviluppato: schermata principale

Prime due modalità completamente implementate

Ultime 4 aggiunte come dimostrazione estensibilità progetto

Checkbox per salvare la prossima modalità selezionata come definitiva

Page 11: Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamento al sistema di controllo TANGO

Sistema sviluppato: FERMI Status

iframe responsivi con grafici arrangiati ad hoc

4 pannelli a scomparsa con dati di interesse

suddivisione velocità aggiornamento:variabili lente, periodo agg 60 sec. variabili veloci, periodo agg 2 sec.

Page 12: Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamento al sistema di controllo TANGO

Sistema sviluppato: astor main

Schermata con struttura ad albero

Colore led = stato starter

Tap su elemento menù contestuale

«Open Control Panel»nuova schermata albero device server

controllati

Page 13: Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamento al sistema di controllo TANGO

Sistema sviluppato: astor starter tree

Struttura, led, menù simili a precedente

«Start/Stop Server» previa autenticazione

«Show attributes list»su ogni elemento posso mettere soglia modificabile in schermata apposita

Page 14: Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamento al sistema di controllo TANGO

Sistema sviluppato: astor alert mode

Legge stato tutti device server di tutti starter

Inserisce in lista solo quelli non in esecuzione

Menù contestuale tramite tap con opzioni: «Start server» «Show attributes list»

Page 15: Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamento al sistema di controllo TANGO

Sistema sviluppato: attributi e allarmi

nome attributo – operatore – valore soglia

Opzioni contestuali: «Modify Threshold» «Delete Threshold» «Modify Notifications»

Page 16: Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamento al sistema di controllo TANGO

Conclusione Obiettivi raggiunti, ma…

…possibili sviluppi futuri basati su 4 funzionalità non perfezionate

Possibilità pubblicazione su Apple App store o Google Play store: Firma digitale + versione release usando Apache Cordova

Page 17: Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamento al sistema di controllo TANGO

Grazie per l’attenzione Mattia De Bernardi