hola amigos. finalmente ho ordinato 2 coppie di arduino+xbee+sheield_xbee. nell'attesa che mi arrivino, mi sto documentando sul funzionamento della comunicazione tramite questo standard. praticamente, come descritto in altri post, il mio sistema dovrà raccogliere informazioni da sensori da un arduino e mandarle, via xbee, all'altro arduino che dovrà elaborarle e mostrarle su un lcd (e probabilmente anche memorizzarle). ho visto un po' in giro (anche sul playground) su come configurare il tutto, usando l'xbee connesso all'usb come gateway che invia e riceve dati in remoto. io però vorrei dare la possibilità di utilizzare (in fase di realizzazione, e quindi di debug) l'arduino connesso all'usb anche come sistema stand alone, in grado quindi di elaborare i dati e mostrarmeli a schermo, nonchè eventualmente poter inviare dei dati (ma giusto per testare la connessione...tipo richiedere l'accensione di un led etc). quindi la mia idea è la seguente: detto A l'arduino collegato via USB, e B quello remoto, pensavo di istanziare 2 socket di comunicazione seriale su A a frequenze di trasmissione differente, una per l'usb e una per xbee, e su B una sola socket per xbee. B invia dati raccolti da sensori ad A e quest'ultimo, dopo averli elaborati (roba di medie, valori massimi....) li mostra sull'lcd e sul monitor seriale
la domanda è la seguente: se po' fa????? :-?
Apri una connessione seriale tra i due xbee e un'altra tra xbee e computer. Utilizza la libreria newsoftwareserial
http://arduiniana.org/libraries/newsoftserial/
per arrivare al risultato. E' davvero facile in questo modo!
Fede
non credo si possa fare, perché la seriale di Arduino parla con l'Xbee, e quindi non può parlare contemporaneamente con il computer.
Non metto le mani sull'Xbee da quest'estate: quindi mi farebbe piacere che qualcunaltro confutasse questa info, può anche darsi che abbia detto una c*****a.
però
"jo" ha postato recentemente sul nostro gruppo di google torinese
http://groups.google.com/group/arduinotorino/browse_thread/thread/211b942ed9124668
questo terminale in python che ti permette di configurare l'Xbee senza usare X-ctu.
http://forums.trossenrobotics.com/tutorials/how-to-diy-128/xbee-basics-3259/
sennò c'é questo tutorial, che é quello che ho seguito io
o anche questo non é male, perché ti da pezzi importanti di codice se parti proprio da zero
http://arduinofun.com/blog/2009/10/19/arduino-wireless-xbee/
guarda la sezione "project files" del sito ci sono delle cose turche che mi sono perso.
Happy Hacking!
azz, federico, hai postato prima che finissi di scrivere!
@federico: la documentazione della libreria? non dirmi che devo cercare di interpretare il codice da quella pagina web perchè di funzionamento (a parte l'esempio descritto in modo sommario) c'è ben poco
@davide: uno dei 2 link l'avevo già visto...vedrò anche l'altro
stavo leggendo la configurazione dello shield, e leggevo che se il jumper è settato su xbee, la comunicazione avviene solo tra i 2 arduini; se è settato s usb, la comunicazione avviene tra usb e xbee remoto...misto quindi "sembrerebbe" non possa essere fattibile
Guarda, l'esempio scritto in modo sommario e' del tutto definitivo e esplicativo Praticamente la libreria crea una comunicazione seriale partendo da due pin che indichi. Puoi aprire quante seriali vuoi in questo modo. L'ho utilizzata proprio con gli xbee, la certifico io
Ad esempio
#include <NewSoftSerial.h>
NewSoftSerial gps(4,3);
crea una seriale coi pin 4 e 3 e la chiama gps. (quale sia RX e quale TX andra' letto sulla documentazione nello zip)
Quindi puoi chiamare ad esempio al posto di Serial.println() gps.println() ecc.
Non ti rimane che provare!
ah...ma quindi sull'oggetto di tipo newsoftserial vengono chiamati gli stessi metodi di serial? una cosa: che guadagno c'è usando questa libreria? :-?
Uhm... che senza questa libreria, non puoi (o meglio devi trovare un modo tutto tuo) utilizzare due seriali su arduino.
Forse mi sfugge il problema, ma non hai detto che dovevi attaccare su un arduino un xbee e la usb al pc? E se la seriale di arduino la usi con l'xbee, come lo attacchi al pc? Ti servira' la libreria suddetta!
e non posso fare una cosa del tipo:
Serial s1;
Serial s2;
s1.begin(freq1);
s2.begin(freq2);
??
non che io sappia... funziona???
ah bho...devo testare ;D
secondo me no, ma tu testa
Ciao ragazzi vorrei sapere se siete arrivati aduna soluzione?grazie per la risposta
sul datasheet dell'xbee c'è scritto che dovrebbe funzionare, nel senso che l'hardware non avrebbe nessun impedimento a fare una doppia comunicazione con il microcontroller e via radio con l'altro microcontroller equipaggiato con l'xbee, anzi mi sà che questo tipo di schema è riportato come esempio...
ringrazio Davide per i links
ho trovato questo sito diamoli un occhiata forse ci sta la risposta
http://itp.nyu.edu/physcomp/Tutorials/Tutorials