Internet delle cose in cloud con gli Amazon Web Services
da Massimo Della Rovere · pubblicato il 31 luglio, 2017 · modificato il 7 agosto, 2017

Internet of Things (IoT) è un termine coniato da Kevin Ashton, che lavorando nel settore della radiofrequenza ideò un sistema di sensori che collegavano il mondo fisico a quello internet. Ed è proprio questo l’obiettivo di IoT, creare un collegamento diretto tra il mondo fisico e gli oggetti che lo circondano con quello digitale.

Progetto IoT

Per creare un progetto di IoT dobbiamo gestire diversi aspetti tecnici, i quali possono anche cambiare in base al tipo di applicazione che necessitiamo, ma in ogni caso i più importanti e quelli che saranno sempre presenti sono i seguenti:

Devices: dobbiamo avere dei componenti hardware che raccolgano i dati nell’ambiente fisico, come ad esempio un termometro, un sensore ad infrarosso, un frigorifero, un televisore, un pulsante e migliaia di altre cose, sicuramente non mancheranno idee a riguardo. Amazon per mettere in grado gli sviluppatori di sperimentare velocemente questo aspetto mette a disposizione il Pulsante AWS IoT.

Software del device: se si inizia da un componente hardware personalizzato bisognerà sviluppare un software a riguardo, il mercato mette a disposizione diverse soluzioni a riguardo, molte sono giovani altre già consolidate, come ad esempio Arduino, etc. In ogni caso anche qui Amazon mette a disposizione un framework chiamato AWS Greengrass per facilitare gli sviluppatori a collegarsi al cloud in modo semplice e veloce.

Connessione: il device e quindi il software in esso contenuto dovrà in qualche modo collegarsi ad internet, al momento le possibilità possono essere tramite cavo di rete o cosa più semplice e più economica tramite una connessione WI-FI. Con i device IoT si apre anche lo scenario di IPV6, infatti quando questo mondo prenderà piede il numero di device potrebbe essere cosi alto da mettere in difficoltà l’attuale indirizzamento IPV4, per questo motivo conviene abituarsi da subito ad utilizzare IPV6 sui propri device.

Server: una volta che il device ottiene una connessione internet e si trova nella necessità di inviare uno stato, una informazione di cambio evento o qualsiasi altra informazione, dovrà comunicare con un server presente in internet. Amazon AWS mette a disposizione diverse soluzioni a riguardo, possiamo configurare delle risorse virtuali come il servizio EC2, dei contenitori docker o cosa ancora più semplice usare delle soluzioni serverless.

Software backend: con qualsiasi soluzione server che verrà scelta bisognerà sviluppare un determinato software che riceva la comunicazione dal device e crei un evento come la memorizzazione su database, la creazione di un’allarme, etc. Se usate un server o un contenitore potete usare qualsiasi linguaggio di programmazione, se invece preferite una soluzione serverless dovete attenervi ai linguaggi supportati, al momento sono Node.js, Java, C#, Python ma ne verranno aggiunti sicuramente altri.

Piattaforma AWS IoT

Tra le funzioni di un device, la sua connessione e la comunicazione con l’applicazione di backend ci possono essere diverse problematiche da risolvere. Ad esempio la sicurezza, come la gestione dei certificati e delle chiavi di connessione, un inventario immediato di tutti i device configurati,  una banda internet adeguata alla comunicazione di migliaia o anche milioni di dati contemporanei, etc etc. In questo scenario ci viene in aiuto il servizio di Amazon chiamato AWS IoT. Tramite questo servizio potremmo eseguire decine di operazioni senza preoccuparsi minimamente della infrastruttura hardware necessaria.

Come avete potuto vedere, i servizi e le soluzioni messe a disposizione sono diverse e non è possibile riassumerle tutte in un singolo articolo, rischieremo di fare un articolo troppo lungo che andrebbe ad annoiarvi, quindi l’idea è quella di fare tre articoli separati, questo è il primo che introduce il servizio, nel secondo vediamo il funzionamento del bottone IoT messo a disposizione da Amazon e configurando l’esempio da loro riportato e nel terzo ci inventeremo un’applicazione completamente nuova da sviluppare insieme.

Articoli correlati

Guida completa su AWS

Questo articolo appartiene ad una serie di pubblicazioni che costituiscono una guida completa dedicata agli Amazon Web Services. Molti servizi che trattiamo in questo blog vengono anche spiegati con dei video che trovate nel nostro canale youtube. Se volete seguire questo percorso didattico iscrivetevi alla community Cloud AWS.

1 Commento

  1. Lo scenario aperto da IOT è una grande opportunità per tutti gli sviluppatori. L'aspetto che mi piace di più è che non devi impazzire sugli aspetti grafici che vanno oltre la funzione del programmatore, ma bisogna concentrarsi sulle elaborazioni di backend e sulla creazione di codice per algoritmi. In poche parole possiamo ritornare ad essere programmatori di codice puro e non perdere tempo con colori, animazioni, gesture e migliaia di cose che ho sempre ritenuto su molti aspetti inutili e poco motivanti.

condividi