Xbee Aiuto

Salve a tutti e grazie in anticipo per il tempo che mi dedicherete!

Ho recentemente acquistato 3 moduli Xbee Digimesh serie 1 e sto provando a configurare una mini rete per poter poi proseguire nelle connessioni...

Dopo tanto peregrinare sul web tra forum, videoguide e C.O. sono riuscito a farli funzionare anche se onestamente non capisco come... Vi riassumo quanto fatto:

Materiale Utilizzato:

2x Xbee Serie 1 Digimesh 1x 990.001 XBee Simple Board http://www.droids.it/cmsvb4/content.php?143-990.001-XBee-Simple-Board 1x 990.002-XBee-USB-Board http://www.droids.it/cmsvb4/content.php?152-990.002-XBee-USB-Board 1x Arduino Uno

Collegamento:

  • Pc -> Xbee USB + Xbee -> X-CTU

  • Arduino + Basetta millefori + Xbee Simple Board così connessi: Arduino GND -> a GND di Dx XBSB (XBeeSimpleBoard) Arduino 3.3 -> a 3.3 XBSB Arduino 0 RX -> a TX XBSB Arduino 1 TX -> a RX XBSB

Arduino code:

void setup() { // put your setup code here, to run once: Serial.begin(9600); Serial.println("In attesa di dati"); }

void loop() { // put your main code here, to run repeatedly: if (Serial.available() > 0){ Serial.print((char)Serial.read()); Serial.println(); } }

Così facendo da X-CTU riesco a ricevere quanto trasmesso anche se l'output risulta una colonna di valori singoli e non una stringa di dati... e anche se X-CTU afferma che la trasmissione non è andata a buon fine.

Le cose migliorano leggermente se invece che trasmettere una stringa di 32 bytes mi limito a un "1" o "0" l'indice dell'avvenuta trasmissione si attesta sul 50% ma di norma è sempre uno trasmesso correttamente e uno fallito.

Qualcuno che ha esperienza potrebbe dirmi se questo comportamento è normale o se ho sbagliato qualcosa?

Connettendo XBSB Rx e Tx ai corrispettivi di Arduino dal terminale non appare nulla mentre il led della XbeeBoard indica che c'è comunicazione...

Spero di essere stato chiaro e spero in un vostro aiuto!

Grazie

Davide

Serial.read() legge UN carattere, dopo di che tu AGGIUNGE il carattere a capo (Serial.println();) quindi è corretto quello che ottieni.

togli Serial.println(); e tutto dovrebbe funzionare

Grazie mille proverò!

ma il collegamento

Arduino 0 RX -> a TX XBSB Arduino 1 TX -> a RX XBSB

è corretto? perchè mi risulta molto oscura come cosa...

se volessi comandare un relay come potrei fare?

il collegamento è ok, Trasmittente (TX) -> Ricevente(RX) e viceversa :)

se volessi comandare un relay come potrei fare?

google :D