internet of things & paraimpu

59
Antonio Pintus - [email protected] Davide Carboni - [email protected] Andrea Piras - [email protected] Antonio Pintus Andrea Piras Davide Carboni Seminari CRS4, percorso E Cagliari, 14 giugno 2012 1 Internet / Web of Things +

Upload: antonio-pintus

Post on 18-Nov-2014

1.293 views

Category:

Technology


0 download

DESCRIPTION

Le slide della presentazione di IoT e Paraimpu di giovedì 14 giugno 2012, Facoltà di Architettura di Cagliari, nell'ambito del ciclo di seminari del CRS4.

TRANSCRIPT

Page 1: Internet of Things & Paraimpu

Antonio Pintus - [email protected] Davide Carboni - [email protected] Andrea Piras - [email protected]

Antonio Pintus Andrea Piras Davide Carboni

Seminari CRS4, percorso E

Cagliari, 14 giugno 2012

1

Internet / Web of Things+

Page 2: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Diretta Twitter

• Twittate con hash

2

#paraimpu

Page 3: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it 3

A che punto siamo?

Internet / Web of Things

Page 4: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Evoluzione Internet / Web

4

PC, server, documenti, hypertext, hyperlink

... cellulari, motori di ricerca, notebook

... Web 2.0, partecipativo,

social

IoT, qualsiasi cosa è connessa

Page 5: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Internet/Web of Things

5

Ph. Shaun Wood, http://www.flickr.com/people/mrwoodnz/

Page 6: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Smart-objects: Whithings

6

http://www.withings.com/

Page 7: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Smart-objects

7

http://www.nike.com/plus/products/training/

Page 8: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Smart-objects: Karotz

8

http://store.karotz.com

Page 9: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Smart-objects: Micro-controllers

9

Arduino

openPicus Flyport

Arduino

Sensori

Page 10: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Smart-objects: smart-phones!

10

Page 11: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Automotive

11

http://gadget.wired.it/news/mondo_computer/2012/03/13/internet-of-things-polimi-13714.html

Page 12: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Smart-Objects vari...

12

Smart-TV

Monitoring Consumo energia

Page 13: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Previsioni

• nel 2020 gli oggetti connessi saranno 50 miliardi (Cisco)

• sensori, attuatori, cellulari, smart cities, giocattoli, case, elettrodomestici, sistemi di monitoraggio ambientale, automotive, eHealth, ...

13

http://www.flickr.com/photos/erwlas/

http://www.flickr.com/photos/mike_lambert http://www.flickr.com/photos/daviddehoey

http://www.flickr.com/photos/bigpinkcookie

http://www.flickr.com/photos/erwlas/

Page 14: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

EU Teaser: the Pillbox

14

http://youtu.be/RTdRUwl9JsA

Page 15: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

EU Teaser: the Pillbox

14

http://youtu.be/RTdRUwl9JsA

Page 16: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

EU Teaser: Traffic

15

http://youtu.be/lkIXHzcU5XA

Page 17: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

EU Teaser: Traffic

15

http://youtu.be/lkIXHzcU5XA

Page 18: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Problematiche

• una enorme quantità di “cose” anche molto diverse tra loro: oggetti !sici e virtuali

• come connetterli al Web in maniera semplice?

• come comporli per creare applicazioni in maniera sempli!cata?

• come realizzare agevolmente dei mashup misti, includendo oggetti

!sici e virtuali come servizi online e social network?

• come gestire l’elevato grado di eterogeneità dei dati, linguaggi e

protocolli?

16

Page 19: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Il “passato”

• Ovviamente furono proposte diverse tecnologie e protocolli:

– Jini, UPnP, ...

– JXTA

– Web services: SOAP, WSDL , ...

– Soluzioni basate direttamente su TCP / UDP

17

Page 20: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it 18

parte #1

la nostra “vision”

Ph. http://www.flickr.com/photos/salendron/

Page 21: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

“ The Web of Things

is more than

Things on the Web ”

19

Page 22: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Vision /1

20

#1: connettere gli oggetti deve essere semplice

Ph. Nigel Marshall, http://www.flickr.com/photos/nige_mar/

- semplici da mettere in rete

- semplici da con!gurare

- semplici da gestire

Page 23: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Vision /2

• #2: non solo oggetti !sici ma anche “virtuali”

– social network, siti Web, feed, APIs, App, ...

21

Page 24: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Internet/Web of Things

22

Ph. Mike http://www.flickr.com/photos/zebble

Page 25: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Vision /3

23

#3: comporre gli oggetti deve essere semplice

- mashup misti: interconnettere mondo !sico + mondo Web

- meccanismi di trasformazione / !ltro dei dati

Ph. John Thurm, http://www.flickr.com/photos/thurm

Page 26: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Vision: aspetti Social /1

24

Ph. Nigel Marshall, http://www.flickr.com/photos/nige_mar/

#4: i social network esistenti sono visti come oggetti (virtuali)

- Facebook, Foursquare, Twitter, ...

Page 27: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Vision: aspetti social /2

25

Ph. Ryan Roberts http://www.flickr.com/photos/ryanr

#5: condividere gli oggetti con le altre persone!

Page 28: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Condividere gli oggetti

• vogliamo poter condividere i nostri oggetti con le altre persone

– condividere i dati– condividere le funzionalità

• lasciare che le altre persone usino i nostri oggetti nelle loro applicazioni

• non lontano dal concetto di “collaborative consumption” de!nito dagli autori del libro What’s mine is yours*

* What's Mine Is Yours: The Rise of Collaborative Consumption, Rachel Botsman and Roo Rogers . Harperbusiness, http://www.collaborativeconsumption.com/

26

Page 29: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Come?

27

• Non abbiamo bisogno di nuovi o “oscuri” protocolli per connettere gli oggetti

• Abbiamo il Web!

• i protocolli e i formati del Web come lingua franca per (inter-)connetterli

• HTTP ( + JSON, XML, ...) --> REST

Page 30: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it 28

Page 31: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it 29

Ph. Windell Oskay http://www.flickr.com/photos/oskay/265899865/

Il modello: 4 astrazioni di base

- Oggetti:

- Sensori- Attuatori

- Connessioni

Page 32: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it 30

Sensori

- Qualsiasi Oggetto capace di produrre dati

- comunica attraverso HTTP

- anemometri, termometri, Arduino, ...

- Twitter, Foursquare, API, altri servizi Web, software app, ...

Ph. Windell Oskay http://www.flickr.com/photos/oskay/

Page 33: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it 31

Attuatori

- Qualsiasi Oggetto capace di ricevere dati e compiere un’azione

- comunica attraverso HTTP

- Illuminazione, Arduino, motori passo-passo, Karotz, ...

- Twitter, Facebook, Processing, altre applicazioni Web e non...

Ph. Dieter Drescher http://www.flickr.com/photos/cosmosfan

Page 34: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Connessioni

32

Ph. supermaryan http://www.flickr.com/photos/33975256@N06/

- tra due Oggetti

- un Sensore come sorgente- un Attuatore come destinazione

- con!gurabili:

- !ltering dei dati

- trasformazione dei dati

Page 35: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Filtri e trasformazioni: perchè?

33

eterogeneità degli oggetti e dei datipersonalizzazione

12,10,9,H,L

Il latte è terminato!

0xAB12CD

0,1, ON, OFF

?

Page 36: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Motore di Regole

34

Regole espresse in linguaggio JavaScriptde!nite dagli utenti

Page 37: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

In sintesi

35

“a cloud-based operating system for the Internet of Things”

Page 38: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it 36

http://www.flickr.com/photos/melitron

(alcuni) Esperimenti

Page 39: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

T light

37

http://youtu.be/6LuutBhG9nU

Page 40: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

T light

37

http://youtu.be/6LuutBhG9nU

Page 41: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Ambient Assisted Living

38

http://youtu.be/LqqwyJV1iao

Page 42: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Ambient Assisted Living

38

http://youtu.be/LqqwyJV1iao

Page 43: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Jardimpu

39

- Giardinaggio sociale con Paraimpu, by Alberto Serra (@albeserra)

- http://jardimpu.blogspot.it

- Monitoring su Twitter: @jardimpu

Page 44: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it 40

part #2

Scelte Architetturali e di Design

Ph. Jaime Silva, http://www.flickr.com/photos/20792787@N00/

Page 45: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Problema: scalabilità

– Cosa succede quando il numero degli utenti cresce?

– Cosa succede quando migliaia di oggetti vengono aggiunti?

– Cosa succede quando migliaia di dati in (quasi) real-time devono essere gestiti?

– Il sistema deve essere scalabile “by-design”!

41

Page 46: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it 42

Ph. MrFaber, http://www.flickr.com/photos/mrfaber

Problemi e stili architetturali

problema C10K

Scalabilità orizzontale

Database

Nuovi Sensori/Attuatori

Web server

Load balancing

Web-based Architecture

WS-* or REST

?

Page 47: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

WS-* o REST?

• per molti oggetti un WS-* stack è troppo complesso/pesante: WSDL, SOAP over HTTP, ...

• spesso, abbiamo a che fare con piccoli (limitati) oggetti !sici digitali

• Abbiamo scelto REST come stile architetturale

» Oggetti, connessioni, dati, utenti, ... , sono risorse REST

43

Page 48: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

RESTful Resources

http://paraimpu.crs4.it/service/e57faedb-5823-453e-8ff1-74a74e5...

http://paraimpu.crs4.it/user/a98d4e77-9774-4fa9-b35b-b1e12cc0...

HTTP

GET PUT POST DELETE

{"category": "arduino_usb_source", "servicetype": "src", "description": "an Arduino USB sensor", "date_modified": "2012-04-13 17:24:32.157177", "uri": "/service/b58faedb-5823-453e-8ff1-74a74...", "owner": "/user/b91b4e99-9764-4fa9-b35b-a1...", "token": "f03e5d9e-a5b1-4a4a-b91d-...", "link": "http://paraimpu.crs4.it/service/f57faedb-5823-765e-6bb6-74a...", "mode": "push", "policy": "PRIVATE", "date_created": "2012-04-13 17:24:32.157177", "shortname": "ardusb", "content-type": "application/json", "icon": "/static/images/arduino_usb_source_icon.png"}

44

Page 49: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Database: SQL o NoSQL?

• Considerando:

• dati molto eterogenei --> "essibilità del DB schema• richiesta scalabilità del DB su un sistema distribuito• partizionamento dei dati e gestione delle repliche

• Abbiamo scelto un database NoSQL:

• no schema pre!ssato, no tabelle, no relazioni• efficienti read-write concorrenti, scalabilità, auto-sharding• formato nativo dei dati in JSON-like (BSON)

45

Page 50: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Web server, Web front-end

• sistema interamente Web-based

• problema C10K: 10,000 connessioni HTTP aperte simultaneamente (client)

• Scalabilità orizzontale: aggiungere nuove istanze del server quando richiesto

• Bilanciamento del carico

46

Page 51: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Le connessioni

47

• connessioni basate su code di dati• trasformazione dei dati eseguita da processi di sistema

Page 52: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Filtri sui dati

• un Filtro è una espressione booleana valutata su un dato proveniente da un sensore

–espressa in JavaScript

» sensor > 12» sensor.!eld == ‘H’» sensor.data >20 && sensor.type == ‘temp’» ...

48

Page 53: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Trasformazione dati: mapping

• i Mapping sono coppie di espressioni: (cond, repl)

• cond : espressione booleana valutata su dati provenienti da un sensore (come per i !ltri)

• repl : espressione che produce/trasforma un dato

da inoltrare all’ attuatore quando cond è vera

49

Page 54: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Mapping, esempi

50

Sensor data type

CONDITION REPLACE Actuator data type

numeric sensor > 30 <% sensor * 3.14 / 100 %> numeric

numeric sensor > 25Summer is coming, temperature is:

<% sensor %> °Ctext

JSON sensor.data > 30Data is <% sensor.data %>

and type is <% sensor.type %> text

JSONsensor.A0 > 30 &&

sensor.A5 <= 10

<?xml version="1.0" encoding="UTF-8"?> <value>

<% sensor.A0 * 100 %>

</value>

XML

Page 55: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Principali tecnologie

• back-end scritto principalmente in Python

• piccola parte in Java

• Web stack basato su Tornado Web server

• NoSQL DBMS (MongoDB)

• HTML + jQuery

51

Page 56: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

http://paraimpu.crs4.it

twitter: @paraimpu

FB: facebook.com/paraimpu

YouTube: youtube.com/paraimpu

52

• > 600 utenti world-wide

• nuovo progetto EU !nanziato sulle Smart Cities, basato su Paraimpu: CityScripts

Page 57: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

Contacts

• Antonio Pintus, [email protected], Twitter: @apintux• Davide Carboni, [email protected]• Andrea Piras, [email protected]

• http://paraimpu.crs4.it/team

• LBS group @ CRS4: http://geoweb.crs4.it/

• CRS4 Home Page: http://www.crs4.it

53

Page 58: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

DEMO54

next:

Page 59: Internet of Things & Paraimpu

Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it

GRAZIE!

55

Q & A