Collegare PC a stand-alone tramite una coppia di XBEE

Ciò che devo fare è in oggetto. Premetto che è tutto alimentato a 3,3V. I collegamenti sono questi: Lato PC c'è un convertitore sparkfun USB-Seriale le cui uscite sono collegate al primo XBEE USB-->FT232RL-->XBEE TX--DIN RX--DOUT DTR--DTR

Lato stand-alone (sempre tutto alimentato a 3,3V) le connessioni sono queste: DOUT--RX DIN--TX DTR--C 100nF--Reset

Se provo ad inviare uno sketch i LED tx/rx dell'adattatore lampeggiano sequenzialmente ma piuttosto lentamente rispetto ad una normale trasmissione seriale, dopo qualche secondo esce il messaggio: avrdude: stk500_getsync(): not in sync: resp=0x00 avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x00 che per quanto ho appurato quando ho scritto la mia Guida, esce quando c'è il reset "bloccato" Se inverto, da un lato o dall'altro, o in entrambi i lati, i segnali TX e RX il led rx non si accende più; quindi questa è l'unica configurazione possibile in cui c'è una comunicazione. Non ho toccato la programmazione degli XBEE in quanto ho letto che sono già settati per il "transparent mode", non ho nemmeno inserito librerie particolari nelloo sketch, semplicemente la mia intenzione era testare una comunicazione wireless. Dove sbaglio?

Ciao michele, per me gia' rispondere a una tua richiesta di aiuto e' un traguardo personale, pero' non so se posso esserti d'aiuto.

Ti dico la mia, che probabilmente o ti aiuta o ti fa accendere una qualche lampadina (oppure, cosa piu' probabile, non ti serve a nulla)

Quando io programmavo l'arduino per fargli effettuare una qualche comunicazione con un altro xbee non potevo farlo con l'xbee shield attaccato sull'arduino, ma dovevo prima programmare senza l'xbee e poi montarcelo su . Questa cosa penso che era dovuta al fatto che l'xbee "occupa" i pin TX ed RX (a suo tempo la capii bene questa cosa, invece ora te la sto dicendo proprio in parole povere).

Quindi potresti provare, prima a programmare l'atmega in stand-alone con lo sketch che ti serve e poi attaccarci l'XBEE.

Spero di esserti stato di aiuto,

Fabrizio.

Non mi fare arrossire :blush:, qui tutti hanno da imparare, ci mancherebbe altro; ho provato due volte e rieditare il mio post per aggiungere che avevo letto questa cosa che gli XBEE usano le stesse linee tr/rx per comunicare tra loro, e forse questo spiega il problema e mi sa che tu me l'hai confermato, perché non ne ero molto convinto; ho rinunciato perché il Forum stasera è un po' peggio del solito, almeno per me. Ciò detto io NON sto usando alcun Arduino come ho scritto; ho una scheda in stand-alone con una connessione seriale (il chip ha il bl a bordo), normalmente uso un convertitore USB-Seriale per aggiornare il firmware; volevo quindi provare ad aggiornarlo via wireless, frapponendo due xbee tra il convertitore e lo stand-alone. Più che altro per fare un po' di test di comunicazione, ma ora mi è venuta un'idea e l'ho testata in diretta: nel micro in stand-alone c'è uno sketch che comunica col serial monitor, ho provato ad aprile il serial monitor ed a resettare lo stand-alone e meraviglia! Il menu del firmware mi appare sul serial monitor e se faccio una scelta da tastiera dialogano! XD Quindi avevo fatto tutto giusto, evidentemente l'operazione che intendo fare NON è fattibile proprio per il motivo che hai detto anche tu; ma sarei curioso di sapere se qualcuno ha una soluzione, comunque l'esperimento è OK. Grazie Fabrizio, la tua conferma mi ha evitato di fare la nottata in laboratorio per capire cosa non andava, quindi mi hai dato prezioso aiuto, ti abbuono il caffé che mi dovevi ;)

f.schiano: Quindi potresti provare, prima a programmare l'atmega in stand-alone con lo sketch che ti serve e poi attaccarci l'XBEE.

Oppure spostare tx ed rx dell'xbee su un'altra coppia di pin con la NewSoftSerial..ammesso che abbia capito il problema :D

sciorty:

f.schiano: Quindi potresti provare, prima a programmare l'atmega in stand-alone con lo sketch che ti serve e poi attaccarci l'XBEE.

Oppure spostare tx ed rx dell'xbee su un'altra coppia di pin con la NewSoftSerial..ammesso che abbia capito il problema :D

credo che lui voglia fare una programmazione seriale via xbee il che implica che bisogna utilizzare la seriale hardware che comunica con il bl ;)

ma scusate ma a che baud comunica l'ide di arduino col bl? e che velocità raggiungono gli xbee? (no non è per fare polemica ma è per pigrizia e perchè davvero me lo sto chiedendo per sapere che baud devo avere per la programmazione a distanza di arduino XD )

azz superlol, alla fine aiuto io a te invece di tu a me, bella logica :fearful: Confermo che il mio test doveva consistere nel riuscire ad inviare uno sketch al micro in stand-alone via wireless, quindi mi servono i pin 2 e 3 del 328. Riguardo i bps posso confermarti che di fabbrica sono settati a 9600, per la semplice ragione che questa è la velocità a cui è settato il serial monitor e li ho fatti dialogare egregiamente. Penso proprio che, se nessuno c'è mai riuscito, che il problema sia la sovrapposizione di segnali che sputtana la tempistica dell'IDE, infatti avevo notato una certa lentezza nel lampeggio dei led tx/rx. Il dialogo sol serial monitor va invece a meraviglia, e questo in realtà era il mio vero obiettivo perché fra non molto dovrò lavorare ad un circuito che avrà una base collegata via wireless ad un dispositivo portatile.

A tale proposito il secondo problema che ho incontrato è questo: la distanza NON supera i 40-50cm, ma bisogna considerare che io ho le versioni senza antenna, ho solo i cavetti che si attaccano al modulo e terminano con una presa SMA, e con questi soltanto ho raggiunto i 50cm, altrimenti non arrivavo nemmeno a 15. Come si fa (ma vorrei risposte verificate non ipotesi, se possibile) ad ottenere i 30mt indoor garantiti dal datasheet, possibile che basti quell'antennino che ho visto sul sito, come opzione?

menniti: altrimenti non arrivavo nemmeno a 15. Come si fa (ma vorrei risposte verificate non ipotesi, se possibile) ad ottenere i 30mt indoor garantiti dal datasheet, possibile che basti quell'antennino che ho visto sul sito, come opzione?

Senza antenna collegata è già un miracolo che fai 50 cm :) Metti le antenne e vedrai che i moduli raggiungono la distanza prevista senza problemi. Per quanto riguarda il discorso programmazione wireless si fa senza problemi con gli Xbee, e lo dico per averlo fatto e non per sentito dire, prima di tutto è indispensabile programmare tramite Xctu il baud rate dei moduli a 57600 se è una 2009 oppure a 115200 se è una UNO, il transparent mode lavora a velocità fissa e per modificarla o si mandano i corretti comandi AT, o si usa la modalità API, oppure si preimposta. Con gli Xbee si usa RTS per l'autoreset, va collegato a DIO3 lato pc e tramite un transistor aggiuntivo per collegarlo al reset di Arduino, vedi questo tutorial di Ladyada che spiega tutto su come settare Xbee e il pc per programmare Arduino tramite Xbee, puoi saltare la prima parte relativa al setup degli indirizzi se stai usando moduli serie 1.

astrobeed:

menniti: altrimenti non arrivavo nemmeno a 15. Come si fa (ma vorrei risposte verificate non ipotesi, se possibile) ad ottenere i 30mt indoor garantiti dal datasheet, possibile che basti quell'antennino che ho visto sul sito, come opzione?

Senza antenna collegata è già un miracolo che fai 50 cm :)

ah, bene, mi rincuoro :sweat_smile:

Metti le antenne e vedrai che i moduli raggiungono la distanza prevista senza problemi.

devo fare un ordine a RS (per prendere il 12080 ed il famoso transistor :)), speriamo che le vendano separate le antennine "a frusta", per provare ne ho usate alcune che avevo, ma sono per 868MHz e ovviamente non danno alcun risultato utile; nelle more, secondo te, un pezzo di cavetto rigido di misura calcolata, come vedo fare a volte, può portare beneficio?

Per quanto riguarda il discorso programmazione wireless si fa senza problemi con gli Xbee, e lo dico per averlo fatto e non per sentito dire, prima di tutto è indispensabile programmare tramite Xctu il baud rate dei moduli a 57600 se è una 2009 oppure a 115200 se è una UNO, il transparent mode lavora a velocità fissa e per modificarla o si mandano i corretti comandi AT, o si usa la modalità API, oppure si preimposta. Con gli Xbee si usa RTS per l'autoreset, va collegato a DIO3 lato pc e tramite un transistor aggiuntivo per collegarlo al reset di Arduino, vedi questo tutorial di Ladyada che spiega tutto su come settare Xbee e il pc per programmare Arduino tramite Xbee, puoi saltare la prima parte relativa al setup degli indirizzi se stai usando moduli serie 1.

Grazie, è una cosa che voglio fare solo a livello sperimentazione, in realtà a me interessa mettere in comunicazione due stand-alone e NON programmare i micro, però visto che ho lavorato su tutte le possibili tecniche di programmazione seriale, voglio imparare anche questa wireless, magari per la prossima versione della Guida :) Ho preso i muduli 1, da dove esattamente devo partire su quell'ottimo tutorial? Grazie!!

Leggermente OT.

Posso permettermi di suggerirvi questo modulo?

Costa molto molto meno dell' XBEE, è compatibile come pin-shield e va veramente bene.

Per l'antenna puoi provare a mettre un corto spezzone di filo di 2-3 cm e vedere che succede.

BaBBuino: Leggermente OT.

Posso permettermi di suggerirvi questo modulo?

Costa molto molto meno dell' XBEE, è compatibile come pin-shield e va veramente bene.

Per l'antenna puoi provare a mettre un corto spezzone di filo di 2-3 cm e vedere che succede.

E' carino, hai avuto modo di confrontarne le prestazioni con l'XBee originale? Attualmente sui miei XBee c'è un filo adattatore di una quindicina di cm innestato nella presa antenna, dici di collegare questo spezzone sulla presa SMA che si trova all'estremità del filo?

L'XBEE funziona in banda ISM sui 2.4 GHz.

Puoi usare il mezzo d'onda o il quarto d'onda, che nel caso dei 2400 MHz sono:

? / 2 = 6.25 cm ? / 4 = 3.13 cm

Più sei preciso e più hai efficienza. Provali entrambi e vedi quale dei due è il migliore per distanza coperta. Secondo me sarai più che soddisfatto e non comprerai un'antenna già pronta.

Quanto all'aggeggio che ho usato io (XRF) arriva anche a 300 mt...

Grazie, prendo nota, domani provo e ti faccio sapere :); l’antenna non la prendo comunque, su RS costa un fottìo, tanto valeva prendere il modello con l’antenna in dotazione, ma sono curioso di vedere gli effetti dello spezzone, naturalmente lo metto ad entrambi gli xbee.
Il “tuo” aggeggino compatibile costa circa 6 euro in meno dell’XBee (ma ha l’antenna in dotazione), val la pena farci un po’ di prove, l’unica cosa che mi scoccia da morire è che devi farci il khamasutra con quei pin distanziati a 2mm invece del solito 2.54, ieri sera ho perso mezzora a fare i collegamenti, ad un certo punto mi sono messo a saldare ]:smiley:
Ma dimmi, si compra solo da quel sito? Ho visto pagamento in sterline, ma è in UK o è il solito sito cinese?

Ora aspetto risposta da Astrobeed perché non ho ben capito da che parte del tutorial devo iniziare a seguire. :cold_sweat:

Io l’ho preso su Ebay.co.uk e ho speso molto meno che gli XBEE Pro.

http://www.ebay.co.uk/itm/XRF-wireless-RF-radio-UART-RS232-serial-data-module-XBee-shape-Arduino-PIC-etc-/320801358237?pt=LH_DefaultDomain_3&hash=item4ab140419d

Mi sembra materiale buono e non Made in China nel senso deleterio della cosa.

Ok, ne prendo un paio, grazie della dritta!

Ho letto sul datasheet che in realtà questi modulini XRF trasmettono a 868MHz e non a 2,4GHz, come gli XBee originali, quindi di compatibile hanno solo quella schifezza di pinatura da 2mm; invece quello che ha di interessante questo Produttore sono una board per realizzare circuiti in stand alone con i connettori Arduino-compatibili, ottimi per chi non vuole abbandonare un Arduino sotto a delle shield, e costa 4 soldi e, per me, gli adattatore per Xbee, questi compatibili pin-to-pin, con la possibilità di montare dei componenti aggiuntivi per alimentarli a 5V (riduttore, partitore, ecc).

Ed è esattamente quello che ho fatto io! XD

Ho fatto le prove con due cavettini da 6,25cm saldati direttamente sugli Xbee, la situazione effettivamente è migliorata, ma la precarietà dei collegamenti mi ha fatto desistere dal provare distanze più serie e l'antenna più corta; ho ordinato quei bellissimi adattatori: prevedono, se ho ben letto, sia la riduzione della Vcc a 3,3V che il partitore per la conversione dei segnali da 5V a 3,3V, anche se non vedo dove andrebbero saldate le due R 10K e 15K; ma se anche non fosse previsto le metterò lato saldature. Una volta preparati gli schedini potrò finalmente realizzare dei cavetti con due terminali strip e collegare tutto come si deve! Grazie del suggerimento BaBB!