Articles

Zigbee

Esistono tre classi di dispositivi Zigbee:

  • Zigbee coordinator (ZC): il dispositivo più capace, il coordinatore forma la radice dell’albero della rete e può collegarsi ad altre reti. C’è precisamente un coordinatore Zigbee in ogni rete poiché è il dispositivo che ha avviato la rete in origine(la specifica Zigbee LightLink consente anche il funzionamento senza un coordinatore Zigbee, rendendolo più utilizzabile per i prodotti per la casa off-the-shelf). Memorizza le informazioni sulla rete, compresa la funzione di trust center e repository per le chiavi di sicurezza.
  • Zigbee router (ZR): Oltre a eseguire una funzione applicativa, un router può fungere da router intermedio, passando i dati da altri dispositivi.
  • Zigbee end device (ZED): contiene solo funzionalità sufficienti per parlare con il nodo genitore (il coordinatore o un router); non può trasmettere dati da altri dispositivi. Questa relazione permette al nodo di essere addormentato una quantità significativa di tempo dando così lunga durata della batteria. Uno ZED richiede la minor quantità di memoria e quindi può essere meno costoso da produrre rispetto a uno ZR o ZC.

Gli attuali protocolli Zigbee supportano reti beacon-enabled e non-beacon-enabled. Nelle reti non beacon-enabled, viene utilizzato un meccanismo di accesso al canale CSMA/CA unslotted. In questo tipo di rete, i router Zigbee in genere hanno i loro ricevitori continuamente attivi, che richiedono potenza aggiuntiva. Tuttavia, ciò consente reti eterogenee in cui alcuni dispositivi ricevono continuamente mentre altri trasmettono quando necessario. L’esempio tipico di una rete eterogenea è un interruttore della luce wireless: Il nodo Zigbee alla lampada può ricevere costantemente poiché è alimentato in modo affidabile dall’alimentazione di rete alla lampada, mentre un interruttore della luce alimentato a batteria rimarrebbe addormentato fino a quando l’interruttore non viene lanciato. In tal caso, l’interruttore si sveglia, invia un comando alla lampada, riceve un riconoscimento e ritorna a dormire. In tale rete il nodo lamp sarà almeno un router Zigbee, se non il coordinatore Zigbee; il nodo switch è in genere un dispositivo terminale Zigbee. Nelle reti beacon-enabled, i router Zigbee trasmettono segnali periodici per confermare la loro presenza ad altri nodi di rete. I nodi possono dormire tra i beacon, prolungando così la durata della batteria. Faro intervalli dipendono dal tasso di dati; può variare da 15.36 millisecondi per 251.65824 secondi a 250 kbit/s, dal 24 millisecondi per 393.216 secondi a 40 kbit/s e da 48 millisecondi per 786.432 secondi a 20 kbit/s. Lungo faro intervalli richiedono tempi precisi, che possono essere costosi da implementare in prodotti a basso costo.

In generale, i protocolli Zigbee riducono al minimo il tempo in cui la radio è accesa, in modo da ridurre il consumo di energia. Nelle reti beaconing, i nodi devono essere attivi solo mentre viene trasmesso un beacon. Nelle reti non beacon-enabled, il consumo energetico è decisamente asimmetrico: alcuni dispositivi sono sempre attivi mentre altri trascorrono la maggior parte del loro tempo a dormire.

Ad eccezione di Smart Energy Profile 2.0, i dispositivi Zigbee devono essere conformi allo standard IEEE 802.15.4-2003 Low-rate Wireless Personal Area Network (LR-WPAN). Lo standard specifica i livelli di protocollo inferiori, il livello fisico (PHY) e la porzione di controllo dell’accesso ai supporti del livello di collegamento dati. La modalità di accesso al canale di base è carrier-sense multiple access with collision avoidance (CSMA / CA). Cioè, i nodi comunicano in un modo un po ‘ analogo a come gli esseri umani conversano: un nodo controlla brevemente per vedere che altri nodi non stanno parlando prima di iniziare. CSMA / CA non viene utilizzato in tre eccezioni degne di nota:

  • Conferme dei messaggi
  • I beacon vengono inviati secondo una pianificazione a tempo fisso.
  • I dispositivi nelle reti beacon-enabled che hanno bassa latenza, requisiti in tempo reale possono anche utilizzare fasce orarie garantite.

Livello di reteedit

Le funzioni principali del livello di rete sono di consentire l’uso corretto del sottolivello MAC e fornire un’interfaccia adatta per l’uso da parte del livello superiore successivo, vale a dire il livello di applicazione. Le sue capacità e la struttura sono quelle tipicamente associate a tali livelli di rete, incluso il routing. La funzione del livello di rete è esattamente come sembra; Si occupa di funzioni di rete come il collegamento, la disconnessione e la creazione di reti. Aggiungerà una rete, allocherà indirizzi e aggiungerà e rimuoverà determinati dispositivi. Questo strato fa uso di stelle, mesh e topologie di alberi. Aggiunge un’interfaccia al livello dell’applicazione.

Da un lato, l’entità dati crea e gestisce unità di dati del livello di rete dal payload del livello di applicazione ed esegue il routing in base alla topologia corrente. D’altra parte, c’è il controllo di livello, che viene utilizzato per gestire la configurazione di nuovi dispositivi e stabilire nuove reti: può determinare se un dispositivo vicino appartiene alla rete e scopre nuovi vicini e router. Il controllo può anche rilevare la presenza di un ricevitore, che consente la comunicazione diretta e la sincronizzazione MAC.

Il protocollo di routing utilizzato dal livello di rete è AODV. In AODV, per trovare il dispositivo di destinazione, AODV trasmette una richiesta di percorso a tutti i suoi vicini. I vicini poi trasmettere la richiesta ai loro vicini e poi fino a raggiungere la destinazione. Una volta raggiunta la destinazione, invia la risposta del percorso tramite trasmissione unicast seguendo il percorso di costo più basso all’origine. Una volta che l’origine riceve la risposta, aggiornerà la sua tabella di routing per l’indirizzo di destinazione del salto successivo nel percorso e il costo del percorso.

Application layerEdit

Il livello di applicazione è il livello più alto definito dalla specifica ed è l’interfaccia efficace del sistema Zigbee per i suoi utenti finali. Comprende la maggior parte dei componenti aggiunti dalla specifica Zigbee: sia ZDO che le sue procedure di gestione, insieme agli oggetti applicativi definiti dal produttore, sono considerati parte di questo livello. Questo livello lega le tabelle, invia messaggi tra dispositivi associati, gestisce gli indirizzi di gruppo, riassembla i pacchetti e trasporta anche i dati. È responsabile della fornitura di servizi ai profili dei dispositivi Zigbee.

Componenti principalimodifica

Lo ZDO (Zigbee device object), un protocollo nello stack di protocollo Zigbee, è responsabile della gestione complessiva dei dispositivi, delle chiavi di sicurezza e dei criteri. È responsabile della definizione del ruolo di un dispositivo come coordinatore o dispositivo finale, come menzionato sopra, ma anche della scoperta di nuovi dispositivi (one-hop) sulla rete e dell’identificazione dei loro servizi offerti. Può quindi continuare a stabilire collegamenti sicuri con dispositivi esterni e rispondere alle richieste vincolanti di conseguenza.

L’application Support sublayer (APS) è l’altro componente standard principale del livello, e come tale offre un’interfaccia ben definita e servizi di controllo. Funziona come un ponte tra il livello di rete e gli altri elementi del livello di applicazione: mantiene up-to-date tabelle di associazione sotto forma di un database, che può essere utilizzato per trovare i dispositivi appropriati a seconda dei servizi che sono necessari e quelli che i diversi dispositivi offrono. Come unione tra entrambi i livelli specificati, instrada anche i messaggi attraverso i livelli dello stack di protocollo.

Modelli di comunicazionedit

Zigbee high-level communication model

Un’applicazione può essere costituita da oggetti comunicanti che cooperano per svolgere i compiti desiderati. L’obiettivo di Zigbee è quello di distribuire il lavoro tra molti dispositivi diversi che risiedono all’interno di singoli nodi Zigbee che a loro volta formano una rete (detto lavoro sarà in genere in gran parte locale per ogni dispositivo, ad esempio, il controllo di ciascun elettrodomestico).

La raccolta di oggetti che formano la rete comunica utilizzando le strutture fornite da APS, supervisionate da interfacce ZDO. Il servizio dati a livello di applicazione segue una tipica struttura richiesta-conferma / indicazione-risposta. All’interno di un singolo dispositivo, possono esistere fino a 240 oggetti di applicazione, numerati nell’intervallo 1-240. 0 è riservato per l’interfaccia dati ZDO e 255 per la trasmissione; la gamma 241-254 non è attualmente in uso, ma potrebbe essere in futuro.

Due servizi sono disponibili per gli oggetti dell’applicazione da utilizzare (in Zigbee 1.0):

  • Il servizio di coppia chiave-valore (KVP) è pensato per scopi di configurazione. Abilita la descrizione, la richiesta e la modifica dell’attributo object attraverso una semplice interfaccia basata su get/set e primitive di eventi, alcune delle quali consentono una richiesta di risposta. La configurazione utilizza XML compresso (XML completo può essere utilizzato) per fornire una soluzione adattabile ed elegante.
  • Il servizio messaggi è progettato per offrire un approccio generale al trattamento delle informazioni, evitando la necessità di adattare i protocolli applicativi e il potenziale sovraccarico sostenuto da KVP. Consente di trasmettere payload arbitrari su frame APS.

Anche l’indirizzamento fa parte del livello di applicazione. Un nodo di rete è costituito da un ricetrasmettitore radio 802.15.4 conforme e da una o più descrizioni di dispositivi (fondamentalmente raccolte di attributi che possono essere interrogati o impostati o che possono essere monitorati attraverso eventi). Il ricetrasmettitore è la base per l’indirizzamento e i dispositivi all’interno di un nodo sono specificati da un identificatore di endpoint nell’intervallo 1-240.

Communication and device discoveryEdit

Affinché le applicazioni possano comunicare, i loro dispositivi devono utilizzare un protocollo applicativo comune (tipi di messaggi, formati e così via); questi insiemi di convenzioni sono raggruppati in profili. Inoltre, l’associazione viene decisa abbinando gli identificatori del cluster di input e output, univoci nel contesto di un determinato profilo e associati a un flusso di dati in entrata o in uscita in un dispositivo. Le tabelle di associazione contengono coppie di origine e di destinazione.

A seconda delle informazioni disponibili, il rilevamento del dispositivo può seguire metodi diversi. Quando l’indirizzo di rete è noto, l’indirizzo IEEE può essere richiesto utilizzando la comunicazione unicast. Quando non lo è, le petizioni vengono trasmesse (l’indirizzo IEEE fa parte del payload di risposta). I dispositivi finali risponderanno semplicemente con l’indirizzo richiesto mentre un coordinatore di rete o un router invierà anche gli indirizzi di tutti i dispositivi ad esso associati.

Questo protocollo di rilevamento esteso consente ai dispositivi esterni di scoprire i dispositivi in una rete e i servizi che offrono, che gli endpoint possono segnalare quando vengono interrogati dal dispositivo di scoperta (che ha precedentemente ottenuto i loro indirizzi). Possono essere utilizzati anche servizi di corrispondenza.

L’uso di identificatori di cluster impone l’associazione di entità complementari utilizzando le tabelle di associazione, che sono mantenute dai coordinatori Zigbee, poiché la tabella deve essere sempre disponibile all’interno di una rete e i coordinatori hanno più probabilità di avere un alimentatore permanente. I backup, gestiti da livelli di livello superiore, potrebbero essere necessari per alcune applicazioni. L’associazione richiede un collegamento di comunicazione stabilito; dopo che esiste, viene deciso se aggiungere un nuovo nodo alla rete, in base all’applicazione e ai criteri di sicurezza.

La comunicazione può avvenire subito dopo l’associazione. L’indirizzamento diretto utilizza sia l’indirizzo radio che l’identificativo dell’endpoint, mentre l’indirizzamento indiretto utilizza tutti i campi pertinenti (indirizzo, endpoint, cluster e attributo) e richiede che vengano inviati al coordinatore della rete, che mantiene le associazioni e traduce le richieste di comunicazione. L’indirizzamento indiretto è particolarmente utile per mantenere alcuni dispositivi molto semplici e ridurre al minimo la loro necessità di archiviazione. Oltre a questi due metodi, è disponibile la trasmissione a tutti gli endpoint di un dispositivo e l’indirizzamento di gruppo viene utilizzato per comunicare con gruppi di endpoint appartenenti a un insieme di dispositivi.