Play ZigBee

In questo articolo saranno descritti in dettaglio i radiomodem ZigBee prodotti da Digi-Maxstream, moduli wireless che integrano sia le specifiche di basso livello IEEE 802.15.4, che le specifiche di alto livello proprie del protocollo ZigBee.

Il protocollo ZigBee nasce ufficialmente il 14 dicembre 2004, giorno in cui la ZigBee alliance (consorzio di aziende che si occupa dello sviluppo e dell’aggiornamento dello standard e della promozione della tecnologia su di esso basata) rilascia le specifiche 1.0. Come era già avvenuto in passato per la definizione di altri standard, il lavoro relativo allo standard ZigBee è stato diviso in due tronconi. Al task group IEEE 802.15.4 (parte del work group IEEE 802.15) è stato assegnato il compito di definire le specifiche relative al livello fisico e MAC (Medium Access Control) dello standard, mentre la ZigBee alliance è stata incaricata di arrivare alla definizione delle specifiche di alto livello (livelli Network e Application) dello standard. La relazione che esiste tra 802.15.4 e ZigBee è la stessa che esiste tra 802.11 e W-iFi e tra 802.15.1 e Bluetooth. Non bisogna quindi confondere le specifiche dello standard IEEE 802.15.4 con lo standard ZigBee: con il primo ci si riferisce ad un insieme di specifiche di basso livello sulle quali si basa il secondo per la definzione di uno standard più complesso.

Sulle specifiche indicate dallo standard ZigBee si basano i costruttori per la realizzazione del silicio. Chi a sua volta acquista i chip dai produttori, li ingloba in un sistema più complesso, il quale aggiunge un ulteriore strato a livello applicativo, caratteristico dell’applicazione finale vera e propria. Come è stato già accennato nell’introduzione, il protocollo ZigBee è un protocollo wireless caratterizzato da bassi consumi energetici, basse velocità di scambio dati, semplicità nell’implementazione del codice (generalmente indicata come consumo approssimativo di memoria programma per la realizzazione di un nodo) ed elevato numero di nodi costituenti la rete. Non tutti i nodi costituenti la rete presentano le medesime caratteristiche, ma sono definite tre tipologie di dispositivo:

» Coordinator: è il nodo centrale della rete e ad esso sono demandate le funzioni più importanti, come ad esempio la crea zione della rete stessa, l’assegnazione degli indirizzi, la scelta del canale RF ed altro ancora. Esso è inoltre in grado di memorizzare informazioni sulla rete creata e può agire come deposito per le chiavi di sicurezza. Ne può esistere al massimo uno per rete e può fungere da ponte tra reti diverse (è infatti talvolta indicato come gateway). Un malfunzionamento di questo dispositivo può ripercuotersi sul resto della rete o addirittura  causarne il blocco.

» Router:  questi dispositivi agiscono come router intermedi passando i dati da e verso altri dispositivi. Dispongono di un certo livello di intelligenza, in quanto implementano complicati algoritmi di routine per la selezione dei percorsi migliori da e verso un determinato nodo. Un malfunzionamento di uno di questi dispositivi non pregiudica  il funzionamento  di tutta la rete, ma può renderne inutilizzabile una parte » End Device: questi dispositivi includono solo le funzionalità minime per dialogare con il loro nodo padre (Coordinator o Router), non possono trasmettere dati provenienti da altri dispositivi. Sono i nodi che richiedono  il minor quantitativo di memoria e quindi risultano spesso più economici rispetto ai Router ed ai Coordinator. Un malfunzionamento di un end device ha come risultato l’esclusione dello stesso dispositivo dalla rete, ma non si ripercuote su altri nodi.

La tabella 1 mette a confronto lo standard ZigBee con alcune tra le più diffuse tecnologie wireless esistenti.

Tabella 1: confronto tra le più diffuse tecnologie wireless

Tabella 1: confronto tra le più diffuse tecnologie wireless

Le caratteristiche intrinseche di ZigBee rendono questo standard la scelta ideale per la realizzazione di wireless PAN (Personal Area Network). In generale, applicazioni tipiche sono l’implementazione di reti wireless per il controllo e l’automazione industriale, reti wireless domotiche, reti wireless personalizzate per applicazioni custom ed altro ancora. Il data rate tipico dichiarato sul canale radio è 250 Kbps, mentre il data rate dell’interfaccia può assumere valori che variano da 1200 bps fino a 115200 bps. Tale parametro non ricopre particolare importanza nei datasheet, in quanto lo standard non è stato specificamente studiato per lo scambio di grosse qualità di dati, caratteristica peculiare di altri standard, come ad esempio wi-fi. La portata dipende dal dispositivo considerato, dall’antenna e dalla potenza irradiata in trasmissione, valori tipici sono compresi tra le decine e le centinaia di metri. In figura 1 è riportato un grafico che mette a confronto diverse tecnologie wireless in funzione del range trasmissivo e del data rate (in Mbps).

Figura 1: confronto tra tecnologie wireless in funzione di portata trasmissiva e data rate.

Figura 1: confronto tra tecnologie wireless in funzione di portata trasmissiva e data rate.

Come si vede Bluetooth e ZigBee occupano zone molto vicine nel grafico, ma mentre il primo privilegia la velocità in trasmissione, il secondo la sacrifica in funzione di una maggiore portata trasmissiva. Oltre a ciò, ZigBee presenta un’interessante caratteristica che lo differenzia da Bluetooth e da altri protocolli wireless,  e gli permette di estendere il suo range utile a valori molto superiori rispetto alla portata di un singolo dispositivo. Infatti lo standard permette di mettere in comunicazione due nodi qualsiasi anche se non posti in collegamento radio diretto, è sufficiente che tra i due nodi in questione esista almeno un percorso costituito da nodi intermedi, che in questo caso fungono da router. Questa interessante caratteristica viene in genere indicata come Mesh Networking. La caratteristica di poter instradare messaggi attraverso la rete è propria solo dei Routers e del Coordinator, mentre gli End Device non possono fungere da nodi di instradamento. In figura 2 è riportato un esempio di rete ZigBee costituita da un Coordinator, Routers ed End Device.

Figura 2: esempio di una tipica rete ZigBee.

Figura 2: esempio di una tipica rete ZigBee.

Lo standard ZigBee è sovente chiamato stack ZigBee, perché dai produttori di chip viene in genere definito riferendosi al suo modello ISO-OSI. Tale modello è rappresentato in forma semplificata in figura 3.

Figura 3: rappresentazione secondo il modello OSI dello stack ZigBee

Figura 3: rappresentazione secondo il modello OSI dello stack ZigBee

Come si vede i due livelli inferiori, cioè il livello  Fisico e MAC, sono definiti dalla specifica 802.15.4. I livelli Network e Application sono definiti dalla ZigBee Alliance. Per completezza nello schema di figura 3 è riportato anche un quinto livello, denominato Application Framework. Quest’ultimo livello non è propriamente appartenente allo standard, in quanto si tratta dell’applicazione specifica che si “appoggia” sul protocollo ZigBee, ed in genere varia da produttore a produttore di chip, in base ai servizi che le varie piattaforme offrono. Per quanto riguarda le bande radio utilizzate, lo standard sfrutta le frequenze assegnate nella banda ISM (Industrial, Scientific, Medical), che variano a seconda del paese considerato. In particolare, può usufruire delle frequenze radio a 433MHz e 868 MHz in Europa e a 315 MHz e 915 MHz negli USA. Inoltre può usufruire della banda radio a 2,4 GHz praticamente in tutto il mondo. Su questa frequenza sono disponibili ben 16 canali e quindi, a meno di casi particolari, questa risulta essere la scelta più frequente dei costruttori.

Figura 4: modulo Xbee Serie 2.

Figura 4: modulo Xbee Serie 2.

I radiomodem Xbee

I moduli Xbee sono dei radiomodem a 2,4 GHz che supportano le specifiche del protocollo ZigBee. Sono prodotti dalla Maxstream (ad oggi DiGi-Maxstream), azienda statunitense specializzata nella produzione di tecnologia wireless per applicazioni embedded. In commercio esistono differenti tipologie di moduli, che si differenziano per il tipo di implementazione del protocollo supportata, per la potenza trasmissiva e la sensibilità in ricezione, per la tipologia di antenna ed altro ancora. Finora Digi ha commercializzato due versioni dei moduli Xbee, chiamate serie 1 e serie 2. La serie 1 supporta solo le specifiche del livello fisico e MAC. Con questi moduli è possibile realizzare connessioni wireless punto-punto ma non altre topologie come connessioni a stella o mesh, non si tratta quindi di radiomodem ZigBee, ma di moduli wireless 802.15.4 compliant. I moduli delle serie 2 sono dei veri e propri radiomodem ZigBee, supportano tutte le topologie di rete garantite dal protocollo, compresa la mesh. Sia i moduli della serie 1 che quelli della serie 2 sono ulteriormente divisi in moduli in versione standard e versione PRO. Le versioni PRO sono caratterizzate da una maggiore potenza irradiata e da una superiore sensibilità in ricezione. Versioni standard e PRO di ognuna delle due serie sono pienamente compatibili tra loro, mentre non c’è compatibilità tra moduli della serie 1 e 2. In tabella 2 sono riportate le caratteristiche elettriche dei moduli standard e PRO.

Tabella 2 – Caratteristiche moduli Standard e PRO

Tabella 2 – Caratteristiche moduli Standard e PRO

L’hardware è molto semplice e consiste in un piccolo PCB, all’inter no del quale trova posto tutta l’elettronica necessaria al funzionamento, inclusa l’antenna che può essere a chip, a filo o con connettore RPSMA. La figura 5 illustra le diverse possibili scelte per l’antenna dei moduli Xbee.

Figura 5: possibili scelte per l’antenna dei moduli Xbee.

Figura 5: possibili scelte per l’antenna dei moduli Xbee.

L’interfacciamento verso l’esterno è affidato a due file di 10 pin a passo 2mm. In figura 6 è visibile il disegno meccanico dei moduli in versione standard e PRO.

Figura 6: disegni meccanici moduli standard e PRO.

Figura 6: disegni meccanici moduli standard e PRO.

L’interfaccia di comunicazione è una seriale standard UART, con baud rate selezionabile da 1200 bps a 115200 bps, sicchè il collegamento minimo richiesto per il funzionamento dei moduli consiste nelle due linee della seriale, TX ed RX e nelle due linee di alimentazione. Sono previste due modalità di funzionamento, modalità trasparente (denominata normalmente modalità AT) e modalità API. In modalità trasparente tutto ciò che viene inviato sulla seriale del modulo viene ritrasmesso sul canale radio e viene successivamente messo in uscita sulla porta seriale del modulo ricevente.  I radiomodem aggiungono alla sorgente e tolgono alla destinazione tutto l’header necessario alla comunicazione, ecco perché la modalità viene definita “trasparente”. Non è possibile intervenire sull’header, che contiene informazioni quali indirizzo destinazione,  lunghezza  campo  dati, checksum, etc. In modalità API, invece, la gestione dei pacchetti è decisamente più complicata. Nei datasheet sono definiti una serie di frame utilizzabili, divisi per funzione, e caratterizzati da differente numero di byte, codice identificativo ed altro ancora.

Hardware di supporto

Esiste molto hardware di supporto per i moduli Xbee, indispensabile se si intende fare un minimo di prototipazione prima di realizzare  i primi PCB. Un elemento molto utile è sicuramente la scheda di interfacciamento al PC, utile sia come interfaccia utente verso il Coordinator (e di conseguenza verso l’intera rete), che come hardware di programmazione. Due schede molto valide sono reperibili sui siti web dei più noti rivenditori di materiale per hobbisti, una con interfaccia seriale, la seconda con la ormai più comune USB. In figura 7 è possibile vedere il pinouts delle due schede.

Figura 7: Schede di interfacciamento USB e seriale.

Figura 7: Schede di interfacciamento USB e seriale.

La scheda USB è equipaggiata con un convertitore USB-Seriale della FTDI, con un regolatore a 3,3V ed alcuni utilissimi LED di diagnostica. L’alimentazione per il modulo è prelevata direttamente dal bus USB, non è quindi necessario disporre di un alimentatore esterno, ma è sufficiente un cavo USB Amini B. La scheda seriale è equipaggiata invece con un connettore DB9, un transceiver RS232, il solito regolatore a 3,3V ed i LED. Un altro interessante prodotto è la Xbee simple board, una comoda scheda che permette di interfacciare i  moduli Xbee (che non hanno un passo standard) ad un qualsiasi circuito, anche realizzato su millefiori. La scheda ospita due zoccoli a passo 2mm, sui quali si inserisce  il modulo Xbee, e dispone di alcune file di contatti in mezzo e sul retro con tutti i collegamenti del modulo. Sono inoltre presenti un regolatore a 3,3V e due LED di diagnostica. In figura 8 è riportato il pinouts della scheda.

Figura 8: Pinouts della scheda Xbee Simple Board

Figura 8: Pinouts della scheda Xbee Simple Board

 

 

Scrivi un commento

EOS-Academy
Abbonati ora!