Upload
angelo-parchitelli
View
236
Download
4
Embed Size (px)
Citation preview
L’ECOSISTEMA GOOGLE A SUPPORTO DEI PROGETTI IOT: DALLA PROTOTIPAZIONE AI DATI IN CLOUD
ANGELO PARCHITELLI
#DEVFESTBARI2016
ABOUT ME
Studente magistrale in Ingegneria Informatica presso il Politecnico di Bari.
Lavoro come ingegnere del software nel comparto R&D di una azienda ICT.
Sono appassionato di tecnologia, innovazione e ricerca in ambito di sicurezza informatica, open data, intelligenza artificiale e sistemi IoT.
@angilopo https://it.linkedin.com/in/angeloparchitelli
http://www.slideshare.net/AngeloParchitellihttps://about.me/angelo.parchitelli
#DEVFESTBARI2016
"QUANDO LA LOGICA WIRELESS SARÀ PERFETTAMENTE APPLICATA, TUTTA LA TERRA SARÀ TRASFORMATA IN UN ENORME CERVELLO,
OVVERO IN CIÒ CHE È IN REALTÀ: TUTTE LE COSE SONO SINGOLE PARTICELLE DI UN UNICO E ARMONICO INSIEME”
NIKOLA TESLA (1926)
#DEVFESTBARI2016
1926: Nikola Tesla, profetizzò la nascita e il progresso tecnologico dei successivi cento anni di storia
1969: ARPANet, rete di computer studiata e realizzata dal DARPA (Dipartimento della Difesa degli Stati Uniti), pensata per scopi militari statunitensi durante la guerra fredda.
1973: Robert Kahn (ARPA) e Vincton Cerf (Stanford University) misero per iscritto la struttura di internet. Sempre nello stesso anno fu istituito il protocollo di trasmissione TCP, standard indispensabile per la comunicazione tra reti di computer.
1989: Nascita del World Wide Web ad opera di Sir Tim Berners-Lee e connessione ad Internet di centomila computer.
Nasce in questi anni Il primo oggetto dell’Internet of Things della storia: un tostapane che si attiva e disattiva via Web.
UN PO’ DI STORIA
Image: CERN
#DEVFESTBARI2016
UN PO’ DI STORIA1998: Larry Page e Sergey Brian, studenti dell’università di Stanford, fondano Google dopo aver sviluppato la teoria secondo cui un motore di ricerca basato sull’analisi matematica delle relazioni tra i siti web avrebbe prodotto risultati migliori rispetto alle tecniche empiriche.
1999 - 2004: il ricercatore Kevin Ashton conia il termine “Internet delle cose”. Si può dire che da quest’anno si comprende il peso che Internet avrebbe avuto. Il temine inoltre viene citato sulle testate giornalistiche americane.
2006-2008: prima European IoT Conference (più di 50 aziende aderenti)
#DEVFESTBARI2016
OGGI13,4 MILIARDI DI DISPOSITIVI CONNESSI - 2015
Fonte: Juniper Research
38,5 MILIARDI - 2020
fonte: www.01net.it
90% DELLE AUTOMOBILI
CONNESSE
173.4 MILIONI DI
DISPOSITIVI INDOSSABILI
#DEVFESTBARI2016
OGGI
http://www.techweekeurope.it/e-enterprise/financial-market/linternet-of-things-e-un-mercato-da-11-mila-milardi-di-dollari-83777
FABBRICHE
SMART CITY
UFFICI
SMART HOME
#DEVFESTBARI2016
Connessione
Lettura
Invio
Elaborazione
Salvataggio
Analisi
IL PROTOTIPO
#DEVFESTBARI2016
ARCHITETTURA DI UN SISTEMA TOT
DEVICE DEVICE DEVICE DEVICE
GATEWAY
Cloud
#DEVFESTBARI2016
CONNECT/READ/SENDArduino
Piattaforma hardware low-cost
Nasce a Ivrea nel 2005
Progetto OpenSource (Open Hardware)
14 PIN digitali programmabili I/O
6 ingressi per l’acquisizione ed elaborazione di segnali analogici.
Il microcontrollore on-board è l’ATmega328 prodotto da Atmel (velocità di 16MHz, una memoria flash da 32KB, una sram da 2KB e una memoria EEPROM da 1KB).
Alimentazione USB
+ Ottima dotazione di sensori
http://www.arduino.cc
UNO MEGA
LEONARDO
YUN
#DEVFESTBARI2016
CONNECT/READ/SENDRaspberryPi
https://www.raspberrypi.org/
Piattaforma di prototipazione 8x5cm con processore e potenza di calcolo
Processore quad-core ARM Cortex-A53 da 1,2 GHz a 64-bit (SoC BCM2837) 1GB RAM
Connettività wireless (Wi-Fi 802.11n) e
Bluetooth 4.1,Ethernet - HDMI - USB
40xGPIO (General Purpose Input/Output)
SO: Ubuntu, Snappy Ubuntu Core,…
PI PI 2 PI3
#DEVFESTBARI2016
CONNECT/READ/SENDIoT Developer PrototypingKit
BeagleBone Green, è una scheda embedded orientata alla prototipizzazione basta su un TI AM3358/9 SoC ARM Cortex-A8 (code ARMv7) e commercializzata dal 2009. È un progetto opensource. Supportata da Texas Intruments.
In vendita dal 09 Dicembre 2016 $99.00
Wi-Fi e Bluetooth Low Energy(BLE)
OpenHardware
PRU real-time co-processor
65 I/O analogici e digitali
https://cloud.google.com/solutions/iot/kit/
#DEVFESTBARI2016
Leggere il dato di temperatura delle board dislocate in un ambiente domestico (scenario SmartHome).
Gestire lo stato e le informazioni dei vari device.
CASO REALE
TELEMETRIA
STATO METADATI
#DEVFESTBARI2016
CASO REALE - ARCHITETTURA
BOARD
HARDWARE
SOFTWARE
+
MESSAGE QUEUE STREAM PROCESSING
DB Stati DB Valori
#DEVFESTBARI2016
CASO REALE - ARCHITETTURA
BOARD
SOFTWARE
MESSAGE QUEUE STREAM PROCESSING
DB Stati DB Valori
RaspberryPi
+
#DEVFESTBARI2016
CASO REALE - ARCHITETTURA
BOARD
+
MESSAGE QUEUE STREAM PROCESSING
DB Stati DB Valori
RaspberryPi
Johnny-Five
#DEVFESTBARI2016
JOHNNY-FIVE http://johnny-five.io
Johnny-Five è il framework di programmazione JavaScript Robotics e IoT.
Rilasciato da Bocoup nel 2012, Johnny-Five è supportata da una community di sviluppatori software/hardware.
#DEVFESTBARI2016
JOHNNY-FIVE http://johnny-five.io
var five = require("johnny-five");
var board = new five.Board();
board.on("ready", function() {
var led = new five.Led(13);
led.blink(500);
});
‣ Schede supportate: Arduino, Tessel 2, BeagleBone, Intel Edison, Particle Photon, RaspberryPi,….
‣ Installare Node
‣ Configurare la scheda propria scheda
‣ npm install johnny-five
https://github.com/rwaldron/johnny-five/wiki/Getting-Started#trouble-shooting
TROUBLE SHOOTING
#DEVFESTBARI2016
ESEMPIO
#DEVFESTBARI2016
CASO REALE - ARCHITETTURA
BOARD
+
MESSAGE QUEUE STREAM PROCESSING
DB Stati DB Valori
RaspberryPi
Johnny-Five
#DEVFESTBARI2016
CASO REALE - ARCHITETTURA
BOARD
+
STREAM PROCESSING
DB Stati DB Valori
RaspberryPi
Johnny-Five
Cloud Pub/Sub
#DEVFESTBARI2016
GOOGLE CLOUD PUB/SUB
MIDDLEWARE ORIENTATO AI MESSAGGI
‣ Alta scalabilità
‣ Invio in modalità Push/Pull
‣ Sicurezza
‣ Message Queue
‣ RESTApi
SISTEMA A CODE DI MESSAGGI
https://cloud.google.com/pubsub/
#DEVFESTBARI2016
CASO REALE - ARCHITETTURA
BOARD
+
STREAM PROCESSING
DB Stati DB Valori
RaspberryPi
Johnny-Five
Cloud Pub/Sub
#DEVFESTBARI2016
CASO REALE - ARCHITETTURA
BOARD
+
STREAM PROCESSING
DB Valori
RaspberryPi
Johnny-Five
Cloud Pub/Sub
#DEVFESTBARI2016
FIREBASEImmagazzina e sincronizza i dati di stato della board in un database NoSQL.
I dati sono sincronizzati orizzontalmente su tutti i client in tempo reale e restano disponibili anche in mancanza di connessione.
Disponibilità di librerie client per integrare Firebase in ogni app: Android, Javascript (Node.js, Angular.js, Ember.js, Backbone.js e molti altri).
API RESTful
Sicurezza: i dati immagazzinati in Firebase sono replicati e sottoposti a backup continuamente.
https://firebase.google.com/
#DEVFESTBARI2016
CASO REALE - ARCHITETTURA
BOARD
+
STREAM PROCESSING
DB Valori
RaspberryPi
Johnny-Five
Cloud Pub/Sub
CASO REALE - ARCHITETTURA
BOARD
+
DB Valori
RaspberryPi
Johnny-Five
Cloud DataflowCloud Pub/Sub
#DEVFESTBARI2016
CLOUD DATAFLOW https://cloud.google.com/dataflow/
Strumento per l'elaborazione di enormi quantità di dati.
Dataflow infatti consente di:
‣ gestire la trasformazione e l'analisi dei dati per l’integrazione o per esaminare uno stream di eventi in tempo reale o per l’estrazione di dati
Nel caso in questione Dataflow fungerà da componente “Observer”
L'OBSERVER È UN PATTERN COMPORTAMENTALE E RAPPRESENTA UNA SOLUZIONE NEI CASI IN CUI È NECESSARIA LA RELAZIONE TRA UN OGGETTO ED UNA SERIE DI ALTRI OGGETTI, CHE REAGISCONO IN CONSEGUENZA, AL CAMBIAMENTO
DI QUESTI DATI.
CASO REALE - ARCHITETTURA
BOARD
+
DB Valori
RaspberryPi
Johnny-Five
Cloud DataflowCloud Pub/Sub
CASO REALE - ARCHITETTURA
BOARD
+
RaspberryPi
Johnny-Five
Cloud Bigtable
Cloud Pub/SubCloud Dataflow
#DEVFESTBARI2016
CLOUD BIGTABLE
Database NoSQL “fully managed” scalabile e dalle prestazioni elevate
‣ Storage di grandi quantità di dati
‣ Analisi statistica
‣ Gestione dei carichi di lavoro
Repository centrale in cui andremo ad immagazzinare tutti i dati di telemetria provenienti dal nostro device.
Facilita l’estrazione dei dati per il plot o l’analisi su grafico
https://cloud.google.com/bigtable/
#DEVFESTBARI2016
DOMANDE?
#DEVFESTBARI2016
RIFERIMENTIMaking sense of IoT data with the Cloud - Google I/O 2016
https://www.youtube.com/watch?v=8PibIlXmd-Q
Arduino
RaspberryPi
Beagle Bone
Google Cloud
https://www.arduino.cc/
https://www.raspberrypi.org/
http://beagleboard.org/bone
https://cloud.google.com/
http://johnny-five.io/ Johnny-Five
#DEVFESTBARI2016
GRAZIE PER L’ATTENZIONE