Protocolli IEEE 802.15.4
Abbiamo la necessità di leggere dati provenienti da sensori come umidità, temperatura, luminosità ecc. Queste letture avvengono nella maggior parte dei casi in modalità periodica, ovvero interrogo il sensore in un determinato intervallo di tempo, ad intervalli regolari, per leggere il dato che è stato rilevato. Ovviamente utilizzando questo approccio viene meno la necessità di avere sempre l’hardware attivo, quindi in questo caso posso pensare anche di accendere o spegnere il dispositivo a seconda che debba trasmettere o ricevere qualcosa.
In questo caso, attraverso questa semplice tecnica che nella pratica vedremo come si implementa, posso già avere un risparmio energetico significativo e oltretutto quando il dispositivo è attivo, non è detto debba ricevere o trasmettere per l’intero periodo. Questa caratteristica viene chiamata duty cycle. Dato un periodo di tempo t in cui il dispositivo è attivo, il duty cycle (o ciclo di lavoro) è il rapporto tra il tempo in cui il dispositivo è attivo, in trasmissione come in ricezione, e la durata totale del periodo. Ovviamente bisogna cercare di garantire il valore più alto possibile di questo parametro perché nel periodo in cui il dispositivo è attivo, avrò un consumo di energia.
Caratteristiche delle reti IEEE 802.15.4
Un’altra delle caratteristiche tipiche di queste reti, a differenza dell’802.11, è il non avere a disposizione alcuna infrastruttura al di sopra di queste reti. Abbiamo visto che le reti wireless sono collegate tra loro da una rete di black hole, ovvero una struttura che nella maggior parte dei casi è cablata e che mi consente di interconnettere varie sottoreti.
In questi casi le reti non hanno a disposizione una struttura ad un livello superiore che possa consentire lo scambio dei dati perché, nella maggior parte dei casi, queste reti sono auto configuranti ed auto formanti, quindi i collegamenti che abbiamo sono deboli. Un’altra delle caratteristiche tipiche è dover garantire un basso costo implementativo, sempre dettato dalla necessità di avere pochi dispositivi a disposizione e l’utilizzo di applicazioni ad esempio a livello industriale.
All’interno di questa famiglia abbiamo l’802.15.4 che è uno standard definito per reti wireless a basso rate. Il design con il quale è stato sviluppato questo standard sta nel fatto che l’utilizzo tipico di questo protocollo è stato pensato per applicazioni con bassi data rate, ovvero che si interfacciano con i sensori. Non è possibile pensare di utilizzare questi protocolli per applicazioni di audio e video-streaming proprio perché abbiamo un basso data rate che deve di conseguenza garantire un’elevata durata delle batterie.
Abbiamo detto basso consumo di potenza, bassa complessità e soprattutto limitato range di trasmissione. Infatti, in questi casi, la copertura ideale risiede in 10-50m anche se, a seconda della banda utilizzata, abbiamo teoricamente una copertura fino a 200m; come sappiamo questo nella realtà non è sempre vero sempre a causa di fenomeni come l’interferenza, i disturbi, il rimbombo, ecc.
Applicazioni e specifiche tecniche
Abbiamo applicazioni per la reading automation, la domotica, smart metering e il wireless sensor network. Abbiamo detto che le caratteristiche quindi sono data rate molto bassi, ad esempio massimo 250kb/sec, raggiungibili grazie ad una portante a 2.4 GHz, la stessa frequenza utilizzata nell’802.11.
Le specifiche di accesso al canale, definite sempre a livello MAC, sono anche in questo caso definite grazie al protocollo CSMA/CA. Vedremo in seguito altre modalità di accesso al canale. Riguardo alle topologie possibili per questo tipo di reti abbiamo:
- Topologia di tipo a stella
- Tipologia peer-to-peer
In tutte le reti abbiamo, in ogni caso, un nodo principale che prende il nome di pan coordinator. Il pan coordinator è responsabile di varie operazioni all’interno della rete, viene detto nodo root poiché stabilisce le caratteristiche della rete, stabilisce il nome della rete e gestisce i rapporti con gli altri nodi. Gli indirizzi in questo caso sono di 64 bit ma vengono compressi in 16 bit, in questo caso si differisce dalla 802.11 poiché in quel caso il MAC address era di 48 bit.
Tipologie di dispositivi
Abbiamo, poi, due tipologie di dispositivi:
- Full Function Device (FFD): dispositivi che implementano intere specifiche dello standard 802.15.4 e sono candidati ad essere dei pan coordinator a livello locale nel caso di topologie master free.
- Reduced Function Device (RFD): dispositivi che implementano funzionalità ridotte dello standard, possono comunicare solo con il pan coordinator o in generale con l’FFD e, solitamente, all’interno della topologia questo tipo di nodi prende la posizione sempre di nodo foglia.
Nella topologia peer-to-peer abbiamo sempre il pan coordinator ed i collegamenti tra i nodi possono essere multipli. La comunicazione che è possibile abilitare è di tipo multi-hop, ovvero, partendo da un nodo posso collegarmi a più nodi a differenza della tipologia star in cui la comunicazione di ogni nodo avviene sempre e soltanto con il pan coordinator.
Topologie e comunicazione nella rete
Vi è poi la topologia di tipo cluster tree. In alcuni casi, ad esempio quando abbiamo una rete molto estesa, possiamo avere la necessità di suddividerla in cluster, sia che la rete sia estesa o per scelta, possiamo avere la necessità di suddividere la rete in più nodi. Banalmente, se ci troviamo in un centro commerciale o in un’area in cui sono previsti diversi settori, ognuno di essi necessita che quando un nodo entri nella propria area, debba essere associato alla propria rete.
La formazione della rete avviene sempre a partire dal pan coordinator che può demandare ad altri nodi FFD di assumere il ruolo di coordinator solidali, possiamo quindi avere più reti collegate tra loro in questa maniera. Ovviamente possiamo notare che sia le sottoreti che la rete formata ha sempre una struttura di tipo ad albero, ovvero non abbiamo un loop, come ad esempio nel caso peer-to-peer, questo ovviamente per garantire performance migliori.
La topologia di tipo star è preferibile adottarla per reti poco estese mentre la topologia di tipo peer-to-peer detta anche mesh si presta di più per reti più estese. Una delle modalità più utilizzate è la specifica 802.15.4 del 2006 in cui si utilizza una banda nel range di 2,4 GHz che prevede 16 canali ognuno da 3MHz distanziati tra loro da 5MHz. Si utilizzano varie tipologie di modulazione del segnale e di codifica che influiscono in maniera più o meno diretta sul data rate.
Nella comunicazione tra coordinator e gli altri nodi della rete è necessario mutuare comunque delle operazioni, alcune delle quali avvengono a livello fisico ed altre a livello...
La comunicazione, come già detto, avviene a partire dal coordinator e una delle prime operazioni è quella di sincronizzarsi con gli altri nodi. La fase di sincronizzazione avviene attraverso l’utilizzo di frame, pacchetti speciali chiamati beacons. Caratteristiche di un beacon sono:
- La durata, specificata in fase di progettazione
- Il periodo, definito da una parte attiva in cui l’antenna dei nodi è attiva e può trasmettere, sottodivisa in due sottoperiodi (primo in cui i nodi cercano di trasmettere i dati nella rete effettuando un accesso col protocollo CSMA/C, secondo in cui vengono allocati una serie di slot per dare priorità a dei determinati nodi di comunicare, sono degli slot di seconda per applicazioni specifiche), a questa segue un periodo di inattività durante il quale i nodi vengono disattivati.
In questa parte iniziale che parte dal frame di apertura e si conclude alla fine del periodo attivo viene detta super frame.
Tipologie di comunicazione
Abbiamo due tipologie di comunicazione tra coordinator e device:
- Comunicazione device-coordinator / beacon enabled: Si utilizzano i beacon, il pan coordinator inizia la comunicazione effettuando il broadcast di questi beacon in cui vengono annunciati vari parametri della rete. Gli altri dispositivi, ovvero i nodi foglia e gli FFD, ascoltano questi beacon e dopo aver effettuato la sincronizzazione possono comunque allinearsi al periodo del super frame e quindi iniziare la comunicazione con il proprio nodo. Si utilizza una versione particolare del protocollo CSMA/CA detta di tipo slot, ovvero vengono utilizzati degli slot time. Uno slot time è un determinato periodo di tempo necessario a due nodi per comunicare, ovvero il tempo minimo tale da consentire ad un nodo di trasmettere il proprio frame e di ricevere il conseguente ack. Nella fase iniziale il beacon viene ricevuto dal nodo, nella fase successiva se il nodo ha il proprio slot time allocato (informazione che viaggia sul beacon), inizierà subito la trasmissione altrimenti accederà al canale tramite il CSMA/CA per trasmettere il dato. Quando il dato viene ricevuto dal coordinator, può essere eventualmente ricevuto un ack, ovvero un riscontro.
- Comunicazione coordinator-device / non beacon enabled: Nella modalità in cui non vengono utilizzati i beacon, il device accede direttamente al canale senza ascoltare i messaggi beacon che vengono da parte del coordinator, ovviamente l’ack è sempre di tipo opzionale.
Questi due esempi fanno sempre riferimento al caso di topologia a stella. In questo caso invece abbiamo che è un coordinator a voler trasmettere un particolare dato ad un nodo; quando un coordinator ha dei dati pendenti nel proprio buffer di memoria che sono destinati al nodo, effettua sempre il broadcast dei beacon nella modalità beacon enabled con la particolarità che nel beacon viene attivato un particolare flag nel quale appunto si indica che il coordinator ha dei dati da trasmettere e viene anche specificato il nodo a cui i dati sono destinati. Quando il beacon destinatario del pacchetto capisce che il pacchetto è destinato a se ed invia data reader, ovvero chiede al coordinator di inviargli il dato che ha a disposizione, ovviamente a questo segue un doppio riscontro, un riscontro iniziale di invio del dato ed un secondo riscontro da parte del nodo che ha ricevuto il dato. Stessa cosa nel caso non beacon enabled nel cui caso non viene effettuato il broadcast dei nodi.
Vi è inoltre una comunicazione di tipo device-device. Nella comunicazione di tipo peer-to-peer è possibile la comunicazione direttamente tra dispositivi, in questo caso più function device possono essere collegati tra loro in modalità multipla, i dispositivi hanno necessità di essere sempre sincronizzati ed in questo caso le politiche di routing (ovvero gestire ogni pacchetto in uscita scegliendo la strategia di forwarding del pacchetto) vengono gestite a livello più alto.
La procedura prevede che ogni nodo memorizzi due variabili: la variabile NB ovvero il numero di tentativi di accesso al canale effettuati e la variabile BE che è l’esponente del periodo di back-off ovvero il periodo in cui il nodo dovrà attendere prima di iniziare a trasmettere. La procedura sostanzialmente è molto simile a quella vista per l’802.11 ovvero prima di iniziare la trasmissione viene calcolato il periodo in cui il nodo dovrà attendere prima di tentare l’accesso al canale. Dopodiché il nodo effettua la fase chiamata CCA ovvero clear channel assessment ovvero tramite tecniche a livello fisico, ascolta il canale ed è in grado di rilevare se ci sono trasmissioni in atto in quel momento. Viene quindi introdotta una variabile aggiuntiva, ovvero CV che rappresenta il numero di periodi di back-off durante il quale il nodo ha rilevato un canale libero, questo parametro nella maggior parte dei casi viene impostato solitamente uguale a 2, questa è un’operazione particolare ed aggiuntiva del caso slotted. Quindi, nel caso slotted, ogni nodo ha la necessità di rilevare almeno per due periodi di back-off, questa operazione viene effettuata per garantire che quando il nodo trova che il canale è libero deve essere aggiuntivamente allineato all’inizio del super frame ovvero del periodo relativo al beacon, questa operazione viene fatta per limitare nel maggior numero possibile il numero di collisioni e quindi si cerca di effettuare le trasmissioni sempre all’inizio di un super frame.
Abbiamo un numero di tentativi massimi che il nodo può effettuare nel rilevare il canale libero e in questo caso se non abbiamo raggiunto il numero di tentativi massimi la procedura viene ripetuta, oppure se abbiamo superato il numero di tentativi, la trasmissione del pacchetto fallisce. Questo è il formato del frame, a livello fisico abbiamo un frame il cui payload è un intero frame a livello superiore, vi sono dei campi aggiuntivi tra cui il campo SHR e la lunghezza del frame; all’interno del MAC frame abbiamo poi tutta una serie di campi in cui vengono effettivamente immessi i dati, un frame di controllo, l’indirizzo, altri campi aggiuntivi legati alle operazioni di sicurezza. La dimensione massima del frame MAC è comunque fissata a 127 byte compresi header e payload.
Tecniche di accesso al canale
Come accennato prima, ci sono altre tecniche di accesso al canale che si differenziano dal CSMA/CA per varie operazioni, questo perché la tecnica CSMA/CA ha un basso livello di performance in termini di risparmio energetico e prestazioni, ovviamente poiché richiede che i nodi siano sempre attivi per un numero fissato di slot oltre a garantire un basso utilizzo della rete, questi requisiti ovviamente non soddisfano le applicazioni di tipo industriale.
In campo industriale, infatti, vogliamo che il dato arrivi il più possibile per gestire situazioni critiche per esempio il disaster recovery o il controllo dei processi, oltre al fatto che i fenomeni di interferenza sono molto più sentiti in questi scenari. Per questo motivo uno degli emendamenti dell’802.15.4, in particolare la versione E rilasciata nel 2012 ed integrata successivamente nel 2015, ha definito altre specifiche per l’accesso al canale come la tecnica TSCH. La tecnica TSCH prevede che il tempo in cui i nodi sono attivi nella rete sia suddiviso in slot. La tecnica di suddivisione in slot è stata precedentemente introdotta e si basa sulla tecnica TDMA ovvero “accesso multiplo a divisione di tempo”.
Una delle prime caratteristiche è quella peer-to-peer, ad ogni coppia di nodi viene riservato uno specifico slot in cui possono trasmettere ed in aggiunta avviene anche il timeslotted channel hopping. Il TSCH è una tecnica per cui i 16 canali a disposizione vengono utilizzati simultaneamente per consentire ad ogni coppia di nodi di comunicare in ogni time slot su frequenze diverse del canale. Un time slot è il tempo minimo atto a garantire la trasmissione del dato e la ricezione del relativo ack, valori tipici sono 10 o 15ms, questo perché si tiene conto sia della banda utilizzata e del data rate e si stima ad esempio nel caso di banda a 2,4 GHz per l’invio di un frame di tipo MAC vengono richieste mediamente 4ms e 1ms per la ricezione dell’ack, più 5ms addizionali richiesti dal dispositivo per switchare l’antenna dalla modalità di trasmissione a quella di ricezione. Ovviamente questi valori possono essere variabili a seconda dell’applicazione.
L’insieme di più time slot in sequenza forma uno slot frame; uno slot frame ha una dimensione fissa dettata dalle specifiche richieste e si ripete nel tempo. Sostanzialmente la tecnica prevede che ad ogni coppia di nodi partecipanti alla comunicazione sia associato un time slot nel quale comunicare. Parallelamente per consentire la tecnica del TSCH viene assegnato ad ogni time slot un canale predefinito in cui i nodi possono eventualmente comunicare, successivamente tramite questa funzione viene calcolato in ogni time slot la frequenza effettiva in cui i due nodi devono comunicare ovvero questa funzione prende input dallo slot number che rappresenta una sorta di contatore generale.
Questo dato è fondamentale per due ragioni, consente il TSCH e poiché quando un nuovo nodo si aggiunge alla rete ha necessità di sapere in quale time slot deve allinearsi e quindi l’offset che è in quel momento nello slot frame. Un altro parametro preso in considerazione è l’offset del canale. Ad ogni time slot viene calcolata la frequenza del canale su cui i due nodi possono comunicare con la formula f = (ASN + C Hoff), scegliendo un determinato range di valori tra queste variabili, in particolare prendendo ASN = k * s + t dove k è la dimensione del time slot , s la dimensione dello slot frame e t è l’offset dello slot frame ovvero in quale slot frame lo sto inserendo. In questo modo verranno utilizzate tutte le frequenze disponibili ovvero non avremo ripetizioni per le frequenze utilizzate.
Questa tecnica permette sia tramite il cambio frequente della frequenza utilizzata, sia suddividendo la comunicazione in time slot differenti, di garantire condizioni migliori per la comunicazione e soprattutto così ogni nodo conosce esattamente in quale time slot deve trasmettere. Questa tecnica garantisce un’elevata efficienza in termini di risparmio energetico poiché il nodo può stare spento quando non trasmette. Altra caratteristica di questa tecnica è che lo standard non ha formulato come gli slot debbano essere assegnati, ovvero mancano le specifiche per lo scheduling dei nodi sebbene venga definita la tecnica di comunicazione. Manca la tecnica secondo la quale posso, a priori, assegnare in maniera opportuna quali nodi devono comunicare in un determinato slot.
Questa è una panoramica degli elementi presenti all’interno dello stack protocollare che definisce i protocolli maggiormente utilizzati nell’IoT. Avendo espresso la problematica delle ridotte dimensioni del frame nell’802.15.4., si rende necessario in questo caso un livello aggiuntivo, ovvero 6LoWPAN, questo perché la dimensione del datagramma è maggiore...
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Internet Of Things - Appunti
-
Appunti Internet of things
-
Internet of things
-
Appunti Internet of Things