Questo sito non è ne attivo ne aggiornato, specialmente la pagina del download è ferma a 5 vesioni fa , utilizzate il sito in inglese finchè questo sito non sarà annunciato ufficialmente
Indice | Introduzione | Guide: Windows, Mac OS X, Linux; Arduino Nano, Arduino Mini, Arduino BT, LilyPad Arduino, Arduino Pro, Arduino Pro Mini; Xbee shield | Troubleshooting | Software
Lo shield Arduino Xbee consente alla scheda Arduino di comunicare attraverso il protocollo wireless Zigbee. E’ stato sviluppato in collaborazione con Libelium.
E’ possible far parlare due schede Arduino dotate di shield Xbee senza nessuna configurazione, usando soltanto comandi seriali standard di Arduino (descritti qui Riferimento).
Per caricare uno sketch nella scheda Arduino dotata di shield Xbee, è necessario posizionare entrambi I jumper dello shield su "USB" (collocali quindi sui due pin più vicini al bordo della scheda) oppure rimuoverli completamente (assicurati di non perderli!). Quindi puoi caricare uno sketch normalmente dall’ambiente di sviluppo Arduino. In questo caso carica lo sketch "Communication | Physical Pixel" in una delle schede. Questo sketch comanda alla scheda di accendere il LED collegato al pin 13 ogni volta che riceve una ‘H’ sulla seriale e di spegnerlo quando riceve una 'L'. Puoi provare collegandoti alla scheda con l'Arduino serial monitor (assicurati che sia settato su 9600 baud), digitando una H e premendo enter (o cliccando su send). Il LED dovrebbe accendersi. Manda una L e dovrebbe spegnersi. Se non succede niente è probabile che tu abbia una scheda Arduino sprovvista del LED sul pin 13 (controlla su indice schede), in questo caso dovrai collegarne uno tu.
Dopo aver caricato lo sketch Physical Pixel e esserti assicurato che funziona, scollega la prima scheda Arduino dal computer. Posiziona i jumpers sull'impostazione Xbee (collocali sul pin centrale e sul pin più lontano dal bordo della scheda). Adesso devi caricare uno sketch sull'altra scheda. Assicurati chei jumpers siano impostati su USB, poi carica lo sketch seguente:
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.print('H');
delay(1000);
Serial.print('L');
delay(1000);
}
Quando lo scaricamento è finito, puoi verificarne il funzionamento con l'Arduino serial monitor. Dovresti vedere delle H e delle L arrivare una al secondo. Disattiva quindi il serial monitor e scollega la scheda. Posiziona i jumpers sull'impostazione Xbee. Adesso collega entrambe le schede al computer. Dopo alcuni secondi dovresti vedere il LED sulla prima scheda accendersi e spegnersi una volta al secondo. (Si tratta del LED sulla scheda Arduino, non di quello sullo shield Xbee che fornisce invece informazioni circa lo stato del modulo Xbee). Se così avviene, congratulazioni, le tue schede Arduino stanno comunicando tra loro senza fili. Potrebbe non apparire così entusiasmante essendo entrambe le schede collegate allo stesso computer , ma dovrebbero continuare comunque a comunicare anche collegate a computer diversi (o alimentate con un alimentatore esterno - dopo aver modificato la posizione del jumper di alimentazione delle scheda Arduino).
Con lo shield Xbee puoi usare qualunque comando seriale. Con i jumper dello shield posizionati su Xbee, i comandi print e println manderanno dati attraverso lo shield Xbee e la porta USB (agli altri shield Xbee e al computer nello stesso tempo). Tuttavia con questa configurazione la scheda potrà ricevere dati soltanto dallo Shield Xbee e non dalla porta USB (per permettere alla scheda di ricevere dati dal computer dovrai cambiare la posizione dei jumper).
Il modulo Xbee sullo shield è configurato di default per lavorare a 9600 baud quindi, se non l'hai riconfigurato diversamente, assicurarti di passare 9600 al comando Serial.begin() nel tuo sketch.
Per permettere al tuo computer di comunicare direttamente con lo shield Xbee, collegalo alla scheda Arduino a cui è stato tolto il microprocessore e posiziona i jumpers sull'impostazione USB. Puoi quindi mandare e ricevere dati con il modulo Xbee utilizzando un comune programma di emulazione terminale. Questo ti permette di vedere i dati che il modulo sta ricevendo dagli altri shield Xbee (per esempio per raccogliere dati da una rete di sensori wireless posti in luoghi diversi).
Puoi configurare il modulo Xbee dal codice caricato nella scheda Arduino o con il computer attraverso un programma. Per configurarlo dalla scheda Arduino dovrai posizionare i jumpers sull'impostazione Xbee. Per configurarlo dal computer, dovrai posizionare i jumpers sull'impostazione USB e aver rimosso il microprocessore dalla scheda Arduino.
Per mettere il modulo in modalità configurazione, devi inviargli tre segni più: +++ avendo cura che un secondo prima e un secondo dopo il modulo non riceva nessun altro carattere. Questo è valido anche per i caratteri di a capo e invio. Quindi, se stai provando a configurare il modulo dal computer, assicurati che il tuo programma di emulazione terminale sia configurato per inviare i caratteri non appena vengono digitati, senza la pressione di invio. Diversamente i segni più inviati saranno seguiti da un a capo (e invalideranno la pausa di un secondo dopo la stringa +++). A conferma dell'avvenuta attivazione della modalità di configurazione, il modulo risponderà con due stringhe 'OK' seguite da un carattere di a capo.
| Send Command | Expected Response |
+++
| OK<CR>
|
Una volta in modalità di configurazione, puoi mandare i comandi AT al modulo. Le stringhe di comando sono nel formato ATxx (dove xx è il nome del parametro). Per leggere il valore corrente del parametro, invia la stringa di comando seguita da un a capo. Per impostare un nuovo valore del parametro, invia la stringa di comando, immediatamente seguita dal nuovo valore (senza spazi o caratteri di a capo in mezzo), seguito a sua volta da un a capo. Per esempio, per leggere l'ID di rete del modulo (che determina con quale altro modulo Xbee potrà comunicare), usa il comando ATID:
| Send Command | Expected Response |
ATID<enter>
| 3332<CR>
|
Per cambiare l'ID di rete del modulo:
| Send Command | Expected Response |
ATID3331<enter>
| OK<CR>
|
Adesso verifica che la modifica sia andata a buon fine:
| Send Command | Expected Response |
ATID<enter>
| 3331<CR>
|
Unless you tell the module to write the changes to non-volatile (long-term) memory, they will only be in effect until the module loses power. To save the changes permanently (until you explicitly modify them again), use the ATWR command: Fino a che non dirai al modulo di scrivere i cambiamenti nella memoria non volatile (long-term), saranno attivo soltanto fino a che il modulo resterà alimentato. Per salvare i cambiamenti in modo permanente (fino a quando non li modificherai nuovamente), usa il comando ATWR:
| Send Command | Expected Response |
ATWR<enter>
| OK<CR>
|
Per resettare il modulo e riportarlo ai parametri di fabbrica, usa il comando ATRE:
| Send Command | Expected Response |
ATRE<enter>
| OK<CR>
|
Da notare che analogamente agli altri comandi, il reset non sarà permanente fino a che non farai seguire il comando ATWR
Per maggiori informazioni: pagina hardware per lo shield Xbee, Libelium SquidBee wiki e MaxStream Xbee page.
I contenuti della guida Come iniziare sono distribiuti con licenza Creative Commons Attribution-ShareAlike 3.0. Gli esempi di codice nella guida sono di pubblico dominio.