Colleghiamo facilmente tutti i dispositivi con AWS IoT

AWS IoT fornisce una sicura comunicazione bidirezionale tra dispositivi collegati in Internet (come, ad esempio, sensori, attuatori, embedded e dispositivi intelligenti) e i cloud AWS. Questo consente di raccogliere ed analizzare dati provenienti da più punti. Si possono anche creare applicazioni che consentono agli utenti di controllare i dispositivi dai propri telefoni o tablet.

Introduzione

Si tratta, dunque, di una piattaforma cloud che consente a dispositivi connessi di interagire tra loro in modo semplice e sicuro con applicazioni nel cloud e altri dispositivi. AWS IoT è in grado di reggere miliardi di dispositivi e migliaia di miliardi di messaggi, garantendo alta sicurezza ed affidabilità. Semplifica l'utilizzo dei seguenti servizi AWS:

  • AWS Lambda;
  • Amazon Kinesis;
  • Amazon S3;
  • Amazon Machine Learning;
  • Amazon DynamoDB;
  • Amazon CloudWatch;
  • AWS CloudTrail;
  • Amazon Elasticsearch Service con Kibana integrato;
  • ed altri.

E', quindi, possibile creare applicazioni IoT che ricevono, elaborano e analizzano i dati generati dai dispositivi connessi.

Come funziona l'AWS IoT

Come detto prima, la piattaforma abilita "le cose" alla connessione con i cloud AWS. Gli oggetti producono dei messaggi in formato JSON su topics MQTT. Ogni topic MQTT ha un nome gerarchico che identifica l'oggetto assieme al suo stato. Quindi, i messaggi vengono spediti al "broker". Essi sono protetti grazie all'utilizzo del certificato di sicurezza X.509. La figura 1 mostra il diagramma completo del funzionamento dell'AWS IoT.
Figura 1: Come funziona l'AWS IoT.

Figura 1: Come funziona l'AWS IoT.

Accedere all'AWS IoT

A grandi linee, queste sono le interfacce adatte per la creazione e per l'interazione con le proprie "cose":
  • AWS Command Line Interface (AWS CLI): inviando comandi è possibile comandare gli oggetti, con estrema sicurezza;
  • AWS IoT API: Con le API IoT si possono creare applicazioni HTTP e HTTPS al fine di gestire gli oggetti;
  • AWS SDKs: Con l'SDK è possibile utilizzare qualsiasi linguaggio di programmazione sopportato;
  • AWS IoT Device SDKs: Si possono creare applicazioni che girano sui propri dispositivi.

 

Colleghiamo la piattaforma AWS IoT al Raspberry Pi

Per il collegamento di AWS Iot al Raspberry occorre un accesso ad Internet e il browser Chrome o Firefox (Iceweasel). Quindi:

  • Avviare il Raspberry e confermare la connessione ad Internet;
  • Accedere all'AWS Management Console con le proprie credenziali ed aprire la console AWS IoT all'indirizzo https://aws.amazon.com/iot.
  • Premere il pulsante "Get started" sulla pagina di benvenuto;
  • Selezionare le scelte "Registry" e poi "Things";
  • Registrare o creare un oggetto.

Per questa ultima operazione:

  • Attribuire un nome all'oggetto e crearlo;
  • Sulla pagina "Details" scegliere la voce "Interact";
  • Prendere nota del "REST API endpoint", servirà successivamente;
  • Creare un certificato X.509;
  • Creare la cartella di lavoro con il nome di "deviceSDK", scaricare quindi la chiave pubblica e privata e il certificato. Attivare il certificato e scegliere "Attach a policy";
  • Creare una nuova "policy", specificandone un nome, poi nel campo "Action" digitare "iot:*". Nel campo "Resource ARN" digitare "*". Abilitare il checkbox "Allow";
  • Premere il pulsante "Create";
  • Nel pannello di navigazione sinistro, sotto la voce "Security" scegliere "Certificates";
  • Fare click su "..." per aprire il menù a discesa, e scegliere "Attach policy";
  • Selezionare la policy creata;
  • Quindi cliccare su "..." per aprire il menù e scegliere "Attach thing";
  • Infine nella finestra che appare selezionare il checkbox che rappresenta il proprio Raspberry Pi e premere il bottone "Attach".

Il Pulsante AWS IoT

Si tratta di un pulsante programmabile, interamente basato sull'hardware di Amazon Dash Button. E' un dispositivo Wi-Fi, molto semplice da configurare. La sua finalità è quella di consentire agli sviluppatori di iniziare a usare AWS IoT, AWS Lambda, Amazon DynamoDB, Amazon SNS e molti altri servizi di Amazon Web Services senza dover scrivere del codice specifico. In figura 2 si può osservare il pulsante in questione.
Figura 2: Il Pulsante AWS IoT.

Figura 2: Il Pulsante AWS IoT.

Per l'uso del pulsante basta utilizzare il cloud. Si può adibire al conteggio di oggetti. Alcune applicazioni di esempio: si può premere il pulsante per avviare un'automobile o una moto, per aprire la porta di casa, chiamare un numero di emergenza, per monitorare l'utilizzo di medicine o per controllare da remoto gli elettrodomestici di casa. Con tale pulsante si può attivare anche una lampadina Hue di Philips, oppure si può utilizzare ordinare una pizza da casa. E' possibile integrarlo con le API di terze parti, ad esempio Twitter, Facebook, Twilio, Slack. Solo la fantasia detta i limiti per questo strumento.

Funzionamento del pulsante

Il primo passo da compiere è quello di collegare il pulsante AWS IoT alla rete Wi-Fi e, tramite un certificato AWS IoT e una chiave privata, esso sarà collegato ad AWS IoT (vedi figura 3). La sua pressione causa la pubblicazione di un messaggio su un determinato argomento. Il motore di regole di AWS IoT imposta una regola e configura l'attivazione tramite singolo o doppio clic oppure una pressione prolungata. Si può personalizzare il codice in Node.js, in Python o in Java.
Figura 3: logica del pulsante AWS IoT.

Figura 3: logica del pulsante AWS IoT.

Si tratta, come si può intuire, di un campo estremamente aperto e tutto da esplorare e da provare. Invitiamo i lettori a documentarsi sempre di più e di venire in possesso di questi straordinari strumenti che padroneggeranno nell'immediato futuro.

 

 

 

5 Commenti

  1. Giovanni Di Maria Giovanni Di Maria 10 aprile 2017
  2. Maurizio Di Paolo Emilio Maurizio Di Paolo Emilio 11 aprile 2017
  3. PversusNP 20 aprile 2017

Scrivi un commento

ESPertino è la nuova scheda per IoT compatibile ARDUINO.
Scopri come averla GRATIS!