Internet / Web of Things                               +                             Antonio Pintus               Andrea P...
Diretta Twitter     • Twittate con hash                                          #paraimpu                                ...
Internet / Web of Things                                   A che punto siamo?                                             ...
Evoluzione Internet / Web                                                                                                 ...
Internet/Web of Things                                                           Ph. Shaun Wood, http://www.flickr.com/peop...
Smart-objects: Whithings             http://www.withings.com/                                                             ...
Smart-objects   http://www.nike.com/plus/products/training/                                                               ...
Smart-objects: Karotz             http://store.karotz.com                                                                 ...
Arduino                                               Smart-objects: Micro-controllers                                    ...
Smart-objects: smart-phones!                                                                                           10A...
Automotivehttp://gadget.wired.it/news/mondo_computer/2012/03/13/internet-of-things-polimi-13714.html                      ...
Smart-Objects vari...                                                                                         Smart-TV    ...
Previsioni     •     nel 2020 gli oggetti connessi saranno 50 miliardi (Cisco)                                            ...
EU Teaser: the Pillbox                                                http://youtu.be/RTdRUwl9JsA                         ...
EU Teaser: the Pillbox                                                http://youtu.be/RTdRUwl9JsA                         ...
EU Teaser: Traffic                                                 http://youtu.be/lkIXHzcU5XA                              ...
EU Teaser: Traffic                                                 http://youtu.be/lkIXHzcU5XA                              ...
Problematiche     • una enorme quantità di “cose” anche molto diverse tra loro:       oggetti fisici e virtuali     • come...
Il “passato”     • Ovviamente furono proposte diverse tecnologie e protocolli:          – Jini, UPnP, ...          – JXTA ...
parte #1                                                                   la nostra                                      ...
“          The Web of Things                                               is more than                            Things ...
Vision /1     #1: connettere gli oggetti deve essere     semplice   - semplici da mettere in      rete   - semplici da con...
Vision /2     • #2: non solo oggetti fisici ma anche “virtuali”          – social network, siti Web, feed, APIs, App, ... ...
Internet/Web of Things       Ph. Mike http://www.flickr.com/photos/zebble                                                  ...
Vision /3   #3: comporre gli oggetti deve essere   semplice   - mashup misti: interconnettere   mondo fisico + mondo Web  ...
Vision: aspetti Social /1        #4: i social network esistenti sono visti come        oggetti (virtuali)        - Faceboo...
Vision: aspetti social /2                                                             Ph. Ryan Roberts http://www.flickr.co...
Condividere gli oggetti      • vogliamo poter condividere i nostri oggetti con le altre persone           – condividere i ...
Come?    • Non abbiamo bisogno di nuovi o      “oscuri” protocolli per connettere gli      oggetti    • Abbiamo il Web!   ...
28Antonio Pintus, Davide Carboni, Andrea Piras   http://paraimpu.crs4.it
Il modello: 4 astrazioni di base                                                                                         -...
Sensori                                                        - Qualsiasi Oggetto capace di                              ...
Attuatori                                                            - Qualsiasi Oggetto capace di                        ...
Connessioni                                                                  - tra due Oggetti                            ...
Filtri e trasformazioni: perchè?                             eterogeneità degli oggetti e dei dati                        ...
Motore di Regole                           Regole espresse in linguaggio JavaScript                                       ...
In sintesi     “    a cloud-based operating system for the Internet of Things                   ”                         ...
(alcuni) Esperimenti                                                                       http://www.flickr.com/photos/me...
T light                                                http://youtu.be/6LuutBhG9nU                                        ...
T light                                                http://youtu.be/6LuutBhG9nU                                        ...
Ambient Assisted Living                                                http://youtu.be/LqqwyJV1iao                        ...
Ambient Assisted Living                                                http://youtu.be/LqqwyJV1iao                        ...
Jardimpu  - Giardinaggio sociale con Paraimpu, by Alberto Serra (@albeserra)  - http://jardimpu.blogspot.it  - Monitoring ...
part #2  Scelte Architetturali       e di Design                                Ph. Jaime Silva, http://www.flickr.com/pho...
Problema: scalabilità          – Cosa succede quando il numero degli utenti cresce?          – Cosa succede quando migliai...
Problemi e stili architetturali                                           Web-based ArchitectureWS-* or REST              ...
WS-* o REST?   • per molti oggetti un WS-* stack è troppo complesso/     pesante: WSDL, SOAP over HTTP, ...   • spesso, ab...
RESTful Resources    http://paraimpu.crs4.it/service/e57faedb-5823-453e-8ff1-74a74e5...    http://paraimpu.crs4.it/user/a9...
Database: SQL o NoSQL?   • Considerando:             • dati molto eterogenei --> flessibilità del DB schema             • ...
Web server, Web front-end • sistema interamente Web-based • problema C10K: 10,000 connessioni HTTP aperte   simultaneament...
Le connessioni  • connessioni basate su code di dati  • trasformazione dei dati eseguita da processi di sistema           ...
Filtri sui dati     • un Filtro è una espressione booleana valutata su       un dato proveniente da un sensore          –e...
Trasformazione dati: mapping     • i Mapping sono coppie di espressioni: (cond, repl)               • cond : espressione b...
Mapping, esempi        Sensor data                 CONDITION                      REPLACE                           Actuat...
Principali tecnologie   • back-end scritto principalmente in Python   • piccola parte in Java   • Web stack basato su Torn...
• > 600 utenti world-wide   • nuovo progetto EU finanziato sulle   Smart Cities, basato su Paraimpu:   CityScripts        ...
Contacts     • Antonio Pintus, pintux@crs4.it, Twitter: @apintux     • Davide Carboni, dcarboni@crs4.it     • Andrea Piras...
next:                                               DEMO                                                                  ...
Q&A                                                 GRAZIE!                                                               ...
Upcoming SlideShare
Loading in...5
×

Internet of Things & Paraimpu

1,508

Published on

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.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,508
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
20
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Internet of Things & Paraimpu

  1. 1. Internet / Web of Things + Antonio Pintus Andrea Piras Davide Carboni Seminari CRS4, percorso E Cagliari, 14 giugno 2012Antonio Pintus - pintux@crs4.it Davide Carboni - dcarboni@crs4.it Andrea Piras - piras@crs4.it 1
  2. 2. Diretta Twitter • Twittate con hash #paraimpu 2Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  3. 3. Internet / Web of Things A che punto siamo? 3Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  4. 4. Evoluzione Internet / Web IoT, qualsiasi cosa PC, server, documenti, è connessa hypertext, hyperlink ... Web 2.0, partecipativo, social ... cellulari, motori di ricerca, notebook 4Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  5. 5. Internet/Web of Things Ph. Shaun Wood, http://www.flickr.com/people/mrwoodnz/ 5Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  6. 6. Smart-objects: Whithings http://www.withings.com/ 6Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  7. 7. Smart-objects http://www.nike.com/plus/products/training/ 7Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  8. 8. Smart-objects: Karotz http://store.karotz.com 8Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  9. 9. Arduino Smart-objects: Micro-controllers openPicus Flyport Arduino Sensori 9Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  10. 10. Smart-objects: smart-phones! 10Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  11. 11. Automotivehttp://gadget.wired.it/news/mondo_computer/2012/03/13/internet-of-things-polimi-13714.html 11Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  12. 12. Smart-Objects vari... Smart-TV Monitoring Consumo energia 12Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  13. 13. Previsioni • nel 2020 gli oggetti connessi saranno 50 miliardi (Cisco) http://www.flickr.com/photos/erwlas/ • sensori, attuatori, cellulari, smart cities, giocattoli, case, elettrodomestici, sistemi di monitoraggio ambientale, automotive, eHealth, ... http://www.flickr.com/photos/bigpinkcookie http://www.flickr.com/photos/erwlas/ http://www.flickr.com/photos/mike_lambert http://www.flickr.com/photos/daviddehoey 13Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  14. 14. EU Teaser: the Pillbox http://youtu.be/RTdRUwl9JsA 14Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  15. 15. EU Teaser: the Pillbox http://youtu.be/RTdRUwl9JsA 14Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  16. 16. EU Teaser: Traffic http://youtu.be/lkIXHzcU5XA 15Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  17. 17. EU Teaser: Traffic http://youtu.be/lkIXHzcU5XA 15Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  18. 18. Problematiche • una enorme quantità di “cose” anche molto diverse tra loro: oggetti fisici e virtuali • come connetterli al Web in maniera semplice? • come comporli per creare applicazioni in maniera semplificata? • come realizzare agevolmente dei mashup misti, includendo oggetti fisici e virtuali come servizi online e social network? • come gestire l’elevato grado di eterogeneità dei dati, linguaggi e protocolli? 16Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  19. 19. Il “passato” • Ovviamente furono proposte diverse tecnologie e protocolli: – Jini, UPnP, ... – JXTA – Web services: SOAP, WSDL , ... – Soluzioni basate direttamente su TCP / UDP 17Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  20. 20. parte #1 la nostra “vision” Ph. http://www.flickr.com/photos/salendron/ 18Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  21. 21. “ The Web of Things is more than Things on the Web ” 19Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  22. 22. Vision /1 #1: connettere gli oggetti deve essere semplice - semplici da mettere in rete - semplici da configurare - semplici da gestire Ph. Nigel Marshall, http://www.flickr.com/photos/nige_mar/ 20Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  23. 23. Vision /2 • #2: non solo oggetti fisici ma anche “virtuali” – social network, siti Web, feed, APIs, App, ... 21Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  24. 24. Internet/Web of Things Ph. Mike http://www.flickr.com/photos/zebble 22Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  25. 25. Vision /3 #3: comporre gli oggetti deve essere semplice - mashup misti: interconnettere mondo fisico + mondo Web - meccanismi di trasformazione / filtro dei dati Ph. John Thurm, http://www.flickr.com/photos/thurm 23Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  26. 26. Vision: aspetti Social /1 #4: i social network esistenti sono visti come oggetti (virtuali) - Facebook, Foursquare, Twitter, ... Ph. Nigel Marshall, http://www.flickr.com/photos/nige_mar/ 24Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  27. 27. Vision: aspetti social /2 Ph. Ryan Roberts http://www.flickr.com/photos/ryanr #5: condividere gli oggetti con le altre persone! 25Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  28. 28. 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” definito dagli autori del libro What’s mine is yours* * Whats Mine Is Yours: The Rise of Collaborative Consumption, Rachel Botsman and Roo Rogers . Harperbusiness, http://www.collaborativeconsumption.com/ 26Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  29. 29. Come? • 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 27Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  30. 30. 28Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  31. 31. Il modello: 4 astrazioni di base - Oggetti: - Sensori - Attuatori - ConnessioniPh. Windell Oskay http://www.flickr.com/photos/oskay/265899865/ 29Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  32. 32. 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/ 30Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  33. 33. 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 31Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  34. 34. Connessioni - tra due Oggetti - un Sensore come sorgente - un Attuatore come destinazione - configurabili: - filtering dei dati - trasformazione dei dati Ph. supermaryan http://www.flickr.com/photos/33975256@N06/ 32Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  35. 35. Filtri e trasformazioni: perchè? eterogeneità degli oggetti e dei dati personalizzazione 0xAB12CD ? Il latte è terminato! 12,10,9,H,L 0,1, ON, OFF 33Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  36. 36. Motore di Regole Regole espresse in linguaggio JavaScript definite dagli utenti 34Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  37. 37. In sintesi “ a cloud-based operating system for the Internet of Things ” 35Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  38. 38. (alcuni) Esperimenti http://www.flickr.com/photos/melitron 36Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  39. 39. T light http://youtu.be/6LuutBhG9nU 37Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  40. 40. T light http://youtu.be/6LuutBhG9nU 37Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  41. 41. Ambient Assisted Living http://youtu.be/LqqwyJV1iao 38Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  42. 42. Ambient Assisted Living http://youtu.be/LqqwyJV1iao 38Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  43. 43. Jardimpu - Giardinaggio sociale con Paraimpu, by Alberto Serra (@albeserra) - http://jardimpu.blogspot.it - Monitoring su Twitter: @jardimpu 39Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  44. 44. part #2 Scelte Architetturali e di Design Ph. Jaime Silva, http://www.flickr.com/photos/20792787@N00/ 40Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  45. 45. 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”! 41Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  46. 46. Problemi e stili architetturali Web-based ArchitectureWS-* or REST Web server Load balancing Scalabilità orizzontale problema C10K Database ? Nuovi Sensori/AttuatoriPh. MrFaber, http://www.flickr.com/photos/mrfaber 42Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  47. 47. 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 fisici digitali • Abbiamo scelto REST come stile architetturale » Oggetti, connessioni, dati, utenti, ... , sono risorse REST 43Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  48. 48. 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"} 44Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  49. 49. Database: SQL o NoSQL? • Considerando: • dati molto eterogenei --> flessibilità 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 prefissato, no tabelle, no relazioni • efficienti read-write concorrenti, scalabilità, auto-sharding • formato nativo dei dati in JSON-like (BSON) 45Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  50. 50. 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 46Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  51. 51. Le connessioni • connessioni basate su code di dati • trasformazione dei dati eseguita da processi di sistema 47Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  52. 52. Filtri sui dati • un Filtro è una espressione booleana valutata su un dato proveniente da un sensore –espressa in JavaScript » sensor > 12 » sensor.field == ‘H’ » sensor.data >20 && sensor.type == ‘temp’ » ... 48Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  53. 53. Trasformazione dati: mapping • i Mapping sono coppie di espressioni: (cond, repl) • cond : espressione booleana valutata su dati provenienti da un sensore (come per i filtri) • repl : espressione che produce/trasforma un dato da inoltrare all’ attuatore quando cond è vera 49Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  54. 54. Mapping, esempi Sensor data CONDITION REPLACE Actuator data type type numeric sensor > 30 <% sensor * 3.14 / 100 %> numeric Summer is coming, temperature is: numeric sensor > 25 text <% sensor %> °C Data is <% sensor.data %> JSON sensor.data > 30 text and type is <% sensor.type %> <?xml version="1.0" encoding="UTF-8"?> sensor.A0 > 30 && <value> JSON XML sensor.A5 <= 10 <% sensor.A0 * 100 %> </value> 50Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  55. 55. Principali tecnologie • back-end scritto principalmente in Python • piccola parte in Java • Web stack basato su Tornado Web server • NoSQL DBMS (MongoDB) • HTML + jQuery 51Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  56. 56. • > 600 utenti world-wide • nuovo progetto EU finanziato sulle Smart Cities, basato su Paraimpu: CityScripts http://paraimpu.crs4.it twitter: @paraimpu FB: facebook.com/paraimpu YouTube: youtube.com/paraimpu 52Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  57. 57. Contacts • Antonio Pintus, pintux@crs4.it, Twitter: @apintux • Davide Carboni, dcarboni@crs4.it • Andrea Piras, piras@crs4.it • http://paraimpu.crs4.it/team • LBS group @ CRS4: http://geoweb.crs4.it/ • CRS4 Home Page: http://www.crs4.it 53Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  58. 58. next: DEMO 54Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  59. 59. Q&A GRAZIE! 55Antonio Pintus, Davide Carboni, Andrea Piras http://paraimpu.crs4.it
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×