Interconnesione di schede Arduino con moduli ZigBeeLezione 4   CSP@SCUOLA   in collaborazione   con ITI FAUSER NOVARA   An...
Introduzione               •   Questa lezione fornisce i concetti base per interconnettere schede                   Arduin...
Zigbee              •    Nome di una specifica per un insieme di protocolli che realizzano                   una comunicaz...
IEEE 802.15.4              •    Introduce due tipologie di dispositivi                    – Full function Device (FFD)    ...
Moduli XBee: cosa sono              •    Implementano il protocollo IEEE 802.15.4              •    Frequenze ISM 2.4 GHz ...
Moduli XBee: specifiche              •    Range operativo:                    – XBee => fino a 30 m indoor, fino a 90 m al...
Moduli XBee: connessione con PC              •    I moduli XBee forniscono una interfaccia seriale TTL (3.3V)             ...
Moduli XBee: configurazione (1/4)              •    Software di configurazione: X-CTU                    – Scaricabile qui...
Moduli XBee: configurazione (2/4)              •    Affinchè due moduli XBee possano comunicare devono operare            ...
Moduli XBee: configurazione (3/4)          •    Selezionare il pannello “Modem configuration” e premere il pulsante       ...
Moduli XBee: configurazione (4/4)              •    Parte inferiore del pannello di configurazione:                       ...
Moduli XBee: valutazione interferenze con reti wifi          •    La figura mostra l’occupazione di banda dei canali Wifi ...
Moduli XBee: indirizzamento              •    Due modi possibili:                    – Indirizzi a 16 bit o indirizzi a 64...
Moduli XBee: utilizzo con Arduino              •    Il modulo XBee si installa su Arduino grazie al communication         ...
Moduli XBee e Arduino: esempio (1/3)              •    Topologia:                                                         ...
Modulo XBee e Arduino: esempio (2/3)                            •    Codice lato PC per sistema operativo Linux:          ...
Modulo XBee e Arduino: esempio (3/3)              •    L’Arduino esegue una semplice sequenza di operazioni elementari:   ...
www.csp.it                     rd.csp.itCSP ICT InnovationLivio Torrero livio.torrero@csp.itRegistered and Central Offices...
Upcoming SlideShare
Loading in …5
×

Csp@scuola uav corso1_lez4

767 views
689 views

Published on

Interconnessione di schede Arduino con moduli ZigBee

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
767
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
32
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Csp@scuola uav corso1_lez4

  1. 1. Interconnesione di schede Arduino con moduli ZigBeeLezione 4 CSP@SCUOLA in collaborazione con ITI FAUSER NOVARA Anno scolastico 2011-2012
  2. 2. Introduzione • Questa lezione fornisce i concetti base per interconnettere schede Arduino attraverso moduli ZigBee • Questi moduli sono spesso utilizzati per interconnettere reti di sensori • Sono sempre più utilizzati in ambito amatoriale per realizzare canali radio affidabili al fine di controllare piccoli UAV – Canale di controllo del “telecomando” – Telemetria • Vengono utilizzati anche per realizzare canali di comunicazione con moduli Arduino • La lezione fornirà informazioni relativamente alla configurazione e all’utilizzo di questi moduli con schede ArduinoLezione 4: interconnesione di schede Arduino con moduli ZigBee 2
  3. 3. Zigbee • Nome di una specifica per un insieme di protocolli che realizzano una comunicazione attraverso moduli radio a bassa potenza e basso bit rate – http://www.zigbee.org/ – IEEE 802.15.4 – ZigBee Alliance: insieme di aziende che supportano la tecnologia • Permette la realizzazione di una Wireless Personal Area Network (WPAN) – Insieme di dispositivi portatili e personali che possono essere interconnessi tra loro per scambiare dati • Connettività basata sul protocollo IEEE 802.15.4 – Livello fisico • Banda 2.4 GHz – Pacchetto di basso livello (detto trama) dotato di indirizzo sorgente e destinazione per lo scambio di dati sul canaleLezione 4: interconnesione di schede Arduino con moduli ZigBee 3
  4. 4. IEEE 802.15.4 • Introduce due tipologie di dispositivi – Full function Device (FFD) • Possono comunicare con qualsiasi dispositivo Zigbee – Reduced Function Device (RFD) • Dispositivi semplificati per consumare meno, ma con un set di funzioni ridotte • Comunicano solo con FFD • Due tipologie di rete possibili: – Peer-to-peer • Tutti i nodi possono comunicare con tutti – Stella • I nodi possono comunicare con un solo nodo detto “centro stella” che può interagire con tutti • Centro stella = FFD • Il centro stella è anche detto coordinatore della reteLezione 4: interconnesione di schede Arduino con moduli ZigBee 4
  5. 5. Moduli XBee: cosa sono • Implementano il protocollo IEEE 802.15.4 • Frequenze ISM 2.4 GHz • Due modelli – XBee => versione base – XBee PRO => versione evoluta, maggiore potenza, maggior raggio di copertura, maggiori consumi • Forniscono una interfaccia seriale TTL 3.3V • Documentazione di rieferimento: http://www.digi.com/products/wireless-wired-embedded- solutions/zigbee-rf-modules/point-multipoint-rfmodules/xbee- series1-module#overviewLezione 4: interconnesione di schede Arduino con moduli ZigBee 5
  6. 6. Moduli XBee: specifiche • Range operativo: – XBee => fino a 30 m indoor, fino a 90 m all’aperto senza ostacoli – XBee PRO => fino a 90 m indoor, fino a 1600 m all’aperto senza ostacoli • Sensibilità ricevitore: XBee => -92 dBm, XBee PRO => -100 dBm • Bit rate: 250 kbit/s • Potenza trasmissiva: – XBee => 1 mW (0 dBm) – XBee PRO => 63 mW (18 dBm) • Consumi – XBee => ricezione 50mA@3.3V; trasmissione 45mA@3.3V – XBee Pro=> ricezione 55mA@3.3V; trasmissione 150mA@3.3VLezione 4: interconnesione di schede Arduino con moduli ZigBee 6
  7. 7. Moduli XBee: connessione con PC • I moduli XBee forniscono una interfaccia seriale TTL (3.3V) • Per comunicare con un PC serve un adattatore • Adattatore USB: XBee explorer • Adattatore RS232Lezione 4: interconnesione di schede Arduino con moduli ZigBee 7
  8. 8. Moduli XBee: configurazione (1/4) • Software di configurazione: X-CTU – Scaricabile qui: http://ftp1.digi.com/support/utilities/93009396_a.txt • X-CTU permette di: – Inviare o ricevere caratteri tramite XBee su un terminale testuale – Riconfigurare un modulo XBee – Aggiornare o cambiare il firmware • Nel caso si utilizzi XBee Explorer USB occorre installare i corretti driver FTDI (virtual console port) per la connessione – http://www.ftdichip.com/Drivers/VCP.htmLezione 4: interconnesione di schede Arduino con moduli ZigBee 8
  9. 9. Moduli XBee: configurazione (2/4) • Affinchè due moduli XBee possano comunicare devono operare sulla stessa Personal Area Network (PAN) – Stesso identificativo PAN – Stesso canale radio – Indirizzamento corretto • XCTU permette di impostare correttamente questi parametri • Dopo connesso il dispositivo, dall’interfaccia XCTU: – Selezionare il baud rate corretto (9600 8N1 è default) – Premere il pulsante “test query” => messaggio OKLezione 4: interconnesione di schede Arduino con moduli ZigBee 9
  10. 10. Moduli XBee: configurazione (3/4) • Selezionare il pannello “Modem configuration” e premere il pulsante “read” • La configurazione corrente sarà visualizzata. A questo punto occorre configurare il modulo => creare una Personal Area Network Tutti i moduli devono usare lo stesso canale (range 0xB-0x1A per XBee, 0x0C-0x17 per XBee PRO) Tutti i moduli devono avere lo stesso identificativo della PAN per comunicare Indirizzo di destinazione DH => 32 bit parte alta; DL => 32 bit parte bassa Deve essere uguale all’indirizzo del nodo con cui comunicare (nei campi SH e SL dell’altro XBee) oppure può essere impostato al valore broadcast (DH=0x0, DL=0xFFFF). In questo caso tutti i nodi della PAN riceveranno i dati inviati dal nodo. ATTENZIONE: perchè DH e DL vengano considerati, il campo MY deve essere settato a 0xFFF RN=1 “random delay slots” CE=0 su tutti i nodi: in questo modo la topologia di rete sarà peer-to-peer (disabilita coordinatore) PL=> livello di potenza del trasmettitore. Settare a un valore intermedioLezione 4: interconnesione di schede Arduino con moduli ZigBee 10
  11. 11. Moduli XBee: configurazione (4/4) • Parte inferiore del pannello di configurazione: Baud rate dell’interfaccia seriale che comunica con il PC Selettore API mode: lasciare a 0 per abilitare il funzionamento della comunicazione seriale standard • Una volta impostati i valori, attraverso il pulsante “Write” questi saranno impostati sul modulo XBee • Configurate due XBee per la comunicazione è possibile testarle collegandole a due PC (o a due porte dello stesso PC), selezionando il tab “terminal”; scrivendo caratteri da una parte, dovrebbero apparire dall’altraLezione 4: interconnesione di schede Arduino con moduli ZigBee 11
  12. 12. Moduli XBee: valutazione interferenze con reti wifi • La figura mostra l’occupazione di banda dei canali Wifi (IEEE 802.11) • E’ possibile ricavare il centro di banda del canale ZigBee configurato settando il valore CH da questa formula: frequenza centrale = 2.405 + (CH – 11d) * 5 MHz (d = decimale) • Considerato che il valore ottenuto è il centro banda e che la larghezza di banda di un canale ZigBee è 5 MHz, è possibile usando uno software stumbler su un PC con interfaccia wifi capire se il canale ZigBee potrebbe essere disturbato da una trasmissione wifi operante sulle stesse frequenze (lo stumbler indica l’identificativo dei canali wifi in uso)Lezione 4: interconnesione di schede Arduino con moduli ZigBee 12
  13. 13. Moduli XBee: indirizzamento • Due modi possibili: – Indirizzi a 16 bit o indirizzi a 64 bit • Indirizzo a 64 bit => identificativo univoco a 64 bit preconfigurato sul modulo e non modificabile – Campi SH e SL letti da X-CTU – Indirizzamento unicast => come nell’esempio, metto in DH e DL i campi letti su SH e SL del nodo target – Indirizzamento broadcast => DH = 0x0; DL = 0xFFFF => tutti i nodi della PAN ricevono il pacchetto • Indirizzamento a 16 bit, alternativo a quello a 64 – Abilitato se DH = 0x0 e DL < 0xFFFE – Gli indirizzi sorgente non sono più preimpostati e l’utente deve definirli in maniera univoca sulla PAN e impostarli nel campo MY – L’indirizzo destinazione sarà riportato nel campo DL – Esempio:Lezione 4: interconnesione di schede Arduino con moduli ZigBee 13
  14. 14. Moduli XBee: utilizzo con Arduino • Il modulo XBee si installa su Arduino grazie al communication shield • La porta seriale TTL del modulo XBee è così connessa alla porta seriale di Arduino tramite lo shield • La porta seriale della scheda Arduino dovrà essere impostata al baud rate specificato nel campo BD durante la configurazione del modulo • NOTA: se si rimuove il processore Atmega da una Arduino diecimila e si collega il communication shield con i jumper in posizione USB, si ottiene un dispositivo del tutto analogo a un USB explorerLezione 4: interconnesione di schede Arduino con moduli ZigBee 14
  15. 15. Moduli XBee e Arduino: esempio (1/3) • Topologia: Canale Seriale Rete ZigBee 2.4 GHz Baud rate: 9600 NODO1 (TRASMETTITORE) NODO2 (RICEVITORE) CH = ch1 CH = ch1 ID = panId1 ID = panId1 DH = SH2 DL = SL2 DH = SH1 DL = SL1 BD = 9600 BD = 9600Lezione 4: interconnesione di schede Arduino con moduli ZigBee 15
  16. 16. Modulo XBee e Arduino: esempio (2/3) • Codice lato PC per sistema operativo Linux: Istruzione che apre la comunicazione seriale. “/dev/ttyUSB0” è il nome dell’interfaccia verso usb explorer in linux. Per verificarlo eseguite il comando “dmesg” in un terminale testuale dopo aver connesso xbee explorer, al fondo dovrebbe apparire “FTDI USB serial device converter now attached to ttyUSB0”; se appare un numero diverso da 0, usare quello Serve a ottenere la configurazione attuale dell’interfaccia seriale del PC Imposta il corretto baud rate, sia in input che outputResetta il buffer di ingressodella porta seriale del PC Modifica la configurazione per lavorare in modo raw: in pratica ogni byte ricevuto dalla seriale è inviato a questa applicazioneApplica la configurazionecosì definita alla interfacciaseriale dei PC Cerca di leggere 100 byte dalla porta seriale. Se l’Arduino con modulo Xbee ha inviato meno byte, il pc stampa comunque quanto ha ricevuto su un terminale di testo Lezione 4: interconnesione di schede Arduino con moduli ZigBee 16
  17. 17. Modulo XBee e Arduino: esempio (3/3) • L’Arduino esegue una semplice sequenza di operazioni elementari: – Inizializza la porta seriale 0 con il baud rate impostato alla configurazione del modulo XBee (campo BD) • Esattamente come fa il PC – Trasmette periodicamente una stringa di test • Sia il PC che l’Arduino operano come fossero collegati direttamente tramite un cavo seriale – La presenza della rete è trasparente – È possibile operare direttamente sui pacchetti scambiati, ma occorre configurare i moduli Xbee in “API mode”, che esula dagli argomenti del corsoLezione 4: interconnesione di schede Arduino con moduli ZigBee 17
  18. 18. www.csp.it rd.csp.itCSP ICT InnovationLivio Torrero livio.torrero@csp.itRegistered and Central OfficesEnvironment Park - Laboratori A1via Livorno 60 - 10144 TorinoTel +39 011 4815111Fax +39 011 4815001E-mail: marketing@csp.it 18

×