Do-Dots Protocollo di comunicazione



Documenti analoghi
Lezione 1 Introduzione

Protocolli applicativi: FTP

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

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

Manuale Terminal Manager 2.0

19. LA PROGRAMMAZIONE LATO SERVER

Reti di Telecomunicazione Lezione 7

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

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

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

Software di interfacciamento sistemi gestionali Manuale di installazione, configurazione ed utilizzo

Configurazione di Outlook Express

Manuale di Aggiornamento BOLLETTINO. Rel H4. DATALOG Soluzioni Integrate a 32 Bit

Wildix Kite. Guida Rapida

Software di gestione della stampante

Collegamento remoto vending machines by do-dots

Realizzazione siti web. Protocolli Internet

ALTRO. v (Aprile 2015)

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

Studio Legale. Guida operativa

ALTRO. v (Maggio 2015)

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

FIRESHOP.NET. Gestione Lotti & Matricole.

LCMobile Restaurant. Guida su come usare il software per palmare LCMobile Restaurant.

MANUALE DI INTEGRAZIONE API SMSSmart (v 2.2)

Intel One Boot Flash Update Utility Guida dell utente

Utilizzo del server LDAP locale per la sincronizzazione della base utenti e della GAL

Capitolo 4 Pianificazione e Sviluppo di Web Part

Protezione delle informazioni in SMart esolutions

Versione /10. Xerox ColorQube 9301/9302/9303 Servizi Internet

Scuola Superiore Sant Anna. Progetto parte Unix. AA : Distributed File Repository

Registratori di Cassa

MODULO SMS MANUALE UTENTE PER KONNEXION COD. KNX-SMS VERSIONE 2.0.2

Transmission Control Protocol

CONFIGURARE IL DISPOSITIVO DI TELEASSISTENZA

Software Servizi Web UOGA

VISUALFLEET Software Overview

Il Protocollo HTTP e la programmazione di estensioni Web

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/ Lato client

TERM TALK. software per la raccolta dati

INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

Stampe in rete Implementazione corretta

Socket & RMI Ingegneria del Software - San Pietro

Protocollo di metadata harvesting OAI-PMH Lavoro pratico 2

Access Control List (I parte)

URI. Introduzione. Pag. 1

Procedura SMS. Manuale Utente

Modulo 1: Posta elettronica

Reti di Telecomunicazione Lezione 6

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Seminario di Sistemi Distribuiti RPC su SOAP

Guida Rapida all uso del License Manager di ROCKEY4Smart (V )

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

manuale d uso Mobile Station

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

Installazione del software Fiery per Windows e Macintosh

HTTP adaptation layer per generico protocollo di scambio dati

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Modulo 3 - Elaborazione Testi 3.5 Stampa unione

Informatica per la comunicazione" - lezione 8 -

CANPC-S1. Programmable CanBus-PC interface

Versione 1. (marzo 2010)

Il client deve stampare tutti gli eventuali errori che si possono verificare durante l esecuzione.

SETEFI. Marco Cantarini, Daniele Maccauro, Domenico Marzolla. 19 Aprile 2012

Cenni di programmazione distribuita in C++ Mauro Piccolo

InterNet: rete di reti

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

GUIDA AL FUNZIONAMENTO DEL PROGRAMMA "UDVPANEL" PER PC

Lo scenario: la definizione di Internet

Groups vs Organizational Units. A cura di Roberto Morleo

DISCIPLINARE TECNICO Modalità tecniche per la predisposizione e l invio telematico dei dati delle certificazioni di malattia all INPS

PSNET UC RUPAR PIEMONTE MANUALE OPERATIVO

Excel avanzato. I nomi. Gli indirizzi e le formule possono essere sostituiti da nomi. Si creano tramite Inserisci Nome Definisci

ProgettoSMS. Manuale Gateway FTP Text

INTEGRAZIONE DI DOCUSOFT CON UN ALTRO SOFTWARE GESTIONALE CON IL MODULO ACQUIRE&VIEW

Introduzione. Macro macro istruzione. Sequenza di comandi memorizzati programma

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Mercurio Servizio di messaggistica SMS

FAQ TeamPortal - DVD DEMO

DNS-Tunneling. Reference to. Ettore di Giacinto Luca Montunato

Z3 B1 Message Addon Invio Massivo Documenti via e Fax per SAP Business One

saleskitplus Il sistema di gestione delle vendite studiato per la vostra azienda Un utile strumento di lavoro che vi aiuterà nella vostra attività

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

sistemapiemonte GECO GEstione on line Comunicazioni Obbligatorie Anagrafica azienda Manuale d'uso sistemapiemonte.it

Rsync su GNU/Linux e su Windows? (Backup sincronizzato su disco di rete e/o RAID1 su server FreeNAS)

Manuale di Aggiornamento BOLLETTINO. Rel H2. DATALOG Soluzioni Integrate a 32 Bit

1) GESTIONE DELLE POSTAZIONI REMOTE

Introduzione alle applicazioni di rete

AVCP Generatore di XML

(Guida operativa per lo specialista cardiologo)

Sistemi informativi secondo prospettive combinate

il trasferimento di file

Manuale Utente. Area Conservazione a norma. Fatturazione Elettronica

Manuale d utilizzo della componente di console di monitoraggio

Introduzione a JDConnector

Guida alla registrazione on-line di un DataLogger

Firewall applicativo per la protezione di portali intranet/extranet

Transcript:

Do-Dots Protocollo di comunicazione Ultimo aggiornamento 10 maggio 2011 rev3 Spiegazioni 10/05/2011 rev2 Primo aggiornamento con attuali comandi 03/05/2011 rev1 - Stesura iniziale 14/05/2010 DOCUMENTO PRELIMINARE QUESTA VERSIONE DEL DOCUMENTO NON È COMPLETA DI TUTTE LE INFORMAZIONI NECESSARIE A RENDERLO EFFETTIVAMENTE UTILIZZABILE

do-dots Protocollo di comunicazione Introduzione Il protocollo definito all'interno della piattaforma do-dots è un protocollo text based a livello applicativo (Application Layer) che può essere usato per trasferire tra i componenti informazioni e comandi all'interno di sessioni di comunicazione. Le comunicazioni tipiche possono comprendere il trasferimento di informazioni (variabili di stato), l'invio di comandi ed eventi, la sottoscrizione ad un set di informazioni e la trasmissione di stream di informazioni multimediali. Il protocollo è teoricamente indipendente dal protocollo di trasporto utilizzato. Le implementazioni principali comprendono il trasferimento di pacchetti tramite socket UDP/TCP oppure su linea seriale in collegamento punto/punto. I pacchetti sono inoltre codificati in modo da essere facilmente trasportati attraverso chiamate HTTP. pagina 2

Struttura e codifica Ogni transazione nel protocollo do-dots prevede una richiesta di un particolare 'comando' da parte di un Dot (il client) a un server (il Broker) seguita da una risposta. Ogni pacchetto del protocollo do-dots è codificato in formato JSON (Javascript Simple Object Notation) come da esempio: { SET :{ res : RoboCamera/AngleX, val :35}} L'oggetto codificato in JSON è composto da una prima chiave ( GET ) che identifica il tipo di comando, e da un sotto-oggetto contenente una serie di parametri (in questo caso res e val ) che caratterizzano il tipo di azioni che il comando andrà ad effettuare. I parametri di un comando possono essere obbligatori o opzionali. I parametri obbligatori devono essere inseriti nella struttura del comando, pena il fallimento della richiesta con errore. I parametri opzionali possono essere inseriti per modificare il comportamento del comando o il tipo di informazioni ritornate. pagina 3

Comandi del protocollo do-dots Ecco una lista dei comandi supportati nel protocollo do-dots e il loro significato. GET SET CON SUB SYN CLL UPD Richiede lo stato di una variabile o informazione al Broker. Se presente in cache, la richiesta non viene girata ad un altro Dot: il Broker restituisce immediatamente l'informazione. Imposta il nuovo stato di una variabile. Il Broker modifica inizialmente la propria cache globale con il nuovo stato, e nello stesso momento mette in coda il comando per la successiva connessione del Dot interessato. Comando di connessione del Dot al Broker. Oltre a scambiare informazioni utili all'avvio della comunicazione, il comando serve ad aggiungere dettagli circa la configurazione e il contenuto del Dot. Sottoscrizione all'aggiornamento di una o più variabili. Un Dot che si 'iscrive' ad una variabile ne riceve i valori aggiornati come risposta ad un comando SYN. Sincronizzazione nei valori delle variabili tra il Dot e il Broker. Il Dot invia le proprie variabili che sono state modificate, il broker risponde con i nuovi valori delle variabili a cui il Dot si è 'iscritto'. Call, esecuzione di un metodo di un Dot. Permette di lanciare comandi ed azioni personalizzate implementate dai singoli Dot. Update, comando per richiedere al Broker i messaggi diretti al Dot. pagina 4

Comandi Comando GET Il comando GET permette di richiedere il valore di una o più variabili di sistema. { GET :{ res : Weather/Temperature } } Parametri obbligatori res Indica la risorsa globale (variabile) che viene richiesta. Il formato del parametro prevede di identificare una variabile indicando un testo del tipo 'Dot/Variabile' oppure 'Dot/Gruppo/Variabile' e così via. Sono permesse wildcard come per esempio 'Box/S*' (ritorna il valore di tutte le variabili che cominciano per 'S' nel Dot 'Box'). Parametri opzionali dot src Se 'res' non identifica un Dot, è possibile specificarlo con questo parametro. Con questo parametro è possibile specificare esplicitamente il Dot da cui proviene la richiesta. Risposta { ret :{ res : Weather/Temperature, value :15}} { ret : { rst : err, pagina 5

err : not found }} pagina 6

Comando SET Il comando SET permette di modificare il valore di una variabile di sistema. { SET :{ res : Weather/Temperature, value :16 }} Parametri obbligatori res Indica la risorsa globale (variabile) che viene richiesta. Il formato del parametro prevede di identificare una variabile indicando un testo del tipo 'Dot/Variabile' oppure 'Dot/Gruppo/Variabile' e così via. value Il valore che si vuole fare assumere alla variabile. Parametri opzionali dot src Se 'res' non identifica un Dot, è possibile specificarlo con questo parametro. Con questo parametro è possibile specificare esplicitamente il Dot da cui proviene la richiesta. Risposta { ret :{ rst : ok }} { ret : { rst : err, err : readonly }} pagina 7

Comando CON Il comando CON (Connect) permette di indicare l'avvenuta connessione di un Dot alla rete, con conseguente inizializzazione di informazioni. { CON :{ dot : Weather, category : protocol }} Parametri obbligatori dot Nome del Dot che effettua la segnalazione di connessione. Parametri opzionali category productkey Tipo di Dot, utile ad identificarne le caratteristiche basilari (es. 'UI', 'protocol', 'remote', 'script', 'logger' ecc.) Se il Dot appartiene a un prodotto in licenza, la chiave ProductKey può servire ad identificarlo e ad ottenere, tramite i server online, altre informazioni come loghi, setup predefiniti, aggiornamenti al firmware, ecc. Risposta { ret :{ rst : ok }} { ret : { rst : err, err : refused }} pagina 8

Comando SYN Il comando SYN (Synchronize) permette di trasmettere al server lo stato aggiornato delle variabili del Dot. { SYN :{ src : Weather, vars :{ Temperature :15, Humidity :40, WindSpeed :1.5, WindDirection : NW, Weather : Cloudy }}} Parametri obbligatori vars Stato delle variabili da inviare al server. Per non appesantire la comunicazione, può contenere solo le variabili il cui stato è cambiato rispetto all'ultima sincronizzazione. E' formattato come oggetto contenente una serie di parametri 'variabile':'valore'. src Dichiara esplicitamente il Dot da cui proviene la richiesta. Questo parametro è necessario per avere in risposta i valori delle variabili alle quali il Dot ha effettuato una subscription. Parametri opzionali Risposta La risposta a questo comando può essere una delle seguenti nel caso in cui il Dot non abbia effettuato richieste di subscription. { ret :{ rst : ok }} { ret : { rst : err, pagina 9

err : refused }} Nel caso in cui il Dot abbia effettuato richieste di subscription, la risposta al comando è un comando 'SYN' contenente le variabili di sistema alle quali il Dot si è 'abbonato'. { SYN :{ vars :{ Camera/Angle :321, SolarPanel/Active :true}}} pagina 10

Comando SUB Il comando SUB (Subscribe) permette di definire un set di variabili globali che il Dot intende 'seguire'. I valori, se cambiati, verranno ritornati automaticamente dal Broker in seguito alla richiesta di un successivo comando 'SYN' da parte del Dot. { SUB :{ src : Weather, res : Solar/Active }} Parametri obbligatori src Nome del Dot che effettua la richiesta di Update. Parametri opzionali res vars Se la richiesta di 'abbonamento' è riferita ad un'unica variabile, è possibile usare il parametro 'res' con un formato del tipo 'Dot/Variabile' o 'Dot/Gruppo/Variabile'. Se la richiesta di 'abbonamento' è riferita ad un insieme di variabili oppure se si intende cambiare lo stato di 'abbonamento', occorre utilizzare il parametro 'vars'. Questo può contenere un insieme di parametri con formato del tipo 'Dot/Variabile':'valore'. Il 'valore' può essere 1 per attivare la sottoscrizione, oppure 0 per annullarla. Altri esempi { SUB :{ src : Weather, vars :{ Solar/Active :1, Camera/Angle :1, Garden/Gate/Status :0 }}} pagina 11

Risposta { ret :{ rst : ok }} { ret : { rst : err, err : refused }} pagina 12

Comando UPD Il comando UPD (Update) permette di ricevere dal server uno o più comandi di aggiornamento dello stato relativi alle variabili ed eventi su cui ha effettuato una subscription il Dot. { UPD :{ src : Weather }} Parametri obbligatori src Nome del Dot che effettua la richiesta di Update. Parametri opzionali Risposta La risposta ad un Update è una serie di comandi indirizzati al Dot, che verranno interpretati. Questi comandi possono essere richieste di scrittura di variabili (SET), richieste di esecuzione di metodi (CLL), o altri comandi esplicitamente diretti al Dot che ne fa richiesta. pagina 13

Comando CLL Il comando CLL (Call) permette di eseguire un metodo di un Dot. { CLL :{ dot : Weather, method : Stop, params :{ clear : true }}} Parametri obbligatori method Nome del metodo da eseguire. Può essere un nome semplice ('Start', 'Stop', ecc.) oppure può contenere il nome del Dot di riferimento ('Weather/Start'). Parametri opzionali dot params Se 'method' non identifica un Dot di riferimento, è possibile specificarlo con questo parametro. Se il metodo da richiamare ha dei parametri, questi vengono specificati all'interno di questo sotto-oggetto. Risposta { ret :{ rst : ok }} { ret : { rst : err, err : refused }} pagina 14

Appendice Sequenza di comunicazione Lo schema seguente mostra un esempio di sequenza di comunicazione tra un Dot e un Broker. pagina 15