Dialogo tra oggetti. Un protocollo di comunicazione per ogni esigenza
Cosa sono i protocolli di comunicazione? Nello scorso articolo abbiamo trattato il tema della connessione in rete di oggetti e l’articolo veniva chiuso con un accenno alla necessità di utilizzare un protocollo di comunicazione adeguato per far interagire tra loro e con l’ambiente esterno i dispositivi smart.
Un protocollo di comunicazione è un insieme di regole formalmente descritte che definiscono le modalità di comunicazione tra due o più entità
Vediamo nel dettaglio i protocolli più utilizzati in ambito IoT.
Protocollo di comunicazione applicativo
CoAP
Si tratta di un modello di protocollo RESTful: i server rendono disponibili le risorse sotto un URL, e i clients accedono a queste risorse utilizzando metodi come GET, PUT, POST e DELETE.
Anche se molto simile a HTTP presenta una differenza sostanziale: CoAP utilizza un protocollo UDP come livello di trasporto.
Inoltre, è ideale per soddisfare i requisiti dei dispositivi alimentati a batteria con risorse CPU e RAM limitate.
VANTAGGI
- Adatto a microcontrollori con un minimo di 10 KB di RAM e 100 KB di spazio di codice
- Requisiti di potenza ridotti in quanto opera su UDP
- Comunicazione veloce
SVANTAGGI
- Problemi di affidabilità dovuti all’utilizzo di UDP
- Esistono diversi standard CoAP in evoluzione
MQTT
Protocollo di comunicazione nato nel 1999 con l’obiettivo di gestire le comunicazioni tra macchine in maniera estremamente efficiente.
Adatto a tutti gli ambiti in cui le risorse disponibili e la larghezza di banda della rete sono limitate; oppure in caso di dispositivi con poca memoria o bassa capacità di calcolo.
Utilizza un livello di trasporto TCP e segue un paradigma di pubblicazione e sottoscrizione classico, “publish and subscribe”, ossia asincrono; inoltre, i messaggi vengono scambiati tramite apposito Broker, un software che si occupa di ricevere i messaggi dai produttori degli stessi e renderli disponibili verso gli utilizzatori (consegna quindi il messaggio solo ai topics sottoscritti dal ricevente).
AMQP
Nato nel 2003, AMQP si concentra sulla trasmissione di messaggi commerciali tra applicazioni o organizzazioni, supporta anche il protocollo di comunicazione publish/subscribe e utilizza un livello di trasporto TCP. Ha inoltre implementato la Quality of Service (QoS), garantendo il passaggio sicuro di dati importanti.
VANTAGGI
- Utilizza un meccanismo di publish/subscribe della condivisione dei dati
- Garantisce l’interoperabilità
- Ha spazio per evolvere in base a diversi standard
SVANTAGGI
- Non viene supportata la compatibilità con le versioni precedenti
- Non è semplice come HTTP 1.0 o 1.1 o altri protocolli di cablaggio
Protocollo di comunicazione di campo
Per quanto riguarda i protocolli di comunicazione di campo possiamo suddividerli in due macrocategorie:
- protocolli wired
- protocolli wireless
Per entrambe le tipologie di network possiamo identificare vantaggi e criticità:
Wired: Modbus TCP, BACnet, KNX
VANTAGGI
- Sicurezza – Manomissioni e intromissioni difficili e rare
- Distanza – Trasmissioni a distanze elevate e non compromesse da nessun ostacolo/interferenza
- Semplicità – È necessario solo la connessione del cavo
- Affidabilità – Trasmissione solida e costante nel tempo
- Velocità – Nettamente superiore alle reti wireless
CRITICITÀ
- Mobilità – Spostare un dispositivo cablato comporta modifiche anche al cavo
- Espansione – L’estensione della copertura del network non è immediata
- Costo – Più costoso rispetto alla rete wireless
- Complessità – L’installazione richiede l’intervento di personale specializzato
- Potenza – Poiché una rete wired necessita di una fonte di energia per funzionare, un calo di tensione potrebbe interrompere il suo funzionamento
Wireless: Bluetooth, Zigbee, Thread
VANTAGGI
- Mobilità – L’assenza di cavi permette di modificare facilmente la posizione fisica dei device senza perdere la connessione
- Scalabilità – Aggiungere o togliere dispositivi dal network con relativa facilità (l’unico limite è il max di dispositivi connessi)
- Costi ridotti – Nella maggior parte dei casi non è richiesto l’intervento di personale specializzato per l’installazione
CRITICITÀ
- Sicurezza – Dati in transito più soggetti a intercettazioni ed eventuali decrittazioni
- Interferenze – Comunicazioni soggette a interferenze provenienti dall’esterno
- Copertura – Copertura del network ridotta in caso di ostacoli (muri, mobili, ecc…)
- Velocità – Inferiore rispetto alle reti wired
In ambito Internet of Things i protocolli di campo più utilizzati sono i seguenti:
Zigbee, il protocollo di comunicazione per applicazioni embedded
È uno standard a basso consumo e basso costo pensato per dispositivi alimentati a batteria e progettato per la domotica e più in generale per l’Internet of Things.
Si compone di 3 diversi dispositivi:
- Coordinator; il responsabile della gestione e memorizzazione dei messaggi
- Router; trasmette le informazioni da un dispositivo all’altro
- End Device; unità alimentate a batteria che raccolgono e riportano i dati
Thread
È una tecnologia aperta basata su IPv6, royalty-free, sicura e adatta ai prodotti IoT a bassa potenza. Tutte le caratteristiche sono orientate per la sua applicazione nella domotica: utilizza 6LoWPAN nel livello di collegamento dati, che a sua volta utilizza IEEE 802.15.4 nel livello fisico.
Thread Group, l’organizzazione che ha creato il protocollo di campo nel 2014, ha dichiarato che Thread possiede, tra le altre, queste importanti funzionalità:
- Semplice da usare
- Sicuro
- Supporta IPv6 in modo nativo
LoRa, un protocollo di comunicazione per trasmissioni a lungo raggio
Rende possibile la comunicazione a lunga distanza, oltre 10 km, per i dispositivi a batteria utilizzando bande di frequenza a bassa energia, sub-gigahertz, senza licenza come 169 Mhz, 433 Mhz, 868 Mhz e 915 Mhz.
La tecnologia LoRa è composta da 2 parti:
- Livello fisico; un protocollo proprietario e chiuso
- LoRaWAN; protocollo che gestisce la comunicazione tra gateway Low-Power Wide-Area Network e dispositivi end-node.
Il futuro della smart home: Matter
Per concludere, in questo periodo sta emergendo un nuovo protocollo di comunicazione che mira a essere considerato il protocollo standard per qualsiasi tipologia di applicazione smart home.
Il suo nome è Matter e il suo obiettivo è quello di permettere agli utilizzatori di dispositivi smart di aggiungere nuove periferiche indipendentemente dalla loro natura e marca.
Con questo imminente cambiamento la maggior parte dei dispositivi smart home sarà certificato Matter e funzionerà indistintamente con Google Assistant, Siri e Alexa.