Internet of Things & Wireless Sensor Networks Protocols for IoT Ing. Luca Davoli Wireless Ad-hoc Sensor Network Laboratory WASNLab davoli@ce.unipr.it This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike International License. Luca Davoli davoli@ce.unipr.it 1
Contenuti Introduzione ai protocolli applicative per IoT Interscambio dei dati Web of Things Testbed (WoTT) Luca Davoli davoli@ce.unipr.it 2
Visione globale del IoT Luca Davoli davoli@ce.unipr.it 3
Security for Authorization for multiple accesses Visione architetturale del IoT Services (Mobility, Energy Efficiency, Monitoring, Security, etc..) Data Collection & Processing (Business Intelligence, Data Mining, Data Aggregation, etc...) Smart Objects (Data producers and Data Consumers) Integrated, Shared & Seamless Connectivity (WiFi, ZigBee/802.15.4, 3G/LTE) Luca Davoli davoli@ce.unipr.it 4
Protocolli Applicativi Luca Davoli davoli@ce.unipr.it 5
Protocolli Applicativi CoAP - Constrained Application Protocol E utilizzato per sensori e dispositivi con risorse limitate, in termini di risorse e potenza, collegati in rete XMPP - Extensible Messaging and Presence Protocol E un insieme di protocolli aperti di messaggistica istantanea e presenza basato su XML Nasce per applicativi di Instant Messaging, ma può essere utilizzato anche in IoT MQTT - MQ Telemetry Transport E adatto all IoT perchè è stato progettato per minimizzare il consumo di energia e la dimensione dei pacchetti scambiati Aderisce al modello publish/subscribe Luca Davoli davoli@ce.unipr.it 6
HTTP: HyperText Transfer Protocol Principale protocollo utilizzato per la trasmissione di informazioni sul WEB Segue il paradigma request/response all interno di architetture Client/Server Utilizza TCP al livello di rete E un protocollo stateless: la connessione viene generalmente chiusa non appena la richiesta è stata soddisfatta, ed il server non mantiene alcuno stato o riferimento alle richieste precedenti Metodi principali: GET, PUT, POST, DELETE, Luca Davoli davoli@ce.unipr.it 7
CoAP: Constrained Application Protocol Progettato per essere utilizzato per operare con reti constrained e con dispositivi con forti limitazioni di batteria e capacità computazionali Segue il paradigma Request/Response con supporto per scambio asincrono di messaggi Metodi Supportati: GET, PUT, POST, DELETE Utilizza UDP al livello di rete NB: UDP non dà nessuna garanzia di consegna a destinazione dei messaggi E necessario gestire questa situazione a livello applicativo Luca Davoli davoli@ce.unipr.it 8
Formato d interscambio di dati: XML Quali sono i formati dati utilizzati per lo scambio di messaggi? XML: extensible Markup Language E un linguaggio di markup, ossia un metalinguaggio che permette di definire un insieme di regole per rappresentare documenti e risorse Utilizzato in ambito web (Web Service, API) fin dalla fine degli anni 90 Luca Davoli davoli@ce.unipr.it 9
Formato d interscambio di dati: JSON JavaScript Object Notation E un formato dati testuale basato su struttura <key, value> Si è diffuso dal 2005 ed è diventato una valida alternativa all XML perchè è semplice, leggibile e sintetico Parking Slot Noise Luca Davoli davoli@ce.unipr.it 10
Formato d interscambio di dati: JSON Tipi di dato supportati: Numeri: interi e decimali Boolean: true, false Stringhe: delimitate da doppi apici ( ) Array: di dati primitivi ed oggetti complessi E language indipendent ogni linguaggio ha metodi per: Serializzare: trasformare oggetti, strutture dati e variabili in una stringa JSON Deserializzare: trasformare una stringa JSON in oggetti o strutture dati del linguaggio che stiamo utilizzando (PHP, Java, Javascript) Luca Davoli davoli@ce.unipr.it 11
Web of Things Testbed - WoTT http://wott.tlc.unipr.it/site Luca Davoli davoli@ce.unipr.it 12
Web of Things Testbed - WoTT Software Hardware Real-time data Luca Davoli davoli@ce.unipr.it 13
Internet of Things & Wireless Sensor Networks Protocols for IoT Ing. Luca Davoli Wireless Ad-hoc Sensor Network Laboratory WASNLab davoli@ce.unipr.it This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike International License. Luca Davoli davoli@ce.unipr.it 14