D: Cos'è AWS IoT?
AWS IoT è una piattaforma cloud gestita che consente a dispositivi connessi di interagire in modo semplice e sicuro con applicazioni nel cloud e altri dispositivi. AWS IoT è in grado di supportare miliardi di dispositivi e migliaia di miliardi di messaggi, ed è in grado di elaborare e instradare tali messaggi agli endpoint di AWS e ad altri dispositivi in modo sicuro e affidabile. Con AWS IoT, le applicazioni rimangono collegate e comunicano con tutti i dispositivi, in qualsiasi momento, anche quando non sono collegati. AWS IoT semplifica l'utilizzo di servizi AWS quali AWS Lambda, Amazon Kinesis, Amazon S3, Amazon Machine Learning, Amazon DynamoDB, Amazon CloudWatch, AWS CloudTrail e Amazon Elasticsearch Service con Kibana integrato, consentendo di creare applicazioni IoT che raccolgono, elaborano, analizzano e operano sui dati generati dai dispositivi connessi, senza dover gestire alcuna infrastruttura.
D: Cosa offre AWS IoT?
Connettività tra i dispositivi e il cloud AWS. Innanzitutto, con AWS IoT puoi comunicare con i dispositivi connessi in modo sicuro, con una bassa latenza e con un basso overhead. La comunicazione si può scalare a tutti i dispositivi che desideri. Il servizio AWS IoT supporta i protocolli di comunicazione standard (attualmente sono supportati HTTP, MQTT e WebSockets). La comunicazione è protetta tramite TLS.
Elaborazione dei dati inviati dai dispositivi connessi. In secondo luogo, con AWS IoT si possono continuamente introdurre, filtrare, trasformare e inoltrare i dati provenienti dai dispositivi connessi. Puoi svolgere azioni in base ai dati e inviarli a ulteriore elaborazione e analisi.
Interazione delle applicazioni con i dispositivi connessi. Infine, il servizio AWS IoT accelera lo sviluppo delle applicazioni IoT. Funge da intuitiva interfaccia per le applicazioni in esecuzione nel cloud e sui dispositivi mobili, per accedere ai dati inviati da dispositivi connessi e re-inviare dati e comandi ai dispositivi.
D: Come funziona AWS IoT?
I dispositivi connessi, come sensori, attuatori, dispositivi integrati, elettrodomestici intelligenti e dispositivi indossabili, si connettono a AWS IoT tramite HTTPS, WebSockets o MQTT protetto. In AWS IoT è incluso un gateway dei dispositivi che consente la comunicazione bidirezionale sicura, a bassa latenza e basso overhead tra i dispositivi connessi, il tuo cloud e le tue applicazioni mobili.
Il servizio AWS IoT contiene anche un motore di regole che consente l'elaborazione continua dei dati inviati dai dispositivi connessi. Puoi configurare le regole per filtrare e trasformare i dati. Puoi inoltre configurare le regole per inoltrare i dati ad altri servizi AWS come DynamoDB, Kinesis, Lambda, SNS e SQS, CloudWatch, servizi Elasticsearch con integrazione Kibana nonché ai servizi non AWS, tramite Lambda, per ulteriore elaborazione, archiviazione o analisi. È disponibile anche un registro dei dispositivi in cui puoi registrare e seguire i dispositivi connessi ad AWS IoT o dispositivi i che potrebbero essere connessi in futuro. Le shadow dei dispositivi nel servizio AWS IoT consentono al cloud e alle applicazioni mobili di interrogare i dati inviati dai dispositivi e di inviare comandi ai dispositivi, utilizzando una semplice API REST, lasciando che AWS IoT gestisca la comunicazione sottostante con i dispositivi. Le shadow accelerano lo sviluppo delle applicazioni, fornendo un'interfaccia uniforme per i dispositivi, anche quando utilizzano uno dei numerosi protocolli di comunicazione e di sicurezza IoT con cui le applicazioni potrebbero non essere compatibili. Le shadow accelerano anche lo sviluppo delle applicazioni, fornendo un'interfaccia sempre disponibile per i dispositivi, anche quando i dispositivi connessi sono vincolati da connettività instabile, larghezza di banda, scarsa capacità di elaborazione o potenza.
La comunicazione con AWS IoT è protetta. Il servizio richiede a tutti i suoi client (dispositivi connessi, applicazioni server, applicazioni mobili o utenti umani) di utilizzare un'autenticazione efficace (certificati X.509, credenziali AWS IAM o autenticazione di terzi tramite AWS Cognito). Tutte le comunicazioni sono crittografate. AWS IoT offre anche l'autorizzazione granulare per isolare e proteggere le comunicazioni tra i client autenticati.
Come in altri servizi di AWS, gli utenti possono accedere a AWS IoT tramite la Console di gestione AWS e la linea di comando. Le applicazioni possono accedere facilmente a AWS IoT con gli SDK di AWS disponibili per diversi linguaggi di programmazione. AWS IoT semplifica ulteriormente lo sviluppo e il controllo delle applicazioni IoT, grazie all'integrazione con Amazon CloudWatch.
Questo tutorial utilizza uno script Python, creato con l'SDK AWS IoT per Python, per simulare i dispositivi.
D: In quali regioni AWS è disponibile il servizio AWS IoT?
AWS IoT è attualmente disponibile nelle regioni AWS seguenti, che di conseguenza sono le sole che supportano questo servizio:
• Stati Uniti orientali (Virginia settentrionale) • Stati Uniti occidentali (Oregon) • UE (Irlanda) • UE (Francoforte) • Asia Pacifico (Sydney) • Asia Pacifico (Seoul) • Asia Pacifico (Tokyo) • Asia Pacifico (Singapore)
È possibile utilizzare AWS IoT indipendentemente dalla posizione geografica, purché si abbia accesso a una delle regioni AWS citate.
D: Quali protocolli di comunicazione e autenticazione supporta AWS IoT?
Per le operazioni sul piano del controllo, AWS IoT supporta il protocollo HTTPS. Per le operazioni sul piano dei dati, AWS IoT supporta i protocolli HTTPS, WebSockets e MQTT protetto, un protocollo usato spesso negli ambienti IoT. Le richieste inviate tramite HTTPS e WebSockets a AWS IoT vengono autenticate utilizzando AWS IAM o AWS Cognito, che supportano entrambi l'autenticazione AWS SigV4. Se utilizzi le SDK di AWS o la riga di comando di AWS, l'autenticazione SigV4 viene eseguita automaticamente. Le richieste HTTPS possono essere autenticate utilizzando i certificati X.509. I messaggi MQTT per AWS IoT vengono autenticati con i certificati X.509.
Con AWS IoT puoi impiegare sia i certificati generati dal servizio stesso sia quelli firmati dalle autorità di certificazione preferenziali.
D: I dispositivi non connessi direttamente a Internet possono accedere a AWS IoT?
Sì, attraverso un hub fisico. I dispositivi connessi a una rete IP privata e quelli che utilizzano protocolli radio non-IP come ZigBee o Bluetooth LE possono accedere a AWS IoT se dispongono di un hub fisico che agisce come intermediario tra loro e AWS IoT per la comunicazione e la sicurezza.
Nella nostra guida di implementazione, distribuiremo un'istanza EC2 che svolgerà una funzione centralizzante. Uno script Python simula le cose collegate mediante questo punto centrale.
D: Quanto costano le risorse AWS nella mia applicazione IoT?
Tutte le risorse create in questo tutorial utilizzano servizi idonei al Piano gratuito di AWS, il che significa che non ti verrà addebitato alcun costo, a meno che tu non abbia già utilizzato la tua quota di piano gratuito disponibile. Se esegui già un'istanza Linux t2.micro (e quindi stai già utilizzando la tua quota di piano gratuito per EC2), la tariffa oraria sarà di 0,013 USD se utilizzi la regione Stati Uniti orientali 1 o Stati Uniti occidentali 2. Per completare questo tutorial si impiega circa un'ora.