slide - Smart Data Net

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
Progetto
SEeS@W
QUIES
IDEM
ALL4ALL
EDEN
SMARTOWEAR
LEO
O.N.D.E.- UWC
IoTibevo
HealthCommons
PITAGORA
ELISE
ESGP
ComfortSense
IP-OWIT
SORRISO
IoS
LIMPID
CIRCE
STAR@home
QUADRANTE
BUSSOLA
SMARTV
Totale
Valore
Progetto
1.304.659
541.682
1.084.357
1.130.164
1.350.201
636.125
998.804
784.464
1.023.248
641.736
1.065.600
1.286.471
617.124
1.281.877
509.550
818.215
699.997
1.279.674
684.335
675.876
913.953
702.000
785.903
20.816.016
Contributo
710.633
335.411
620.647
621.824
800.000
399.413
613.543
396.024
555.956
418.492
678.418
736.127
376.474
734.656
302.690
512.179
414.898
715.162
435.396
404.098
574.457
417.100
330.317
12.103.915
N.
Beneficiari
8
5
6
5
9
5
7
4
6
3
7
6
4
10
4
7
6
8
6
4
9
6
5
140
Ambito
Sicurezza
Ambiente
Ambiente
Smart Communities
Energia
Salute
Energia
Ambiente
Smart Communities
Salute
Ambiente
Ambiente
Energia
Smart Communities
Ambiente
Energia
Salute
Trasporti
Ambiente
Salute
Ambiente
Ambiente
Salute
Termine
31/07/15
Termine
31/10/15
-
I Progetti
Progetto
Obiettivo del progetto
SEeS@W
Rilevazione di parametri ambientali nei luoghi di lavoro e correlazione con lo
stress dell'individuo
Monitoraggio acustico sul territorio
Monitoraggio delle emissioni odorigene presso discariche
Integrazione di servizi socioassistenziali e socio-sanitari a favore delle fasce
deboli della popolazione.
Acquisizione di dati ambientali indoor e outdoor finalizzati alla riduzione dei
consumi energetici per i comuni
Acquisizioni di dati biometrici di pazienti per la diagnosi precoce di crisi
recidivanti
Monitoraggio, analisi e ottimizzazione dei consumi energetici delle infrastrutture
pubbliche
Ottimizzazione dei percorsi e della frequenza di raccolta dei rifiuti
Acquisizione e pubblicazione di dati da sensori dei punti acqua SMAT
Acquisizione di dati sullo stato di salute finalizzati alla correzione dello stile di
vita del paziente
Rilevazione dati di un ecosistema lacustre per finalità di prevenzione rischio
naturali, tutela ambientale, protezione civile e turistiche
Raccolta e integrazione di parametri ambientali per la realizzazione di servizi di
consultazione e supporto alle decisioni per i cittadini
Acquisizione dati volti al risparmio energetico in ambienti domestici
QUIES
IDEM
ALL4ALL
EDEN
SMARTOWEAR
LEO
O.N.D.E.- UWC
IoTibevo
HealthCommons
PITAGORA
ELISE
ESGP
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
Ottimizzazione del processo di raccolta differenziata dei rifiuti organici domestici
dal punto di origine al punto di compostaggio o smaltimento
Miglioramento dell'efficienza energetica negli edifici scolastici e residenziali dotati
di impianti fotovoltaici
Realizzazione di un sistema per la diagnosi e la sorveglianza a distanza dei disturbi
cardiorespiratori del sonno nel bambino
Creazione di nuove fonti di raccolta dati utili al monitoraggio e al controllo della
mobilità urbana
Raccolta unificata e gestione di dati meteo-idrologici e agro-meteorologici
provenienti da sistemi di monitoraggio esistenti finalizzati alla ricerca scientifica
Sviluppo di un sistema integrato di teleassistenza
Realizzazione di un modello volto a fornire indicazioni sulla qualità dell'aria
utilizzando "informazioni-dati" già disponibili sul territorio
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
Realizzazione di servizi per il supporto socio-sanitario di soggetti anziani
IP-OWIT
SORRISO
IoS
LIMPID
CIRCE
STAR@home
QUADRANTE
BUSSOLA
SMARTV
Distribuzione contributi
1,7%
1%
88%
Ambito
Ambiente
Energia
Salute
Sicurezza
Smart Communities
Trasporti
Totale
0,3%
9%
Provincia
AT
CN
NO
TO
VB
Totale
Contributo
32.416
1.091.375
105.946
10.668.394
205.784
12.103.915
La distribuzione territoriale è basata sull’ubicazione delle sedi dei beneficiari
Contributo
4.496.269
2.302.196
1.967.217
710.633
1.912.437
715.163
12.103.915
N. Progetti
9
4
5
1
3
1
23
Contributi erogati
I Beneficiari
Distribuzione sul territorio
Tipologia
Grande impresa
Media impresa
Microimpresa
OR Privato
OR pubblico
Piccola impresa
Totale
AT
1
CN
1
5
4
NO
1
1
1
3
13
2
TO
11
4
39
9
34
24
121
VB
1
1
1
3
Totale
12
10
45
9
36
28
140
Distribuzione contributi
Tipologia
Grande impresa
Media impresa
Microimpresa
OR Privato
OR pubblico
Piccola impresa
Totale
AT
32.416
CN
28.000
424.322
334.493
NO
55.500
50.446
32.416
304.559
1.091.375
105.946
TO
1.288.892
563.464
2.230.691
912.772
3.380.426
2.292.149
10.668.394
VB
40.292
107.100
58.392
205.784
Totale
1.316.892
1.020.202
2.660.976
912.772
3.537.972
2.655.101
12.103.915
Specializzazione Ambiti
Ambiti & Sensori
Distribuzione sottoambiti
Ambito
Ambiente
Tipo sensore usato
chimico
drone
gps
idrologico
microfono
sonda
temperatura / umidità
wearable
Energia
app
contabilizzatore
luminosità
temperatura / umidità
Salute
app
audio/video
wearable
Sicurezza
chimico
wearable
Smart Communitiesapp
audio/video
chimico
temperatura / umidità
wearable
Trasporti
audio/video
drone
sonda
Sensori & Dati
Distribuzione tipologie sensori
Tipo sensore
app
audio/video
chimico
contabilizzatore
drone
gps
idrologico
luminosità
microfono
sonda
temperatura / umidità
Dal Capacity plan
Numero smart object
Misure dagli stream
Dataset di contesto da progetti
Dati parziali
22.000
1,5TB/anno
500 GB
wearable
Dato trattato
ambientale indoor
biometrico
consumo energetico
ambientale outdoor
biometrico
ambientale indoor
ambientale outdoor
consumo energetico
ambientale outdoor
geo-localizzazione
ambientale outdoor
ambientale outdoor
ambientale outdoor
ambientale outdoor
ambientale indoor
ambientale outdoor
ambientale outdoor
biometrico
Ambiti & Living Labs
Living Labs & ubicazioni
Comune
Alba
Bruino
Collegno
Cuneo
Fossano
Grosso Canavese
Ivrea
Mondovì
Monregalese
Novara
Orbassano
Rivoli
Rubiana
San Damiano d'Asti
Settimo Torinese
Torino
Verbania
Luogo
Rilevamento dati outdoor
Abitazioni
Scuole
Edificio
Rilevamento dati outdoor
Scuole
Discarica
Casa di cura
Rilevamento dati outdoor
Abitazioni
Rilevamento dati indoor
Lago d'Orta
Lago Maggiore
Ospedale San Luigi
Punto acqua
Edificio
Rilevamento dati outdoor
Impianto di compostaggio
Punto acqua
Centro storico Torino Murazzi
Città della Salute
Laboratori veterinari
Punto acqua
Quartieri Campidoglio
Rilevamento dati outdoor
Scuole
Università degli Studi di TO
Lago Maggiore
Luoghi dei Living labs
Overview della piattaforma
Yucca SDP
Funzionalità e strumenti
Smart Data Net: Internet Of Everything
Human Interaction
\YUCCA SDP
IoT
BigData
Connect Organization
Organization 1
IoT
IoT
Application
Application
Application
Device, Stream,
Device,
DataStream,
Device,
DataStream,
Data
Organization 2
IoT
IoT
Application
Application
Application
Organization 3
IoT
IoT
Application
Application
Application
Organization 4
IoT
IoT
Application
Application
Application
Device, Stream,
Device,
DataStream,
Device,
DataStream,
Data
Device, Stream,
Device,
DataStream,
Device,
DataStream,
Data
Device, Stream,
Device,
DataStream,
Device,
DataStream,
Data
Smart Data Platform
Organization context
Data/Stream Hub
Selective APIs Sharing
Stream & APIs Store
Metadata / Semantic Interoperability (*)
Principali tappe Smart Data Net
Settembre2014
• Prima developer release piattaforma YUCCA
Novembre2014
• Release YUCCA SDP - DEV 0.8
• Big data storage, discovery e monitoring dati
• oData service e Mqtt event receiver/publisher
Dicembre 2014
• Release YUCCA SDP - DEV 0.9
• Gestione e registraione SS dei device
• Complex event processing realtime
Febbraio 2015
• Release YUCCA SDP - PROD 1.0
• Web store per pubblicazione e riuso
• Security e SSO
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
TENANT PRG 1
Dati e misure
TENANT PRG 2
TENANT PRG …
Dati e misure
condivisi
Dati e misure
Dati e misure
Dati e misure
open
open
Traffico
Commercio
Dati e misure
Meteo
…
…
…
…
Turismo
Scuole
Dati di contesto, dati open e dati condivisi a tutti
BIG DATA STORAGE
YUCCA SDP vista di insieme
Sensing
Network
User Portal
Position
Atmospheric
Vertical
Application
Smart Data Platform
Temperature
Real Time Engine
Weight
Brightness
Stream
Movement
CEP
Stream
Media Streaming
Sound
Attuatori
Smoke
Notification
UVA/UVB
…
oData
Service
Service
Batch LOAD
BIG DATA
File
Analytics
Batch LOAD
File
RDBMS
Offline DI
File & Data Storage
Offline DI
End User App
End User App
End User App
YUCCA SDP Open Technologies
Front-end
User Interface
Integration
Middleware
Realtime &
Batch
Analytics
Data
management
& Storage
Security
Configuration
& Automation
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)
MQTT(s)
HTTP(s)
Stomp over
WebSocket
HTTP(s)
HTTP (S2S)
Yucca Platform
Upload CSV
(dataset)
Rest API
ODATA
Download
File
Near Realtime
Online
Alfanumerico
UI
Binario
Disponibile in successive versioni
Invio near realtime e fruizione near realtime
pubblicazione 1
sottoscrizione
pubblicazione 2
pubblicazione 2
pubblicazione 3
Offline
Invio online (ver succ) e fruizione online
Scrittura
Lettura
Scrittura
Lettura
Invio near realtime e fruizione mista
pubblicazione 1
Lettura
pubblicazione 2
sottoscrizione
pubblicazione 2
pubblicazione 3
pubblicazione 3
Dati
precedenti
Sicurezza
MQTT(s)
MQTT(s)
HTTP(s)
Stomp over
WebSocket
HTTP(s)
HTTP (S2S)
Yucca Platform
Rest API
ODATA
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
Modello delle entità
TENANT
Smart Object
89f84a22-1e2e-5882bbf0-9c6efffb8ce7
INVIA 1..N
Evento
Contiene la misura
in un determinato
istante per uno
stream
FORNISCE 1 ..N
Dataset
SE SALVA DATI
Stream
•
posizione
•
Info meteo
CONTIENE 1 ..N
Components
•
•
•
longitudine
latitudine
altitudine
•
•
temperatura
umidità
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"
}
}]
}
Smart object
CSV
Websocket
MQTT
ODATA
Dataset
Stream
oauth2
public
private
oauth2
DEMO con Arduino YUN
Stomp over
WebSocket
MQTT
Yucca Platform
HTTP
Arduino
(922c0438-9dfd4ce2-fd3cb17960b189cb)
Invio e ricezione eventi
Yucca features:
Protocol switching (MQTT Stomp over WebSocket)
Broadcasting (1 source N destination)
Monitoring
Webapp su
public hosting
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.5
environment: 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"
}}]
}
Smart object
CSV
Websocket
MQTT
ODATA
Dataset
Stream
oauth2
public
private
oauth2
Registrazione
Smart Object /
Stream
Ricerca e
sottoscrizione
F
R
U
I
T
O
R
E
STORE
Fruizione API e
Stream
Installazione
Stream
Monitoraggio
F
O
R
N
I
T
O
R
E
Stomp over
WebSocket
Yucca Platform
HTTPS
Webapp su
public hosting
Stream derivato e privatizzato
Yucca features:
Filter
Conversion
Security
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)
Smart object
CSV
Websocket
MQTT
ODATA
Dataset
Stream
oauth2
public
private
oauth2
• 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 WiFi
esecuzione 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.
Comunicazione
seriale
Linguaggio
preferenziale Python.
Tutti i principali
comandi e tools linux
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 arduino
YUN 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 carica la libreria (tichiede anche YunCLient ,
la libreria ufficiale che crea un client HTTP)
Si apre la connessione
Si inviano i dati alla coda
Smart Data Platform
best 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
In presenza di un numero variabile di dispositivi sorgente
(es: mobile app distribuita), è possibile definire uno smart
object “Applicazione” e far confluire tutti i messaggi
nell’unico stream definito.
una componente può trasportare l’informazione che
identifica la sorgente
Smart Object1
<application>
position
•
•
•
•
source
longitudine
latitudine
altitudine
Aggregazione Stream
•
•
•
•
•
longitudine
latitudine
altitudine
temperatura
umidità
•
•
•
longitudine
latitudine
altitudine
•
•
temperatura
umidità
position
•
•
•
longitudine
latitudine
altitudine
meteo
•
•
temperatura
umidità
Smart Object
89f84a22-1e2e-5882bbf0-9c6efffb8ce7
Smart Object
89f84a22-1e2e-5882bbf0-9c6efffb8ce7
Smart Object1
Smart Object2
All info
position
meteo
Roadmap YUCCA Smart Data Platform
1.1
Fine Aprile
1.2
Fine Maggio
• WS in scrittura x MISURE
• WS in scrittura x DATI
STRUTTURATI
• Policy condivisione dei dati
• WS in scrittura x dati BINARI
• Nuova interfaccia per lo
Store
• Supporto credenziali forti
Indice dei Dati
Dati di Contesto della PA
DA:
DA:
portale "www.dati.piemonte.it":
patrimonio informativo Regione
Piemonte:
• Open Data Regione Piemonte
• Open Data Geoportale ARPA
• Open Data Geoportale Regione
Piemonte (coming soon)
Scaricabili liberamente e
importabili in piattaforma
• elenco Basi Dati per il
funzionamento dell'Ente
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 Piattaforma
Yucca 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
titolare del trattamento
CSI Piemonte (per conto di Regione Piemonte)
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
[email protected]
www.smartdatanet.it
Domande