Strumenti Utente

Strumenti Sito


riservata:xbee

Xbee Shield

Introduzione

Gli shiled shield Xbee presenti in laboratorio montano i moduli Xbee S2 della Digi International e permettono di comunicare con il protocollo ZigBee1). Questi shield sono fuori produzione da anni, sostituiti dai Wireless Shield, che sono più facili da usare (per configurare i moduli non è necessario rimuovere il microcontrollore dalla scheda Arduino) e supportati ufficialmente.

Rimuovendo i moduli si può leggere il product number (XB24-BCIT-) che identifica la versione a corto raggio (non PRO) del modulo (vedi il data sheet e il confronto tra i vari modelli).

Lo shield

Lo shield copre parzialmente la scheda Arduino, replica i pin analogici e quelli digitali da 2 a 7. I pin 0 e 1 sono utilizzati dal modulo per la comunicazione seriale via radio. Sulla scheda è riportata la piedinatura dei moduli, che possono essere sostituiti. Sono presenti due jumper con i quali si seleziona il funzionamento della scheda:

  • nella posizione XBEE il microcontrollore riceve solo dal modulo XBee (non da PC) e invia sia al modulo XBee che al PC (via USB)
  • nella posizione USB il modulo XBee comunica direttamente col PC via USB ma solo se è stato rimosso il uC, altrimenti la comunicazione è PC-microcontrollore

Una descrizione più completa dello shield si trova nella pagina del sito Arduino.

Configurazione dei moduli

I moduli Xbee permettono di realizzare una vasta serie di applicazioni (connessioni end-to-end a reti mesh, reti a stella) e possono utilizzare protocolli diversi in base al firmware utilizzato. Sono prodotti complessi e ricchi di funzionalità ma non semplici da usare (per farsi un'idea consultare le 200 pagine di manuale). Prima di utilizzare i moduli occorre configurarli; il modo più semplice di procedere è quello di installare il software XCTU e configurare i moduli da PC usando la scheda Arduino e il relativo shield 2).

Il software XCTU è completo e facile da usare: i moduli vengono autorilevati, c'è una guida in linea e su internet ci sono video che ne illustrano il funzionamento. Per configurare i moduli con i nostri shield però occorre:

  • rimuovere il microcontrollore dalla scheda Arduino
  • montare sulla scheda Arduino lo shield Xbee con i due jumper nella posizione USB

A questo punto è possibile caricare un firmware sul modulo e configurarlo:

  • collegare la scheda al PC e selzionare Discover
  • rilevato il modulo aggiungerlo
  • visualizzare le proprietà del modulo e individuare il firmware caricato
  • eventualmente caricare un nuovo firmware col pulsante Update Firmware

I parametri più importanti sono:

  • ID (PAN ID): deve essere lo stesso per tutti i moduli
  • BD (Baud Rate): 9600
  • SH e SL: il serial number alto e basso del modulo
  • DH e DL: il serial number alto e basso del modulo destinatario della connessione

La comunicazione tra moduli può avvenire il broadcast (verso tutti) o unicast (un solo destinatario). Nel secondo caso bisogna specificare il serial number del destinatario utilizzando i parametri DH e DL. Per una connessione di tipo multicast è possibile accettare tutti i valori di default.

Il firmware caricato specifica la funzione svolta dal modulo e il protocollo utilizzato, cioè ZigBee o ZNet 2.5 (NB i due protocolli sono simili ma non compatibili). Nel fare la scelta occorre tener conto del fatto che una rete ZigBee o ZNet richiede che un nodo svolga la funzione di coordinator gestendo la rete; gli altri sono router (inoltrano i pacchetti di cui non sono destinati) o end device (destinatario).

Ad esempio per una comunicazione end-to-end (unicast) si può usare:

  • un modulo con firmware ZigBee Coordinator AT3)
  • l'altro con firmware ZigBee Router/End Device AT

Test dei moduli

Seguendo i suggerimenti della pagina sul Wireless Shield si può testare la comunicazione tra moduli usando due schede Arduino e due shield XBee con moduli XBee S2:

  • senza lo shield inserito carichiamo nella prima scheda lo sketch di esempio Physical Pixel; il programma accende e spegne il LED sulla scheda Arduino in base a ciò che riceve via seriale ('H' accende il LED, 'L' lo spegne); prima di procedere si può provare se funziona inviando i due caratteri da PC col monitor seriale
  • inseriamo lo shield XBee con i jumper nella posizione XBEE nella prima scheda
  • senza lo shield inserito carichiamo sull'altra scheda uno sketch che invii i caratteri 'H' e 'L' a intervalli di un secondo (anche in questo caso si può fare un test col monitor seriale)
  • inseriamo lo shield XBee con i jumper nella posizione XBEE seconda scheda
  • alimentando le due schede, se la comunicazione seriale via wireless funziona, il LED della prima scheda lampeggerà

Osservazioni:

  • le due schede risultano associate se il coordinator lampeggia ogni secondo e l'end-point due volte al secondo
  • per inviare i caratteri si usano le funzioni print() e println(); funziona come per il monitor seriale ma i dati sono trasmessi via wireless invece che col cavo USB

Problemi

Funziona solo con protocollo ZNet 2.5

1)
I moduli XBee S1 usano uno lo 802.15.4 e non sono compatibili con quelli S2 che usano i protocolli ZigBee o ZNet 2.5 (una sua variante).
2)
si può fare anche dalla scheda Arduino o dal PC con usando dei comandi AT ma è sicuramente più complicato
3)
AT significa che il modulo interagisce anche con comandi AT da seriale
This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information
riservata/xbee.txt · Ultima modifica: 2016/01/10 18:54 (modifica esterna)