SMART TV APPLICATIONS



Documenti analoghi
L ambiente di sviluppo Android Studio

FidelJob gestione Card di fidelizzazione

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

Manuale Utente MyFastPage

View Mobile User s Guide

SMS API. Documentazione Tecnica YouSMS HTTP API. YouSMS Evet Limited

Power-Studio è un semplice, veloce potente ed intuitivo applicativo software di monitoraggio e supervisione energetica che consente di realizzare:

MANUALE D USO MANUALE D USO

P A D. Private A Distanza.

Soluzioni per la Building Automation

Avetana Health Telematic Services

IRSplit. Istruzioni d uso 07/10-01 PC

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

MyFRITZ!, Dynamic DNS e Accesso Remoto

Esempio di esecuzione di una pagina JSP: Il client chiede la pagina: sdfonline.unimc.it/info/modulo.jsp;

CONFIGURARE IL DISPOSITIVO DI TELEASSISTENZA

BACKUP APPLIANCE. User guide Rev 1.0

PORTALE CLIENTI Manuale utente

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

MANUALE UTENTE FORMULA PEC

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati

Siti web centrati sui dati (Data-centric web applications)

ALTRO. v (Maggio 2015)

19. LA PROGRAMMAZIONE LATO SERVER

Guida alla registrazione on-line di un NovaSun Log

Introduzione. Descrizione. FRITZ!APP Fon

Applicazioni web centrati sui dati (Data-centric web applications)

1. Il Client Skype for Business

Manuale LiveBox WEB ADMIN.

Home Care, e-health Quali soluzioni tecnologiche?

IL CENTRALINO VoIP. Schema progetto: Work-flow. Hydra Control

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

ARCHITETTURA FISICA DEL SISTEMA

Il Digital Signage. Utilizzi. Il Digital Signage

Sommario. 1. Cos è SecureDrive Caratteristiche Privacy dei dati: SecureVault... 4

Come distribuire in una pagina Web il video ripreso con la telecamera

Guida alla procedura di inserimento materiale didattico sui minisiti degli insegnamenti

Rapporto tecnico sulle tipologie di agenti software definiti e implementati nell ambito del progetto

Protocolli applicativi: FTP

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web

Vittorio Veneto,

Manuale per l utilizzo dell applicazione Client per il controllo remoto di apparecchiature da laboratorio

1 WIZARD DI AUTOCONFIGURAZIONE MAPI 1.1 INTERNET EXPLORER 8

Servizio on-line di Analisi e Refertazione Elettrocardiografica

OmniAccessSuite. Plug-Ins. Ver. 1.3

WebFax- manuale utente

MANUALE DI INSTALLAZIONE OMNIPOINT

Manuale LiveBox APPLICAZIONE ANDROID.

eprogress la soluzione completa per la gestione della relazione e del contatto

Progettazione e Sviluppo dell Applicazione Web Share Mobile per Dispositivi Mobili Multipiattaforma. Elaborato di Laurea di: Marco Stanzani

I.N.A.I.L. Certificati Medici via Internet. Manuale utente

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

Mac Application Manager 1.3 (SOLO PER TIGER)

MANUALE PER CONSULTARE LA RASSEGNA STAMPA VIA WEB ( ULTIMO AGGIORNAMENTO 26MARZO 2009)

HTML HTML. HyperText Markup Language. Struttura di un documento. Gli elementi essenziali di un documento HTML sono i seguenti TAG: <HTML>...

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

GUIDA UTENTE MONEY TRANSFER MANAGER

ALTRO. v (Aprile 2015)

Newsletter marzo 2015

Guida alla registrazione on-line di un DataLogger

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.

MANUALE D USO MANUALE D USO

TERM TALK. software per la raccolta dati

Dexma Newsletter System

View Mobile User s Guide

Mon Ami 3000 MACommerce La soluzione per il commercio elettronico totalmente integrata con Mon Ami 3000

SIEMENS GIGASET S450 IP GUIDA ALLA CONFIGURAZIONE EUTELIAVOIP

SUPERVISIONE DOMOTICA KNX CON LA APP HAPPY HOME

CLOUD AWS. #cloudaws. Community - Cloud AWS su Google+ Amazon Web Services. Servizio Amazon SNS

maggio 2013 Elevend srl Pag. 1/25

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

ESERCITAZIONE Semplice creazione di un sito Internet

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

KommunikApp ISTRUZIONI D USO

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

7.4 Estrazione di materiale dal web

Capitolo 4 Pianificazione e Sviluppo di Web Part

File Server Resource Manager (FSRM)

ISSA EUROPE PTSOFTWARE 2.0

SAP SRM 7 Manuale GARE ON LINE con cfolders FORNITORI INDICE

Wildix Kite. Guida Rapida

SIEMENS GIGASET S685 IP GUIDA ALLA CONFIGURAZIONE EUTELIAVOIP

Manuale LiveBox WEB ADMIN.

MUDE Piemonte. Modalità operative per eseguire Firma e inoltro del modello

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Global Security Solutions

LINKSYS SPA922 GUIDA ALLA CONFIGURAZIONE EUTELIAVOIP

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Aruba Sign 2 Guida rapida

ALLEGATO A MANUALE OPERATIVO DI ATENEO IN MATERIA DI PEC

Do-Dots Protocollo di comunicazione

Dynamic 07 -Software per la lettura ottica e data capture. G.Q.S. Srl Global Quality Service Via Bernini, 5/7 Corsico (MILANO)

GESCO MOBILE per ANDROID

Transcript:

DII - Dipartimento di Ingegneria dell Informazione Corso di Tecnologie per le Telecomunicazioni SMART TV APPLICATIONS Laura Raffaeli l.raffaeli@univpm.it

Perché Smart TV? Nuova visione dell intrattenimento domestico Offerta di innumerevoli app e servizi legati ad Internet

Aumento della qualità e della quantità dei contenuti Smart Interaction: riconoscimento vocale e gestuale Social networks Condivisione foto, video, audio con tablet e smartphone Connessione con altri dispositivi in rete à Tecnologia emergente in continuo sviluppo à Crescita del numero degli utenti

Caratteristiche La TV è un dispositivo che si trova in ogni abitazione, familiare a persone di ogni età. Ø Scelta ideale per anziani e persone con scarsa dimestichezza delle nuove tecnologie. Interazione legata all uso del telecomando: semplicità di utilizzo ma scarsa praticità nell effettuare operazioni complesse o che richiedono numerosi passaggi. Ø Aspetto da considerare nella progettazione delle funzionalità dell applicazione. Importanza di un adeguata progettazione dell interfaccia utente per favorire l usabilità dell applicazione Smart TV

Applicazione per Smart TV: software web-based che si appoggia sul browser della TV e viene eseguita sullo schermo del televisore. App Engine: browser engine per l esecuzione delle applicazioni App Manager: gestore delle applicazioni Samsung Smart TV App development: Scelta dispositivi Samsung Possibilità di sviluppare le proprie apps: ogni anno una nuova versione del SDK aggiornato con le funzionalità di ogni piattaforma. Registrazione sul Samsung Developers Forum per il download di SDK e altre risorse, accesso al forum sviluppatori. http://www.samsungdforum.com/

Ambiente di sviluppo - Eclipse con specifici tools Samsung: - Creazione Smart TV App Project - App Packaging - Server properties - TV Log Receiver

Progetto di una applicazione Samsung Basic Project: applicazione organizzata in Scene HTML, CSS, Javascript File di configurazione Cartelle per le immagini e le icone

index.html Contiene gli elementi da includere nel progetto: <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>unica</title> <script type="text/javascript" language="javascript" src="$manager_widget/common/af/2.0.0/loader.js"></script> <script language="javascript" type="text/javascript" src="$manager_widget/common/api/tvkeyvalue.js"></script> <script type="text/javascript" language="javascript" src="app/js/voicerec.js"></script> </head> <body> </body> </html>

init.js Funzioni eseguite al lancio e alla chiusura dell applicazione: function onstart (){ sf.scene.show('scena1'); sf.scene.focus('scena1'); } function ondestroy() { if (XHRObj!= null) XHRObj.destroy(); }

Scene1.js Funzioni predefinite: Inizializza Mostra - Nascondi SceneScene1.prototype.initialize = function () { alert("scenescene1.initialize()"); // this function will be called only once when the scene manager show this scene first time } SceneScene1.prototype.handleShow = function () { alert("scenescene1.handleshow()"); // this function will be called when the scene manager show this scene } SceneScene1.prototype.handleHide = function () { alert("scenescene1.handlehide()"); // this function will be called when the scene manager hide this scene }

Scene1.js Funzioni predefinite: Focus - Blur SceneScene1.prototype.handleFocus = function () { alert("scenescene1.handlefocus()"); // this function will be called when the scene manager focus this scene } SceneScene1.prototype.handleBlur = function () { alert("scenescene1.handleblur()"); // this function will be called when the scene manager move focus to another scene from this scene }

Scene1.js Funzioni predefinite: gestione tasti telecomando SceneScene1.prototype.handleKeyDown = function (keycode) { alert("scenescene1.handlekeydown(" + keycode + ")"); // TODO : write an key event handler when this scene get focued switch (keycode) { case sf.key.left: break; case sf.key.right: break; case sf.key.up: break; case sf.key.down: break; case sf.key.enter: break; } }

Scene1.html Contiene gli elementi presenti nella Scena, equivalente a una pagina web: <!-- this html will be a contents of div Scene1 --> <img id='logouni'></img> <img id='return'></img> <div id='labeltitolo'></div> <div id='popup'></div> <table id="prom" cols=3 class='rows'> <tr><td id='nome'><b>farmaco</b></td> <td id='quant'><b>quantità</b></td> <td id= ora'><b>orario</td></tr> </table>

Scene1.css Formattazione della Scena e degli elementi in essa contenuti: #SceneScene1{ position : absolute; left : 0px; top : 0px; width : 960px; height : 540px; background-color : #ffffff; } #SceneScene1 #logouni{ position : absolute; left : 770px; top : 40px; width : 75px; height : 75px; }

Creazione del Widget e test Packaging tramite SDK Test su Remote Test System ed emulatori TV: - Remote Test online dal Samsungforum, su vari tipi di dispositivi. - Download immagine per Virtual Box dell emulatore. Test su dispositivo reale

Download applicazione su Smart TV

APPLICAZIONI PER SMART TV REALIZZATE Smart TV come mezzo di interfacciamento alternativo verso servizi già accessibili con altri dispositivi. Realizzazione di nuovi servizi sfruttando le caratteristiche delle Smart TV. Soluzioni in ambito sanitario e della domotica, particolare interesse nel campo dell AAL (Ambient Assisted Living). Soluzioni per favorire l autonomia residenziale degli anziani e delle persone con disabilità motorie: rendere queste persone indipendenti semplificando lo svolgimento delle attività quotidiane, in un ambiente confortevole e sicuro.

UNICA Funzionalità dell applicazione Controllo sistema domotico Chiamata dal videocitofono Ricezione messaggi da dispositivi connessi alla rete domestica (reader NFC) Connessione al Database Gestione promemoria Controllo vocale

Scena Home dell applicazione

Controllo sistema domotico Controllo di luci e infissi dell abitazione attraverso il telecomando. Invio di comandi con opportuna sintassi, nota la configurazione del sistema. Possibilità di gestire sia carichi singoli sia multipli (scenari).

Controllo sistema domotico Comunicazione tra la TV e il nodo Ethernet del sistema con protocollo http. Uso della tecnologia Ajax e dei metodi e attributi dell oggetto XHR (XMLHttpRequest). function sendcommand(address) { if (XHRObj!= null) XHRObj.destroy(); XHRObj = new XMLHttpRequest(); if (XHRObj) { XHRObj.open("GET", address, true); XHRObj.send(); } } address : http://192.168.21.139:1234/workingout?rid=2&id=6&pin=1&func=255&time=0

Videocitofono Visualizzazione sullo schermo della chiamata in arrivo dal videocitofono dell abitazione. Problema: API per la gestione del protocollo SIP non disponibili per gli sviluppatori. à Soluzione: Uso di un mini PC Android che realizza un client SIP, connesso in HDMI alla Smart TV.

Comunicazione con altri dispositivi in rete Trasferimento dati dal reader NFC (Arduino) connesso alla rete domestica alla Smart TV. Richieste in http con regole ben definite per: Connessione - Invio dati - Disconnessione Gestione delle richieste attraverso le Web Devices APIs e CustomDevice/Nservice Interface APIs: - rilevazione cambiamento di stato (connect/disconnect); - rilevazione eventi (messaggio ricevuto). <script type="text/javascript" language="javascript" src="$manager_widget/common/webapi/1.0/ deviceapis.js ></script>

Il reader NFC invia messaggi testuali che possono riportare: 1. - il contenuto dei tag NFC posti sulle confezioni di prodotti alimentari e farmaci; Farmaci: 01 datascadenza codprodotto Alimenti: 02 codprodotto 2. - le misurazioni acquisite da dispositivi elettromedicali NFC (misuratore di pressione e pedometro). Mis. Pressione: 03 IDutente datimisura Pedometro: 04 IDutente datimisura In questo caso le misure sono inviate anche ad un DB per lo storage. L app elabora i messaggi ricevuti e interroga il DB per ottenere le informazioni sui prodotti o le misurazioni relative ad un utente.

Connessione al DB Distinzione dei servizi in base al codice: 01 à 04 Caso 1 Cod. 01 e 02: Richiesta info al DB su alimenti e farmaci in base al codprodotto. Caso 2 Cod. 03 e 04: Elaborazione immediata della misura ricevuta e query al DB per le misure precedenti relative allo stesso utente.

Connessione al DB Query al database in http GET, utilizzando Ajax: function misureped(){ $.ajax({ url: URLped, async: true, type: "GET, datatype: "application/json", data: {ID:ID}, success:function(res){ estraivalori(res); }, error: function(misureped,stato,errori){ alert( Chiamata fallita"+stato+errori); } }); } Dove: URLped="http://192.168.21.254/smart_tv/unica/pedometer.php

Rappresentazione del sistema!"#$ %&'()*('+,-."-$

Visualizzazione risultati: Caso 1:

Caso 1:

Caso 2:

Caso 2:

Gestione promemoria Promemoria per l assunzione di farmaci: nome, quantità, posologia. Visualizzazione di pop-up sullo schermo mentre l utente guarda i normali programmi TV. Query al DB server per il confronto tra orario del sistema e orari dei promemoria salvati in memoria.

Possibilità di inserimento, modifica ed eliminazione promemoria dall applicazione Smart TV.

Voice recognition Verificare che la Smart TV su cui è in esecuzione l app supporti la Voice Recognition: if (deviceapis.recognition.isrecognitionsupported()) { // perform Recognition related actions here... } else alert("error: Voice recognition not supported");

Definire le funzioni associate ai principali eventi: switch(resultinfo.eventtype){ case 'EVENT_VOICE_BEGIN_MONITOR' : // when user said "Smart tv", 'EVENT_VOICE_BEGIN_MONITOR' event will come. ComandiVocaliHome(); break; } case 'EVENT_VOICE_RECOG_RESULT' : var resultword = resultinfo.result; switch(resultword){ case "Infissi": break; }

Possibilità di definire comandi vocali personalizzati e creare una Voice Help Bar. ComandiVocaliHome = function(){ var helpbarhome = '{"helpbartype": "HELPBAR_TYPE_VOICE_CUSTOMIZE", "helpbaritemslist": [{"itemtext":"infissi, "commandlist :[{"command":"infissi"}]}, {"itemtext":"chiudi", "commandlist":[{"command":"chiudi"}]}] }'; deviceapis.recognition.setvoicehelpbarinfo(helpbarhome); };

Notifiche per l utente Inserimento nell applicazione di notifiche tramite pop-up. Conferma per l esito delle operazioni svolte. Problemi nella richiesta dati. Conferma per l uscita dall applicazione.

MCLOUD REFERTI Cloud Computing Insieme di tecnologie che permettono di archiviare ed elaborare dati e di utilizzare applicazioni grazie all'utilizzo di risorse hardware e software distribuite e virtualizzate in rete. Progetto Marche Cloud Creazione dell infrastruttura di cloud computing della Regione Marche, per erogare servizi digitali moderni ed innovativi e ad alto contenuto tecnologico. Applicazione Mcloud Referti per l accesso al servizio di consultazione on line dei referti dei laboratori analisi, realizzata per smartphone e smart TV.

Funzionalità principali dell applicazione - autenticazione utente - connessione al server regionale - visualizzazione referti disponibili - selezione referto e consultazione esiti Scena Iniziale Login Lista accettazioni Esiti referto Cambio password

Comunicazione con il server Interfaccia di tipo cloud tra client application e server regionale. Sono a disposizione 5 servizi, accessibili attraverso le chiamate ai rispettivi URL: - paziente - accettazioni - accettazione - puntiprelievo - utente Scambio dati client-server attraverso la tecnologia Ajax. Ogni richiesta è una connessione in http all URL specificato: - Metodi GET o POST - Passaggio di variabili - Restituzione dati in strutture di tipo JSON Smart TV supporta il protocollo https.

Gestione errori restituiti dal server Tutti i servizi restituiscono un codice http e una risposta testuale o in XML alle richieste effettuate. XHRObj.onreadystatechange = function () { if (XHRObj.readyState == 4) { //4 = risp ricevuta if (XHRObj.status==200){ alert('good XHR response'); } else {alert('bad XHR response'); if (XHRObj.status==400 XHRObj.status==401 XHRObj.status==403 XHRObj.status==404 XHRObj.status==500) testoerrore= XHRObj.responseText; } } };

Codice 200: OK Responso positivo, si procede all elaborazione dei dati. Casi di errore: 400: 'Richiesta errata ; 401: 'Credenziali di accesso non valide ; 403: 'Password scaduta ; 404: 'Nessun elemento trovato ; 500: 'Errore interno del server. La proprietà responsetext di XHRObj contiene la spiegazione testuale dell errore, che viene riportata in una finestra di popup per informare l utente.

Autenticazione utente: inserimento username e password Inserimento del testo nelle caselle di input tramite qwerty software.

Funzionalità gestita dall Input Method Editor dell App Manager: var imeuser = new IMEShell("inputUser", callback_imeuser); var imepass = new IMEShell("inputPass", callback_imepass); imeuser.setkeyfunc(tvkey.key_down, function(keycode) { document.getelementbyid("inputpass").focus(); return false; }); document.getelementbyid("inputuser").focus();

Autenticazione utente: selezione punto di prelievo Chiamata al servizio puntiprelievo e memorizzazione elenco strutture in un file per gli accessi successivi.

Utilizzo delle File API per la gestione del File System della Smart TV. var filesystemobj = new FileSystem(); - Creazione di un nuovo file e scrittura: var jsfileobj = filesystemobj.opencommonfile( PtPrelievo.txt", w"); jsfileobj.writeall(stringa); - Lettura di un file già esistente: var jsfileobj = filesystemobj.opencommonfile( PtPrelievo.txt", "r+"); content = jsfileobj.readall(); - Chiusura del file: filesystemobj.closecommonfile(jsfileobj);

Dati restituiti in formato JSON: costruzione di funzioni in Javascript per l elaborazione e la visualizzazione dei valori Selezione del referto da consultare

Elaborazione referti Ogni referto è cosituito da molti esiti, analizzati singolarmente: 1. Esiti di tipo numerico e descrittivo vengono riportati in una tabella, evidenziando in rosso gli eventuali risultati fuori dai valori normali.

2. Esiti di tipo antibiogramma richiedono la costruzione di una tabella diversa, di dimensione variabile.

3. Esiti di tipo grafico richiedono la costruzione di un diagramma. Necessità di utilizzare una libreria Javascript esterna.

Cambio password Deciso dall utente o richiesto dal server se è scaduto il periodo di validità della password assegnata dal laboratorio.

Work in progress Utilizzo di un gateway VoIP PSTN per realizzare una chiamata in uscita dalla Smart TV utilizzando la rete telefonica analogica. Integrazione nel sistema domotico di sensori antintrusione, con segnalazione di eventuali allarmi anche su Smart TV. In uscita SDK 2014.