Uno degli elementi fondamenti delle architetture IoT è il network, cioè la componente che permette il trasferimento dei dati dai sensori all’unità di calcolo locale per la manipolazione e storicizzazione dei dati. L’architettura originaria di internet è stata creata quando non era possibile prevedere l’esigenza di mettere in comunicazione un vastissimo numero di dispositivi come elettrodomestici, sensori ed oggetti si svariato tipo.
L’esponenziale diffusione sul mercato, specialmente negli ultimi anni, di queste tipologie di dispositivi, rischia di mettere in difficoltà l’attuale struttura di internet. Dall’esigenza di connettere in rete tutti questi dispositivi nasce la necessità di rivoluzionare l’architettura di internet. I protocolli fondamentali di internet, come ad esempio TCP/IP si basano su connessioni generalmente affidabili tra mittente e destinatario.
Interntet e mondo IoT --> immagine da rivedere
Nel mondo dell’IoT il concetto è diverso, l’idea base è quella di una informazione che viene inoltrata nella rete e, successivamente, ogni macchina connessa coglie esclusivamente l’informazione di cui ha bisogno. Fondamentale sottolineare che la differenza tra le due reti, oltre ad essere l’approccio, sono proprio le macchine che la sfruttano.
Oggi in internet navigano macchine dotate di memoria e ampia potenza di calcolo, nell’IoT vi è una situazione completamente opposta: i dispositivi che fanno parte di questa rete dovranno essere dotati di minor potenza di calcolo, dispendio energetico e risorse, possibili. Le motivazioni principali sono due, la prima è che ci potrebbe essere un dispendio energetico eccessivo e in secondo luogo il costo di ogni dispositivo aumenterebbe di parecchio. Questi motivi portano ad essere inadatti per IoT i protocolli già pronti e funzionanti, come il TCP/IP. Questa scelta non è sempre semplice ed immediata e spesso non esiste un approccio univoco. La decisione dipende anche dalle esigenze degli utenti finali e specialmente dalle dimensioni della rete. Ad esempio, nel contesto di una rete domestica intelligente, denominata BAN, le reti personali e le reti locali (LAN) sono le più utilizzate dato che si tratta di aree relativamente ristrette.
Una prima classificazione possibile è certamente sul tipo ti tecnologia utilizzata. Una prima distinzione possibile è quella che suddivide le tecnologie wired e wireless.
Sono chiamate connessione wired tutte quelle connessioni cablate, ovvero quelle comunicazioni che sfruttano un mezzo trasmissivo, come cavi di rame o la fibra ottica (una delle tecnologie più recenti), per la comunicazione. Sicuramente tutti conosciamo l'ampiamente utilizzato protocollo di comunicazione wired Ethernet.
Una rete wired presenta, come quasi tutto, dei punti di debolazza e dei punti di forza. Tra i punti di forza principali troviamo certamente la sicurezza: avendo connessioni cablate è possibile "rubare" informazione soltanto tranciando fisicamente i cavi di connessione. Evita anche attacchi informatici come il Man in the Middle o lo sniffing dove vengono intercettati i dati trasmessi da una rete wireless non protetta. Tramite i collegamenti cablati è possibile ottenere reti che collegano dispositivi a distanze elevate, altamente affidabili e con bit-rate elevati.
Non è tutto oro quel che luccica! Purtroppo, come suddetto, la tecnologia wired presenta anche delle limitazioni che spesso la rendono poco adatta agli scopi, infatti la presenza di collegamenti cablati comporta una mobilità ridotta, tempi di collegamento maggiori durante l'aggiunta di nuovi dispositivi e ovviamente comporta un aumento dei costi legati ai cavi fisici necessari per il collegamento.
La comunicazione wireless è caratterizzata dall'assenza di mezzi trasmissivi. Tuttavia vengono ampiamente utilizzate onde radio (basse frequenze) per consentire lo scambio di dati.
Così come per il wired, il wireless presenta sia importanti punti di forza, sia alcuni limiti da considerare specialmente in fase di progettazione. Un punto di forza è sicuramente la mobilità dei dispositivi connessi in rete: l'assenza di cavi consente un movimento libero purché all'interno dell'area di copertura della rete. Diventa così molto più semplice aggiungere nuovi dispositivi, rispettando a pieno il principio di espandibilità di un sistema, rendendolo altamente flessibile e adattabile. L'assenza di mezzi trasmissivi, oltre a quanto suddetto, comporta una legittima diminuzione dei costi.
I punti di debolezza sono principalmente due. In primis una diminuzione della sicurezza della rete, poiché le comunicazioni wireless sono soggette a più attacchi informatici, come i già citati Man in the Middle e lo sniffing di dati. L'altro limite può essere la distanza di trasmissione. Quando vi è molta distanza tra i dispositivi che devono comunicare occorre ampliare la rete con uno o più ripetitori.
Wired o Wireless? Quale tecnologia e quale protocollo di comunicazione utilizzare? Sorgono questo tipo di domande in fase progettuale e possiamo già affermare che non c'è una risposta unica e esatta. La scelta dipende dal contesto, dalle budget economico a disposizione e alcuni aspetti legati alla natura stessa del contesto.
Buona pratica di progettazione è quella di considerare determinati aspetti:
Throughput: nel contesto delle rete di calcolatori rappresenta la capacità effettiva di trasmissione necessaria per un corretto funzionamento. È necessario analizzare e valutare la quantità di dati trasmessi da ogni dispositivo connesso in rete.
Distanza fisica: è molto importante in questa fase tenere in considerazione la distanza massima che può intercorrere tra due dispositivi che devono scambiare dati. Questo risulta essere un aspetto cruciale durante per determinare il protocollo di comunicazione e la tecnologia utilizzata.
Tipo di alimentazione e consumo energetico: i disposivi IoT possono essere collegati alla rete elettrica (tipico caso di un contesto domestico) oppure alimentati tramite una batteria. Risulta di fondamentale importanza considerare aspetti legati al consumo energetico per consentire ai disposiviti elettronici una sufficiente autonomia. Sicuramente è bene scegliere, a parità di vantaggi offerti, virare verso soluzioni a risparmio energetico e consumi ridotti.
Fattibilità: esiste già una struttura fisica che consente la comunicazione tramite cavi cablati? Facile montaggio? Sono già presenti cavi fisici o canalette che consentono una rapida installazione?
Publish/Subscribe, spesso detto Pub/Sub, rappresenta un tipo di architettura di comunicazione asincrona. Permette di superare i limiti descritti in precedenza del protocollo di comunicazione TCP/IP, dove la comunicazione è affidabile e gli attori coinvolti sono un mittente e un destinatario.
Nel modello Publish/Subscribe gli attori coinvolti sono tre:
Publisher: il mittente del messaggio
Subscribe: il destinatario di un messaggio
Message broker: gestisce tutti i messaggi ricevuti da e trasmessi verso gli oggetti IoT
La logica di funzionamento è veramente molto semplice. Il publisher invia/pubblica i dati su un topic. Il topic sostanzialmente un canale di collegamento che consente la comunicazione fra le varie entità ed è determinato univocamente dal nome che lo caratterizza. Una volta che il publisher ha inviato il dato verso il Message Broker, sarà compito di quest'ultimo indirizzare il messaggio a tutti i destinatari. Ottenere questo è molto semplice. Tutti i possibili destinatari (subscriber) che intendono ricevere un dato, devono sottoscriversi a quel particolare topic. Sarà compito del Message Broker far giungere il dato a destinazione.
Ok, facciamo un esempio. Supponiamo di avere 3 dispositivi IoT, ovvero un ventilatore, un condizionatore e tapparelle intelligenti, ai quali serve l'informazione sulla temperatura e l'umidità di un ambiente interno. Ovviamente è presente nell'ambiente un dispostivo IoT capace di effetuare le misurazioni necessarie e condividerle in rete. Supponiamo anche di utilizzare due topic, uno per il dato sulla temperatura di nome topic_temperatura e uno per l'umidità denominato topic_umidità. I messaggi pubblicati in questi topic saranno inviati dal Message Broker come messaggi ad ogni singolo client in ascolto (sottoscritto) su quel topic.L'immagine successiva rappresenta molto bene lo scenario.
!!!!!!!!!! IMMAGINE DA FARE !!!!!!!!!!!!!
Uno dei protocolli più utilizzati nel monto IoT è senza dubbio il protocollo MQTT. Segui questa fantastica guida e scopri tutte le fantastiche novita del Protocollo MQTT .