workshop smart data net e piattaforma yucca...
TRANSCRIPT
Workshop Smart Data Net e
piattaforma Yucca SDP
CSI Piemonte
Torino, 20 Marzo 2015
Agenda
• Benvenuto
• Ecosistema: bando, progetti, ambiti e dati
• Overview della piattaforma Yucca SDP
• Tecnologie di integrazione e sicurezza
• DEMO con Arduino YUN
• Best practice e roadmap
• Indice dei dati e accesso a Yucca SDP
Ecosistema: bando, progetti, ambiti e dati
I progetti
I progetti
Termine 31/07/15
Termine 31/10/15
ProgettoValore
Progetto ContributoN.
Beneficiari AmbitoSEeS@W 1.304.659 710.633 8 SicurezzaQUIES 541.682 335.411 5 AmbienteIDEM 1.084.357 620.647 6 AmbienteALL4ALL 1.130.164 621.824 5 Smart CommunitiesEDEN 1.350.201 800.000 9 EnergiaSMARTOWEAR 636.125 399.413 5 SaluteLEO 998.804 613.543 7 EnergiaO.N.D.E.- UWC 784.464 396.024 4 AmbienteIoTibevo 1.023.248 555.956 6 Smart CommunitiesHealthCommons 641.736 418.492 3 SalutePITAGORA 1.065.600 678.418 7 AmbienteELISE 1.286.471 736.127 6 AmbienteESGP 617.124 376.474 4 EnergiaComfortSense 1.281.877 734.656 10 Smart CommunitiesIP-OWIT 509.550 302.690 4 AmbienteSORRISO 818.215 512.179 7 EnergiaIoS 699.997 414.898 6 SaluteLIMPID 1.279.674 715.162 8 TrasportiCIRCE 684.335 435.396 6 AmbienteSTAR@home 675.876 404.098 4 SaluteQUADRANTE 913.953 574.457 9 AmbienteBUSSOLA 702.000 417.100 6 AmbienteSMARTV 785.903 330.317 5 Salute
Totale 20.816.016 12.103.915 140 -
I Progetti
Progetto Obiettivo del progetto
SEeS@W Rilevazione di parametri ambientali nei luoghi di lavoro e correlazione con lo stress dell'individuo
QUIES Monitoraggio acustico sul territorioIDEM Monitoraggio delle emissioni odorigene presso discariche
ALL4ALL Integrazione di servizi socioassistenziali e socio-sanitari a favore delle fasce deboli della popolazione.
EDEN Acquisizione di dati ambientali indoor e outdoor finalizzati alla riduzione dei consumi energetici per i comuni
SMARTOWEAR Acquisizioni di dati biometrici di pazienti per la diagnosi precoce di crisi recidivanti
LEO Monitoraggio, analisi e ottimizzazione dei consumi energetici delle infrastrutture pubbliche
O.N.D.E.- UWC Ottimizzazione dei percorsi e della frequenza di raccolta dei rifiutiIoTibevo Acquisizione e pubblicazione di dati da sensori dei punti acqua SMAT
HealthCommons Acquisizione di dati sullo stato di salute finalizzati alla correzione dello stile di vita del paziente
PITAGORA Rilevazione dati di un ecosistema lacustre per finalità di prevenzione rischio naturali, tutela ambientale, protezione civile e turistiche
ELISE Raccolta e integrazione di parametri ambientali per la realizzazione di servizi di consultazione e supporto alle decisioni per i cittadini
ESGP Acquisizione dati volti al risparmio energetico in ambienti domestici
I Progetti
Progetto Obiettivo del progetto
ComfortSense Acquisizione di dati di comfort ambientale da utenti e confronto con dati rilevati da sensori per definire le migliori correlazioni nei modelli
IP-OWIT Ottimizzazione del processo di raccolta differenziata dei rifiuti organici domestici dal punto di origine al punto di compostaggio o smaltimento
SORRISO Miglioramento dell'efficienza energetica negli edifici scolastici e residenziali dotati di impianti fotovoltaici
IoS Realizzazione di un sistema per la diagnosi e la sorveglianza a distanza dei disturbi cardiorespiratori del sonno nel bambino
LIMPID Creazione di nuove fonti di raccolta dati utili al monitoraggio e al controllo della mobilità urbana
CIRCE Raccolta unificata e gestione di dati meteo-idrologici e agro-meteorologici provenienti da sistemi di monitoraggio esistenti finalizzati alla ricerca scientifica
STAR@home Sviluppo di un sistema integrato di teleassistenza
QUADRANTE Realizzazione di un modello volto a fornire indicazioni sulla qualità dell'aria utilizzando "informazioni-dati" già disponibili sul territorio
BUSSOLA Utilizzo dei mezzi adibiti al trasporto di persone per la sperimentazione di servizi innovativi sulla qualità dell’aria, la sicurezza a bordo del veicolo, il turismo e il geomarketing
SMARTV Realizzazione di servizi per il supporto socio-sanitario di soggetti anziani
Distribuzione contributi
88%
9%
1,7%
0,3%
1%
Provincia ContributoAT 32.416 CN 1.091.375 NO 105.946 TO 10.668.394 VB 205.784
Totale 12.103.915
Ambito Contributo N. ProgettiAmbiente 4.496.269 9Energia 2.302.196 4Salute 1.967.217 5Sicurezza 710.633 1Smart Communities 1.912.437 3Trasporti 715.163 1Totale 12.103.915 23
La distribuzione territoriale è basata sull’ubicazione delle sedi dei beneficiari
I BeneficiariContributi erogati
Distribuzione sul territorioTipologia AT CN NO TO VB Totale
Grande impresa 1 11 12Media impresa 1 5 4 10Microimpresa 4 1 39 1 45OR Privato 9 9OR pubblico 1 34 1 36Piccola impresa 3 24 1 28
Totale 1 13 2 121 3 140
Tipologia AT CN NO TO VB Totale Grande impresa 28.000 1.288.892 1.316.892 Media impresa 32.416 424.322 563.464 1.020.202 Microimpresa 334.493 55.500 2.230.691 40.292 2.660.976 OR Privato 912.772 912.772 OR pubblico 50.446 3.380.426 107.100 3.537.972 Piccola impresa 304.559 2.292.149 58.392 2.655.101
Totale 32.416 1.091.375 105.946 10.668.394 205.784 12.103.915
Distribuzione contributi
Specializzazione Ambiti
Ambiti & Sensori
Distribuzione sottoambiti Ambito Tipo sensore usatoAmbiente chimico
dronegpsidrologicomicrofonosondatemperatura / umiditàwearable
Energia appcontabilizzatoreluminositàtemperatura / umidità
Salute appaudio/videowearable
Sicurezza chimicowearable
Smart Communitiesappaudio/videochimicotemperatura / umiditàwearable
Trasporti audio/videodronesonda
Sensori & Dati
Distribuzione tipologie sensori Tipo sensore Dato trattatoapp ambientale indoor
biometricoconsumo energetico
audio/video ambientale outdoorbiometrico
chimico ambientale indoorambientale outdoor
contabilizzatore consumo energeticodrone ambientale outdoorgps geo-localizzazioneidrologico ambientale outdoorluminosità ambientale outdoormicrofono ambientale outdoorsonda ambientale outdoortemperatura / umidità ambientale indoor
ambientale outdoorwearable ambientale outdoor
biometrico
Dal Capacity plan
Dati parziali
Numero smart object 22.000
Misure dagli stream 1,5TB/anno
Dataset di contesto da progetti 500 GB
Ambiti & Living Labs
Living Labs & ubicazioniComune Luogo
Alba Rilevamento dati outdoorBruino Abitazioni
ScuoleCollegno EdificioCuneo Rilevamento dati outdoorFossano ScuoleGrosso Canavese DiscaricaIvrea Casa di cura
Rilevamento dati outdoorMondovì AbitazioniMonregalese Rilevamento dati indoorNovara Lago d'Orta
Lago MaggioreOrbassano Ospedale San Luigi Rivoli Punto acquaRubiana Edificio
Rilevamento dati outdoorSan Damiano d'Asti Impianto di compostaggioSettimo Torinese Punto acquaTorino Centro storico Torino Murazzi
Città della SaluteLaboratori veterinariPunto acquaQuartieri CampidoglioRilevamento dati outdoorScuoleUniversità degli Studi di TO
Verbania Lago Maggiore
Luoghi dei Living Luoghi dei Living Luoghi dei Living Luoghi dei Living labslabslabslabs
Overview della piattaforma Yucca SDP
Funzionalità e strumenti
Human Interaction \\
Smart Data Net: Internet Of Everything
YUCCA SDP
IoT
BigData
Connect Organization
Organization 1
IoTApplication
Device, Stream, Data
IoTApplicationApplication
Device, Stream, DataDevice, Stream,
Data
Organization 2
IoTApplication
Device, Stream, Data
IoTApplicationApplication
Device, Stream, DataDevice, Stream,
Data
Organization 3
IoTApplication
Device, Stream, Data
IoTApplicationApplication
Device, Stream, DataDevice, Stream,
Data
Organization 4
IoTApplication
Device, Stream, Data
IoTApplicationApplication
Device, Stream, DataDevice, Stream,
Data
Smart Data PlatformOrganization context
Data/Stream HubSelective APIs SharingStream & APIs Store
Metadata / Semantic Interoperability (*)
Principali tappe Smart Data Net
•Prima developer release piattaforma YUCCASettembre2014
•Release YUCCA SDP - DEV 0.8
•Big data storage, discovery e monitoring dati
•oData service e Mqtt event receiver/publisherNovembre2014
•Release YUCCA SDP - DEV 0.9
•Gestione e registraione SS dei device
•Complex event processing realtimeDicembre 2014
•Release YUCCA SDP - PROD 1.0
•Web store per pubblicazione e riuso
•Security e SSOFebbraio 2015
YUCCA SDP - PROD 1.1
IoT -> Machine To Machine (M2M)Macchine che comunicano con macchine al posto di persone che interagiscono con applicazioni• 24x7
• Stream
• Quantità di dati
YUCCA Smart Data Platform
Big Data - Open, condivisi e/o privati
Dati di contesto, dati open e dati condivisi a tutti
Traffico
MeteoScuoleCommercio
Turismo……
……
TENANT PRG 1
Dati e misure
Dati e misure
TENANT PRG 2
Dati e misure
Dati e misure
TENANT PRG …
Dati e misure
open
condivisi
open
BIG DATA STORAGE
Dati e misure
User Portal
Smart Data Platform
Real Time Engine
YUCCA SDP vista di insieme
CEP
BIG DATA
File & Data Storage
Analytics
Stream
Service
Stream
oDataService
Notification
Media Streaming
Vertical Application
Attuatori
SensingNetwork
Batch LOAD
File
RDBMS
…
Position
Atmospheric
Temperature
Weight
Brightness
Movement
Sound
Smoke
UVA/UVB
Batch LOAD
File
Offline DIOffline DI
End User AppEnd User App
End User App
YUCCA SDP Open Technologies
Integration
Middleware
Front-end
User Interface
Realtime &
Batch
Analytics
Data
management
& Storage
Configuration
& Automation
Security
Smart Data Platform: delivery models
• Cloud: hosting CSI-Piemonte
– http://userportal.smartdatanet.it/userportal
• Open Source: Downlodable sources
– https://github.com/csipiemonte Yucca Platform
Nuova interfaccia di gestione
Web Store - condividere e fruire dati e stream
Developer Center
• Linee guida
• specifiche
• reference
• esempi
• how-to
• getting started
• e molto altro è disponibile su
http://www.smartdatanet.it/area-developer/
Supporto allo sviluppo
• Problematiche di integrazione con la piattaforma– Sviluppo processing in real time degli eventi e degli stream
– Fruizione dei servizi oData
– Invio di informazioni in realtime, online e offline
• Coaching
• Inviare le richieste a [email protected]
Tecnologie di integrazione e sicurezza
Protocolli
MQTT(s)
HTTP(s)
HTTP(s)
Stomp over WebSocket
HTTP (S2S)
Upload CSV (dataset)
MQTT(s)
Yucca Platform
Rest APIODATA
Download FileNear Realtime
BinarioUI
Online Alfanumerico
Disponibile in successive versioni
Invio near realtime e fruizione near realtime
pubblicazione 2
sottoscrizione
pubblicazione 1
pubblicazione 2
Offline
pubblicazione 3
Invio online (ver succ) e fruizione online
Lettura
Scrittura
Lettura
Scrittura
Invio near realtime e fruizione mista
pubblicazione 2sottoscrizione
pubblicazione 1
pubblicazione 2
pubblicazione 3
Lettura
Datiprecedenti
pubblicazione 3
Sicurezza
MQTT(s)
HTTP(s) Stomp over WebSocket
HTTP (S2S)
MQTT(s)
Yucca Platform
Rest APIODATA
Stream pubblici e privati:- autenticazione per tenant
con username/password API ODATA per dataset pubblici:- nessuna autenticazione
Near realtime stream pubblici :- utenza guest/Aekieh6F
API ODATA e stream privati:- OAUTH2
HTTP(s)
Modello delle entità
Smart Object89f84a22-1e2e-5882-
bbf0-9c6efffb8ce7
StreamFORNISCE 1 ..N
ComponentsEvento
Contiene la misurain un determinatoistante per unostream
INVIA 1..N
• longitudine• latitudine• altitudine
• temperatura• umidità
• posizione
• Info meteo
CONTIENE 1 ..N
TENANTDatasetSE SALVA DATI
Formato di un evento (alfanumerico)
{ "stream": "position","sensor": "cc1bfe50-491c-560d-a235-0e4134bbdc23", "values": [ {
"time": "2014-10-10T12:36:18+0200", "components": {
"longitude": "7.685676", "latitude": "45.070984", "altitude": "0.0"
} } ]
}
Smar
t o
bje
ctSt
ream
Dat
aset
OD
ATA
WebsocketMQTT
oauth2
oauth2
private
public
CSV
DEMO con Arduino YUN
Arduino(922c0438-9dfd-
4ce2-fd3c-b17960b189cb)
MQTTStomp over WebSocket
Webapp supublic hosting
Invio e ricezione eventiYucca features:
Protocol switching (MQTT � Stomp over WebSocket)Broadcasting (1 source � N destination)Monitoring
Yucca Platform HTTP
Temperatura (0-50 °C)
Luminosità (0-1023)
Umidità (%)
Manutenzione in corso (on/off)
NOME UNITÀ DI MISURA TOLLERANZA FENOMENO TIPO DI DATO
temperatura temperature: C 0.5environment: air temperature
double
umidita fraction: % 1 environment: humidity double
switch dimensionless: - 0 other: - Int (0/1)
luminosita other: - 1 environment: lightning int
Reference implementation con Arduino
• Formato Messaggio
{
"stream": "environment",
"sensor": "922c0438-9dfd-4ce2-fd3c-b17960b189cb",
"values": [ {
"time": "2015-03-17T13:21:16Z",
"components": {
"temperatura": "22.2",
"umidita": "31.2",
"switch": "0",
"luminosita": "271"
} } ]
}
Smar
t o
bje
ctSt
ream
Dat
aset
OD
ATA
WebsocketMQTT
oauth2
oauth2
CSV
private
public
RegistrazioneSmart Object /
Stream
InstallazioneStream
Monitoraggio
Ricerca e sottoscrizione
STORE
Fruizione API e Stream
FFFF
OOOO
RRRR
NNNN
IIII
TTTT
OOOO
RRRR
EEEE
FFFF
RRRR
UUUU
IIII
TTTT
OOOO
RRRR
EEEE
Stomp over WebSocket
Webapp supublic hosting
Stream derivato e privatizzatoYucca features:
FilterConversionSecurity
Yucca Platform HTTPS
Esempio di stream derivato
• L’obiettivo è quello di ottenere uno stream aggiuntivo ‘migliore’ che:
– Non contenga le misure ottenute durante la manutenzione (pulsante premuto)
– Converta il segnale di luminosità da una scala 0-1023 ad una percentuale
– Sia utilizzabile solo da utenti del tenant proprietario (privato)
Smar
t o
bje
ctSt
ream
Dat
aset
OD
ATA
WebsocketMQTT
oauth2
oauth2
private
public
CSV
• Internal query:
from input0[switch==0]select
meta_source as meta_source,time as time, temperatura as temperatura,(1023-convert(luminosita,double))/10.23 as luminosita, umidita as umidita
insert into outputStream;
Arduino YUN• Arduino YÚN è il primo di una nuova linea innovativa di prodotti wifi che
combinano la potenza di Linux con la facilità d'uso di Arduino.
• Il primo Arduino Yun è la combinazione di un classico Arduino Leonardo (basato sul processore ATMEGA32U4) con un sistema-one-chip WiFiesecuzione Linino (un MIPS GNU / Linux basata su OpenWRT). Abbiamo incorporato la macchina Linux direttamente sul PCB della Arduino Leonardo collegando i due in modo tale da facilitare l'esecuzione di comandi su Linux tramite Arduino e poterlo usare come interfaccia Ethernet e Wifi
Arduino YUN - architettura
Normalmente è lui che comanda.È l’unico che può accedere ai sensori.
Linguaggio preferenziale Python.Tutti i principali comandi e tools linux
Comunicazione seriale
YUN – parte arduino
YUN – parte Linino
Arduino – invio dati verso YUCCA• Con lo YUN è possibile comunicare con YUCCA tramite:
– HTTP/HTTPS• Script di controllo e lettura sensori su ATMega
• Invio HTTP tramite LININO
– MQTT diretto tramite PubSub modificata• Script di controllo e lettura sensori su ATMega
• Utilizzo connessione TCP/IP di Linino
– MQTT con Mosquitto client• Script di controllo e lettura sensori su ATMega
• Invio tramite MOSQUITTO client su Linino
Struttura generale di uno script per YUCCA
Lettura dati dal sensore
Costruzione messaggio JSON
Invio a YUCCA
Es. Lettura della temperatura Analogica
• Si usa un normalissimo analogRead() sul pin su cui è collegato il sensore.
• Il sensore è una termoresistenza… la tensione diminuisce all’aumentare della temperatura.
• Il sensore restituisce un valore fra 0 e 1024 con una precisione di circa +- 0.5 °C.
• Il sensore deve essere calibrato dopo essere montato (i cavi cambiano la resistenza) � es. interpolazione lineare
Costruzione del messaggio
Le funzioni interne di arduinoYUN per la lettura delle date, si appoggiano a LININO e rallentano… tanto vale fare una richiesta diretta a linux per ottenere la data nel formato ISO desiderato
Arduino – utilizzo di MQTT PubSub
Si apre la connessione
Si carica la libreria (tichiede anche YunCLient , la libreria ufficiale che crea un client HTTP)
Si inviano i dati alla coda
Smart Data Platformbest practice e roadmap
Best practice e consigli
• Gestione -> Nomenclatura oggetti e riconoscibilità oggetti pubblicati
– Nome e descrizione dello Smart Object
– Nome dello Stream
– Immagine (icona) degli oggetti pubblicati
– Tags utilizzati
– …..
Aggregazione Smart Object
Smart Object1<application>
position• source
• longitudine• latitudine• altitudine
In presenza di un numero variabile di dispositivi sorgente(es: mobile app distribuita), è possibile definire uno smart object “Applicazione” e far confluire tutti i messagginell’unico stream definito.
una componente può trasportare l’informazione che
identifica la sorgente
Aggregazione Stream
Smart Object89f84a22-1e2e-5882-
bbf0-9c6efffb8ce7All info
• longitudine
• latitudine
• altitudine
• temperatura
• umidità
Smart Object89f84a22-1e2e-5882-
bbf0-9c6efffb8ce7
position• longitudine
• latitudine
• altitudine
meteo • temperatura
• umidità
Smart Object1 position
• longitudine
• latitudine
• altitudine
meteo• temperatura
• umiditàSmart Object2
• WS in scrittura x MISURE
• WS in scrittura x DATI STRUTTURATI
• Policy condivisione dei dati
1.1
Fine Aprile
• WS in scrittura x dati BINARI
• Nuova interfaccia per lo Store
• Supporto credenziali forti
1.2
Fine Maggio
Roadmap YUCCA Smart Data Platform
Indice dei Dati
Dati di Contesto della PA
DA:
portale "www.dati.piemonte.it":
• Open Data Regione Piemonte• Open Data Geoportale ARPA• Open Data Geoportale Regione
Piemonte (coming soon)
DA:
patrimonio informativo Regione Piemonte:
• elenco Basi Dati per il funzionamento dell'Ente
Scaricabili liberamente e importabili in piattaforma
Se open (tutti o in parte): LIBERATI e pubblicati su www.dati.piemonte
Se non open: richiesta di fruizione in modalità riservata
Indice dei dati
Indice dei dati - ricerca
Indice dei dati - "liberazione" dati
Indice dei dati - "liberazione" dati
Accesso alla PiattaformaYucca SDP
Regolamento utilizzo Piattaforma SDP
• Destinato ai beneficiari del Bando IoD
• Utilizzo della Piattaforma a titolo gratuito
• Servizio best effort
• Responsabilità sui dati:
Beneficiario del Bando IoD
CSI Piemonte (per conto di Regione Piemonte)
titolare del trattamento
responsabile del trattamento
Accesso alla Piattaforma Yucca SDP
1) Accettazione del "Regolamento di Utilizzo"
– firma digitale da parte del Capofila ed invio alla casella PEC [email protected]
2) Profilazione utenti
– da parte del Capofila invio elenco degli utenti da abilitare alla casella e-mail [email protected] (specificare il "codice fiscale" di ogni utente)
3) Accesso tramite Credenziali valide
– certificato digitale personale
– credenziali "imputabili" (forti) di Sistema Piemonte
Rilascio credenziali Sistema Piemonte x IoD
• Accesso al portale www.sistemapiemonte.it e auto registrazione
Rilascio credenziali Sistema Piemonte x IoD
• Registrazione
dei dati
Rilascio credenziali Sistema Piemonte x IoD
• Accertamento dell'identità da parte di un operatore presso:– uno sportello ASL
– la reception del CSI Piemonte c/o c.so Unione Sovietica 216 -Torino (servizio in fase di attivazione)
• Ricezione del PIN (via e-mail)
Rilascio credenziali Sistema Piemonte x IoD
• Attivazione
delle credenziali
Rilascio credenziali Sistema Piemonte x IoD
• Accesso allo User Portal
www.smartdatanet.it
Domande