{"id":4055,"date":"2022-01-21T13:59:00","date_gmt":"2022-01-21T12:59:00","guid":{"rendered":"https:\/\/blog.besharp.it\/?p=4055"},"modified":"2022-01-20T16:44:44","modified_gmt":"2022-01-20T15:44:44","slug":"una-panoramica-completa-delliot-su-aws","status":"publish","type":"post","link":"https:\/\/blog.besharp.it\/it\/una-panoramica-completa-delliot-su-aws\/","title":{"rendered":"Una panoramica completa dell’IoT su AWS"},"content":{"rendered":"\n

Negli ultimi anni abbiamo assistito a una crescita costante della popolarit\u00e0 di dispositivi connessi ad internet, portando alla nascita di ecosistemi IoT (Internet of Things). Tra le applicazioni IoT nel settore industriale o retail troviamo la telemetria, il controllo remoto, l’inventario, i sistemi di monitoraggio biomedico, i dispositivi indossabili per il fitness, i gadget connessi per gli assistenti vocali e molto altro. Tutti questi oggetti devono essere accessibili da Internet per permetterci di monitorarne costantemente lo stato, ricevere notifiche o controllarli a distanza.<\/p>\n\n\n\n

In questo articolo tratteremo l’argomento in modo piuttosto informativo e discorsivo, partendo dalle aree pi\u00f9 generiche fino ai classici problemi che ci si trova ad affrontare sviluppando questo tipo di applicazioni, alla descrizione dei protocolli e, infine, una panoramica dei servizi che AWS offre per la realizzazione di soluzioni IoT.<\/p>\n\n\n\n

Nei capitoli seguenti esamineremo la creazione di un ecosistema IoT, i punti chiave da considerare e quali strumenti possono aiutarci. <\/p>\n\n\n\n

La larghezza di banda e il consumo di dati<\/h2>\n\n\n\n

Supponiamo di voler realizzare una produzione di massa di dispositivi connessi. Dobbiamo considerare che gli utenti potrebbero posizionarli ovunque, la quantit\u00e0 di dati trasferiti potrebbe variare e la comunicazione potrebbe dover essere bidirezionale. Potremmo avere dispositivi collocati in una stanza con accesso a una connessione Internet stabile senza vincoli di larghezza di banda e altri che operano all’aperto collegati tramite una rete mobile. Queste limitazioni ci costringono a scegliere un protocollo leggero ed elastico adatto a varie condizioni di rete e posizionamento dei dispositivi. <\/p>\n\n\n\n

Sicurezza<\/h2>\n\n\n\n

La sicurezza della nostra infrastruttura \u00e8 da considerarsi cruciale: ogni dato inviato dai nostri dispositivi deve essere crittografato sia in transito che a riposo. Anche se il traffico non contiene informazioni sensibili secondo le leggi applicabili, non vogliamo che persone o sistemi non autorizzati scoprano cosa viene inviato o ottengano l’accesso alle informazioni sull’infrastruttura sottostante. Inoltre, i dati a volte possono essere difficili da classificare e le informazioni sensibili potrebbero non essere evidenti all’inizio, pertanto l’approccio pi\u00f9 sicuro consiste nel considerare tutto il traffico e i dati archiviati come delicati, applicando quindi un livello di sicurezza ragionevole a tutti i livelli. Dobbiamo proteggere il tunnel di connessione perch\u00e9 la situazione peggiore che potrebbe verificarsi \u00e8 l\u2019esposizione di backdoor che potrebbero potenzialmente consentire a chiunque l\u2019accesso ai nostri dispositivi. <\/p>\n\n\n\n

La nostra soluzione deve essere scalabile e basata su eventi<\/h2>\n\n\n\n

La tipica applicazione IoT consiste in un insieme di azioni che vengono eseguite lato server quando i client inviano messaggi, inclusa l’elaborazione e l’invio di risposte o comandi\/notifiche ai dispositivi. La frequenza dei messaggi pu\u00f2 variare a seconda dell’applicazione, con picchi di lavoro alternati a periodi di inattivit\u00e0, quindi la nostra architettura deve essere scalabile ed elastica. Nella maggior parte dei casi, il software deve reagire agli eventi. Quando un client notifica un cambio di stato al server, viene creato un nuovo evento e diverse aree dell’applicazione back-end possono agire di conseguenza. Vogliamo inoltre che la nostra architettura si adatti al numero di dispositivi connessi in modo da essere sufficientemente elastica per far fronte a un carico di lavoro crescente. <\/p>\n\n\n\n

L\u2019avvento del protocollo MQTT <\/h1>\n\n\n\n

MQTT sta per Message Queuing Telemetry Transport ed \u00e8 un protocollo di messaggistica creato per soddisfare gli scopi sopra citati. Di solito si appoggia al protocollo TCP\/IP e definisce due tipi di entit\u00e0 di rete: <\/p>\n\n\n\n