bluetooth bee standalone

Buongiorno a tutti gli utenti di questo forum!
Non so se il luogo é quello giusto, ma sicuramente molti di voi ne capiscono più del sottoscritto che é un neofita.

Ho da poco acquistato una coppia di moduli Bluetooth-Bee Standalone, con l'idea di realizzare un progetto che prevede 3 switches o potenziometri in grado di accendere/spegnere/regolare altrettanti LED a distanza.
Oltre che dei due suddetti moduli, dispongo di una scheda Xbee USB Board e 2 adattatori Xbee Simple Board, per facilitarmi il testing su breadboard.

Dopo aver letto diversi post su svariati forum (tra cui questo), ho realizzato di avere le idee molto confuse, soprattutto perché molto spesso si parla di interfacciare un modulo con un computer e spesso con l'utilizzo di programmi per Windows quali X-CTU o SSCOM32E.
Io dal canto mio preferirei utilizzare l'IDE Arduino da Mac, ma non avrei problemi a migrare su un portatile con ambiente Windows.

Ho capito che con l'interfaccia software di Arduino posso settare parametri quali nome, modalità master/slave, pin-code, ecc. dei singoli moduli.
Per fare questo ho utilizzato la Xbee USB board, rilevando risultati positivi con il Serial Monitor per ogni modulo.

Ho anche realizzato che ogni singolo modulo nel suo piccolo può essere utilizzato come una mini Arduino e ho fatto semplici test con esiti positivi con gli esempi Blink, Physical Pixel, ecc.
A riguardo, la cosa un po' ardua da capire é quali pin degli adattatori corrispondono ai pin dei moduli, soprattutto come riferimento per la programmazione.
Ad esempio: se dico al modulo di leggere un comando da monitor seriale e accendere un LED collegato al pin4, legge il comando e accende il LED sul pin4 del modulo.
Ma quale pin dell'adattatore dovrebbe sortire il medesimo risultato? Boh... ma questo ai fini del progetto non sarebbe un grosso problema in quanto potrei collegarmi direttamente ai breakout pin dei moduli.

Quello a cui però in assoluto mi riesce difficile arrivare é come impostare uno sketch che dica ai due moduli di cercarsi e parlare tra loro in modo univoco (intendo come coppia legata in modo unico ed imprescindibile da pairing) e faccia eseguire comandi di lettura da una parte per inviarli in scrittura all'altra parte.

Qualcuno ha già avuto esperienza con i suddetti moduli o ha idea di come realizzare quanto ho descritto?
Ringrazio anticipatamente per l'attenzione e resto in ascolto :wink:

Il X-CTU serve per impostare in modo comodo dei parametri sul XBee. Se lo usi come descrivi Tu devi studiarteleo bene e lavorare con i comandi diretti che invii tramite seriale.
Ciao Uwe

Uwefed, grazie per la risposta... che come vedi é peraltro l'unica!
Ho visto che con X-CTU si possono far funzionare i moduli XBee utilizzando le linee I/O in modalità "passing".
Questo però mi dà la possibilità di accendere/spegnere e stop... sarebbe bello sfruttarle meglio con la modulazione dei segnali.
Non avresti qualche dritta in più, come ho detto sono proprio alle basi e non riesco a venire a capo dei problemi riscontrati.
Soprattutto, visto che i moduli di cui parliamo sono Arduino-compatibili, mi piacerebbe puntare sulla programmazione tramite l'IDE Arduino.

Spero che anche altri possano partecipare, grazie!

Forse e ripeto forse, puoi usare le Xbee API che però non so se sono compatibili con i tuoi moduli, prova a controllare...

Ciao,
hai già consultato wiki tipo questa:
http://www.seeedstudio.com/wiki/index.php?title=Bluetooth_Bee
?

EDIT:
oltretutto vedo che il modulo montato sul bt bee è il medesimo di cui parliamo qui:
http://forum.arduino.cc/index.php?topic=104903.0
ma con un fw (credo) customizzato (non è nè HC05 nè HC06)

Scusami pitusso se ti "vengo a cercare" :slight_smile:
volevo sapere se hai letto il mio PM,
grazie

@Testato
risposto :grin:

Grande pitusso!
Viste entrambe, soprattutto letta e riletta la tua guida, bel lavoro.
Ma se vuoi prendere spunto dalle mie perplessità per ampliarla e renderla perfetta... bé ne sarò contento.
Come già detto nel primo post, quello che vorrei fare con la coppia di moduli, é sì programmarli col pc, ma renderli indipendenti (altrimenti che senso avrebbe il termine "standalone"?) e lasciarli comunicare tra loro.
Correggimi se sbaglio perché forse mi perdo io da qualche parte, ma mi sembra di capire che l'utilizzo di questo tipo di tecnologia tenda sempre a creare coppie di comunicazione xbee-pc, non xbee-xbee.
Attendo sviluppi, a presto :wink:

se metti ad un arduino un bluetooth master, ed ad un altro arduino un bluetooth slave, comunicheranno fra loro, senza necessita' del pc

Quindi trattandosi nella fattispecie di moduli standalone ne settiamo uno come master e l'altro come slave e il gioco é fatto... Idee per uno sketch efficace?

Buongiorno a tutti.
Dopo diverse prove, alla deriva tra la mancanza di esperienza e la scarsità di informazioni efficaci sull'argomento sono giunto a risultati che si avvicinano alle mie esigenze.

Non ho avuto modo di utilizzare i comandi in modalità AT, né con X-CTU su pc, né Coolterm su Mac o qualsiasi altro programma del genere.
Mi manca forse una chiave, tipo collegare qualche specifico pin a GND? Mah...

Pescando qua e là sul web sono riuscito a settare correttamente i parametri di base utilizzando i comandi "\r\n+" all'interno di uno sketch.
Ho raggiunto anche lo scopo in modo parziale con gli sketch allegati.

So bene che non sono il massimo della raffinatezza, ma funzionano...

  1. inviando lo sketch del master senza queste righe:
    blueToothSerial.write(s1);
    delay(10);
    blueToothSerial.write(s2);
    delay(10);
  2. resettando e mettendo in collegamento i moduli.
  3. eseguendo nuovamente l'upload del master completo e tutto funziona regolarmente.

Tuttavia quando spengo uno dei due moduli mi ritrovo punto e a capo.
In qualche modo quelle linee sembrano interferire con la connessione.

Probabilmente eviterei rogne se la parte legata alla connessione la eseguissero i moduli a livello hardware e potessi programmare la sola logica, ma come già detto non ho modo di farlo.

Qualche idea sulla fonte del problema?
Qualche consiglio su come aggirarlo?

Grazie in anticipo :wink:

Twobuttons_BlueRX3.ino (1.12 KB)

Twobuttons_BlueTX3.ino (1.29 KB)