34
L’ECOSISTEMA GOOGLE A SUPPORTO DEI PROGETTI IOT: DALLA PROTOTIPAZIONE AI DATI IN CLOUD ANGELO PARCHITELLI

L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

Embed Size (px)

Citation preview

Page 1: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

L’ECOSISTEMA GOOGLE A SUPPORTO DEI PROGETTI IOT: DALLA PROTOTIPAZIONE AI DATI IN CLOUD

ANGELO PARCHITELLI

Page 2: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#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

Page 3: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#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)

Page 4: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#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

Page 5: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#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)

Page 6: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#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

Page 7: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#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

Page 8: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#DEVFESTBARI2016

Connessione

Lettura

Invio

Elaborazione

Salvataggio

Analisi

IL PROTOTIPO

Page 9: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#DEVFESTBARI2016

ARCHITETTURA DI UN SISTEMA TOT

DEVICE DEVICE DEVICE DEVICE

GATEWAY

Cloud

Page 10: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in 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

Page 11: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#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

Page 12: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#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/

Page 13: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#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

Page 14: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#DEVFESTBARI2016

CASO REALE - ARCHITETTURA

BOARD

HARDWARE

SOFTWARE

+

MESSAGE QUEUE STREAM PROCESSING

DB Stati DB Valori

Page 15: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#DEVFESTBARI2016

CASO REALE - ARCHITETTURA

BOARD

SOFTWARE

MESSAGE QUEUE STREAM PROCESSING

DB Stati DB Valori

RaspberryPi

+

Page 16: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#DEVFESTBARI2016

CASO REALE - ARCHITETTURA

BOARD

+

MESSAGE QUEUE STREAM PROCESSING

DB Stati DB Valori

RaspberryPi

Johnny-Five

Page 17: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#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.

Page 18: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#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

Page 19: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#DEVFESTBARI2016

ESEMPIO

Page 20: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#DEVFESTBARI2016

CASO REALE - ARCHITETTURA

BOARD

+

MESSAGE QUEUE STREAM PROCESSING

DB Stati DB Valori

RaspberryPi

Johnny-Five

Page 21: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#DEVFESTBARI2016

CASO REALE - ARCHITETTURA

BOARD

+

STREAM PROCESSING

DB Stati DB Valori

RaspberryPi

Johnny-Five

Cloud Pub/Sub

Page 22: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#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/

Page 23: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#DEVFESTBARI2016

CASO REALE - ARCHITETTURA

BOARD

+

STREAM PROCESSING

DB Stati DB Valori

RaspberryPi

Johnny-Five

Cloud Pub/Sub

Page 24: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#DEVFESTBARI2016

CASO REALE - ARCHITETTURA

BOARD

+

STREAM PROCESSING

DB Valori

RaspberryPi

Johnny-Five

Cloud Pub/Sub

Page 25: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#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/

Page 26: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#DEVFESTBARI2016

CASO REALE - ARCHITETTURA

BOARD

+

STREAM PROCESSING

DB Valori

RaspberryPi

Johnny-Five

Cloud Pub/Sub

Page 27: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

CASO REALE - ARCHITETTURA

BOARD

+

DB Valori

RaspberryPi

Johnny-Five

Cloud DataflowCloud Pub/Sub

Page 28: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#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.

Page 29: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

CASO REALE - ARCHITETTURA

BOARD

+

DB Valori

RaspberryPi

Johnny-Five

Cloud DataflowCloud Pub/Sub

Page 30: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

CASO REALE - ARCHITETTURA

BOARD

+

RaspberryPi

Johnny-Five

Cloud Bigtable

Cloud Pub/SubCloud Dataflow

Page 31: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#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/

Page 32: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#DEVFESTBARI2016

DOMANDE?

Page 33: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#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

Page 34: L'ecosistema Google a supporto dei progetti IoT: dalla prototipazione ai dati in Cloud

#DEVFESTBARI2016

GRAZIE PER L’ATTENZIONE