UNIVERSITÀ POLITECNICA DELLE MARCHE Facoltà di Ingegneria _________________________________________________________________________________________ Corso di Laurea in Ingegneria Elettronica Tesi di Laurea Progetto e sviluppo di una “xlet” per offrire servizi di prenotazione in ambito sanitario sulla piattaforma del digitale terrestre Candidato: Domenico Ranieri Relatore: Prof. Aldo Franco Dragoni Correlatore: Prof. Paolo Puliti Accademico 2005/06 Obiettivi • Realizzare un’ applicazione per potere visualizzare su TV digitale terrestre i contenuti informativi dell’ASUR zona 7 (attualmente disponibili solo su internet) • Realizzare un’ applicazione che permetta di prenotare, visionare, cancellare visite mediche specialistiche • Utilizzo di Smart Card • Canale di ritorno - interattività • Programmazione JAVA conforme allo standard DVB-MHP •Servizio informativo Motivazioni •Servizio interattivo • Switch off previsto per il 2012 • Digital divide – – – – Anziani Diversamente abili Mezzogiorno Fascia debole della popolazione • Richiesta di una piattaforma facilmente usabile • Sviluppi futuri del sistema sanitario – Possibilità di prenotare visite e visionare referti medici direttamente da casa – Smart Card: CNS, CIE •Servizio informativo Scenario •Servizio interattivo • Televisione – Mezzo di comunicazione incisivo e completo – In possesso dalla quasi totalità della popolazione • Digitale Terrestre con MHP (Multimedia Home Platform) – – – – Multiplazione: più canali per ogni emittente Applicazioni: accesso a pagine simili a quelle presenti su internet Sicurezza: le informazioni scambiate vengono criptate Compressione e codifica MPEG: trasmissioni ad alta definizione • Set Top Box – – – – Paragonabile a computer specializzati Molto più economico di un PC Non richiede la sostituzione della TV in possesso Riceve dati via etere, ne invia e ne trasmette tramite connessione telefonica •Digital Divide •Servizio informativo Impostazione •Servizio interattivo •Usabilità •Smart card • Accessibilità – Destinato anche a soggetti con disturbi visivi o articolatori • Adattabilità – Si adatta ai database e contenuti esistenti – Non viene tagliato lo schermo neanche su TV con pochi pollici • Usabilità – Intuitivo, richiede pochi input ed è facilmente navigabile • Sicurezza – Comunicazioni cifrate con protocollo SSL/TLS(1.0) – Smart Card •Digital Divide •Servizio informativo Strumenti usati • • • • • • • • • • •Servizio interattivo •Usabilità •Smart card J2SDK 1.4.2_05 Eclipse 3.2 XleTView 0.3.6 Decoder ADB x-75 con MHP 1.0.2 Televisori catodici o LCD di diverse grandezze Oltre 10.000 righe di codice JAVA Oltre 1.200 righe di informazioni per il cittadino Software per elaborazione video/grafica Lettore Smart Card RS232 Smart card di diverso genere •Digital Divide •Servizio informativo Statistiche •Servizio interattivo •Usabilità •Smart card • “Utenti” internet in 10 paesi (% sulla popolazione) … Occorre trovare un canale di comunicazione con la quale la Pubblica Amministrazione raggiunga una percentuale maggiore di popolazione. •Digital Divide •Servizio informativo Statistiche •Servizio interattivo •Usabilità •Smart card • Principali mezzi di comunicazione (% delle popolazione) Digitale terrestre NO DIGITAL DIVIDE •Digital Divide •Servizio informativo Usabilità •Servizio interattivo •Usabilità •Smart card I servizi su digitale terrestre devono poter esser usati facilmente dal soggetto destinatario. Idea sul funzionamento che l’utente percepisce Idea del progettista • Analisi dell’utente: – Esigenze: informazioni, cancellazione visite – Profilo: anziani con scarse conoscenze tecniche – Verifiche tecniche: sistema testato da persone da 14 a 80 anni • Adeguatezza: la xlet deve richiedere solo input necessari • Facilità di apprendimento: nessun manuale d’istruzioni • Robustezza: ci deve essere una bassa probabilità d’errore •Digital Divide •Servizio informativo Smart Card •Servizio interattivo •Usabilità •Smart card In futuro verranno distribuite ai cittadini CNS e CIE con le quali sarà possibile accedere ad i servizi del T-Gov in modo sicuro (crittografia) e più facile (dati personali). import opencard.core.service.*; import opencard.core.terminal.*; import opencard.core.event.*; import opencard.core.service.SmartCard; import opencard.core.service.CardRequest; import opencard.core.terminal.CardID; public class ReadFile extends CardService implements CTListener,javax.tv.xlet.Xlet { private static final int MAX_APDU_SIZE = 100; final byte CMD_SELECT_MF = {(byte)0xC0, (byte)0xA4,(byte)0x00,(byte)0x00, (byte)0x02,(byte)0x3F,(byte)0x00 }; // comando ISO/IEC 7816-4 SELECT FILE //(seleziona l’EF con FID = 0005, senza dati in risposta) final byte CMD_SELECT_EF0005 ={(byte)0xC0, (byte)0xA4,(byte)0x00,(byte)0x00, (byte)0x02,(byte)0x00, (byte)0x05 }; // questo comando serve per leggere i byte) final byte[] CMD_READ_BINARY ={(byte)0xC0, (byte)0xB0,(byte)0x00, (byte)0x00, (byte)0x14 }; private static Object monitor = "synchronization monitor"; private CardTerminal ct; private CardRequest cr; private int slotID; private SmartCard card; public void initXlet(javax.tv.xlet.XletContext context) throws javax.tv.xlet.XletStateChangeException { //[...] } •Digital Divide •Servizio informativo Smart Card public void pauseXlet() { //[...] } public void destroyXlet(boolean unconditional) throws javax.tv.xlet.XletStateChangeException { //[...] } public void startXlet() throws javax.tv.xlet.XletStateChangeException { //[...] Try { CardID cardID = ct.getCardID(slotID); String name = ct.getName(); byte[] i = cardID.getATR(); printATR(i); ResponseAPDU ris; ris = doSomeThingWithCard(CMD_SELECT_MF); System.out.print("L’output del comando è: "); printByte(ris); ris = doSomeThingWithCard(CMD_SELECT_EF0005); System.out.print("L’output del comando è: "); printByte(ris); ris = doSomeThingWithCard(CMD_READ_BINARY); System.out.print("Il contenuto del file è "); printByte(ris); } public void cardInserted(CardTerminalEvent ctEvent) { try cr = new CardRequest(CardRequest.ANYCARD,ct,null); card = SmartCard.getSmartCard(ctEvent, null); ct = cr.getCardTerminal(); slotID = ctEvent.getSlotID(); synchronized (monitor) { monitor.notifyAll(); } } catch(Exception e) { System.out.println("faild connection"); } } •Servizio interattivo •Usabilità •Smart card public void Read() { try { EventGenerator.getGenerator().addCTListener(this); EventGenerator.getGenerator().createEventsForPresentCards(this); synchronized (monitor) { System.out.println ("please insert a card now!\n"); monitor.wait(); } System.out.println("SmartCard connected"); } catch (Exception e) { System.out.println("SmartCard not connected"); } } public void printByte(ResponseAPDU response) { for (n=0; n < response.getLength(); n++) { s = Integer.toHexString(response.getByte(n)).toUpperCase(); if (s.length()== 1) s = "0" + s; System.out.print(s + " "); } } public void printATR(byte[] i) { System.out.print("La carta "); for (n=0; n<i.length; n++) { x = (int) (0x000000FF & i[n]); // byte to int conversion s = Integer.toHexString(x).toUpperCase(); if (s.length()== 1) s = "0" + s; System.out.print(s + " "); } System.out.print("è stata inserita nello slot "+slotID+"del lettore "+name); } public static String toHexString ( byte[] b ) { StringBuffer sb = new StringBuffer( b.length * 2 ); for ( int i=0 ; i<b.length ; i++ ) { sb.append( hexChar [ ( b[ i] & 0xf0 ) >>> 4 ] ) ; sb.append( hexChar [ b[ i] & 0x0f ] ) ; } return sb.toString() ; } static char[] hexChar ={ ’0’ , ’1’ , ’2’ , ’3’ , ’4’ , ’5’ , ’6’ , ’7’ , ’8’ , ’9’ , ’a’ , ’b’ , ’c’ , ’d’ , ’e’ , ’f’ }; } •Digital Divide •Servizio informativo Contesto •Servizio interattivo •Usabilità •Smart card Sono state realizzate due xlet T-Gaming T-Mail T-Commerce T-Advertising Digitale Terrestre T-Banking T-Government Servizi forniti dalle pubbliche amministrazioni o dagli enti privati, fruibili dall'utente tramite il mezzo televisivo • Tra i servizi di T-Government rientrano: – Informazioni – Richieste certificati anagrafici, pagamenti (ICI, tasse, multe) – Servizi di partecipazione (sondaggi sull'operato delle PA) – Servizi sociali: sanità, assistenza sociale e disabilità, la terza età, lavoro e occupazione Attualmente sono presenti pochi servizi sanitari su TDT: •Farmacie di turno (Lombardia) •T-lessia (Emilia Romagna) •Digital Divide •Servizio informativo Xlet Informazioni •Servizio interattivo •Usabilità •Smart card •Digital Divide •Servizio informativo Xlet Informazioni •Servizio interattivo •Usabilità •Smart card •Digital Divide •Servizio informativo Xlet Informazioni •Servizio interattivo •Usabilità •Smart card •Digital Divide •Servizio informativo Xlet Informazioni •Servizio interattivo •Usabilità •Smart card •Digital Divide •Servizio informativo Xlet Informazioni •Servizio interattivo •Usabilità •Smart card •Digital Divide •Servizio informativo Xlet Informazioni •Servizio interattivo •Usabilità •Smart card •Digital Divide •Servizio informativo Xlet Informazioni •Servizio interattivo •Usabilità •Smart card •Digital Divide •Servizio informativo Xlet Informazioni •Servizio interattivo •Usabilità •Smart card •Digital Divide •Servizio informativo Xlet Informazioni •Servizio interattivo •Usabilità •Smart card •Digital Divide •Servizio informativo Xlet interattiva Pagina iniziale •Servizio interattivo •Usabilità •Smart card •Digital Divide •Servizio informativo Xlet interattiva Controllo di autenticazione •Servizio interattivo •Usabilità •Smart card •Digital Divide •Servizio informativo Xlet interattiva •Servizio interattivo Elenco prestazioni prenotate/prenotabili •Usabilità •Smart card •Digital Divide •Servizio informativo Xlet interattiva •Servizio interattivo •Usabilità •Smart card Cancellazione/prenotazione di una visita nell’elenco •Digital Divide •Servizio informativo Xlet interattiva Messaggio di conferma •Servizio interattivo •Usabilità •Smart card Sviluppi futuri • Il portale informativo verrà trasmesso tra qualche mese da un’ emittente locale • Versione per non vedenti • Servizi interattivi: – – – – Adattamento del codice al linguaggio MHP Uso di smart card come CNS, CIE, carta Raffaello, ecc… Test alla sicurezza del canale di ritorno Integrazione dei database esistenti • Piano di business – Spazi pubblicitari – Numero verde per il canale di ritorno – Pagamento Ticket online Conclusioni • Se in un primo momento la stessa ASUR sembrava scoraggiata nell’investimento nel digitale terrestre, dopo aver visto il risultato di questa tesi, sembra molto interessata a questa nuova tecnologia. • Presenze come quella dell’ ASUR nello scenario del DTT accelereranno l’avvicinamento dei cittadini verso questa innovazione e ne miglioreranno un’ immagine fino ad oggi molto criticata, ma mai per motivi tecnici. fine Grazie per l’attenzione Domenico Ranieri [email protected]