Xbee serie1

Ciao a tutti. Ho appena iniziato ad usare due moduli Xbee serie 1. Presi , saldati gli adattatori per breadboard collegati e programmati, testata la comunicazione tramite seriale tra due arduino a distanza (provato a far accendere un led in sul ricevitore in base al segnale input dato da un potenziometro sul trasmettitore). Funziona . Bene: ma se io voglio avere un Xbee coordinatore che riceve dati da due Xbee diversi? Se ho ben capito devo passare a lavorare in modalità API, ma non trovo nessun tutorial chiaro e semplice in rete. Qualcuno ha qualche link da passarmi per provare a leggere e capire? Grazie.

gazza_mo: Bene: ma se io voglio avere un Xbee coordinatore che riceve dati da due Xbee diversi? Se ho ben capito devo passare a lavorare in modalità API, ma non trovo nessun tutorial chiaro e semplice in rete. Qualcuno ha qualche link da passarmi per provare a leggere e capire? Grazie.

Sulla serie 1 non esiste il coordinatore perché non implementano un mesh network come i serie 2, quello che un Xbee serie 1 trasmette lo ricevono tutti gli altri entro il raggio di portata. Non hai problemi per ricevere i dati da due, o più, Xbee diversi, però dovrai provvedere a distinguere i pacchetti dati inviati con un ID univoco per far capire a chi riceve chi li ha trasmessi, la cosa non cambia nemmeno se usi la serie 2.

Mi sembra di aver capito che si necessiti della modalità API per poter gestire i segnali entranti da più Xbee per evitare sovrapposizioni di ricezione dei dati, corretto? Esiste un qualche tutorial a voi noto e abbastanza semplice per poter apprendere come fare?

Dopo due giorni di ricerche su internet non ho ancora trovato un tutorial con sketch per poter capire spedire, ricevere e interpretare la stringa con i dati che voglio ( esempio una lettura di un input digitale ) tramite due o più xbee serie1 verso un unico arduino+xbee che riceve dagli altri due ( o più). Qualcuno ha qualche sketch da mandarmi per poter imparare? Grazie

Gazza io vado di modalità AT e non API.

Per spedire:

#include <SoftwareSerial.h>
SoftwareSerial xbee(3, 4); // qua setti le porte RX e TX

....... nel setup inizializzi il modulo....

xbee.begin(9600); // xbee

.....e nel loop per spedire messaggi....

xbee.print("<0200A>"); // Invia alla centralina il segnale di allarme

per ricevere su mega 2560 e xbee impostato sulle rx1 e tx1 (quindi serial1):

..... nel loop

while (Serial1.available() > 0) { // Se c'è un segnale sulla SERIAL 1
                        
	char ric_ext = Serial1.read();
        String inputString += ric_ext; // Componi una stringa con tutti i caratteri fino a quando...
	if (ric_ext == cmd_end_trx) {  // ...non riceve il carattere di fine trasmissione! nel mio caso '>'


....

Spero ti possa essere di aiuto o di ispirazione… purtroppo pure io ho trovato poco materiale in rete, quindi ho dovuto fare quasi tutto da solo.

Grazie Terror, questa settimana spero di trovare il tempo di riuscire a provare. La trasmissione trasparente tra due è ok, stavo pensando di provare ad usare il modulo in standalone, ecco perchè volevo qualche chiarimento in più sulle API.

Comunque questi moduli sono flessibilissimi, peccato solo che si trovino pochi tutorial che vadano oltre alla trasmissione seriale tra due moduli, o comuqneu tutorial chiari e commentati in modo da imparare facilmente.

Comunque grazie tanto per la dritta, intanto imparerò ad usare il tuo codice che mi hai suggerito!!! :)

PS : mi sono scordato.... La mia domanda era anche rivolta al fatto di voler eventualmente usare più moduli che comunicano ad un arduino i loro valori: il solo comando serial.available è sufficiente per raccogliere i dati da più sensori ed evitare collisioni con perdita di dati da qualche sensore?

Per quel poco che ne capisco io è meglio usarli su porte separate dalla 0 e 1. Se usi xbee.print e xbee.read almeno usi un canale dedicato ed è più ordinato anche il codice, oltre che non crearti casini con il serial standard su schermo.

Sulla documentazione hai pienamente ragione, c'è poca roba, speciamente per chi non mastica come il sottoscritto materiale ultra-tecnico.

Con la serie 1 non so se hai la possibiltà di creare una "rete" comunicante tra ogni xbee.

Un giorno, quando sarò più sgamato, proverò la modalità API per sfruttarli al 100%.