Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Internet of Things & Paraimpu

1,809 views

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
  • Be the first to comment

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

×