Home/Support/Support Forum/Send Xbee command from arduino

Send Xbee command from arduino

0 votes
I'm new in Xbee/Zigbee world and I have this problem.
I need to create a PAN with 3 xbee module.
1 module (transmitter) send two simple string, "A" or "B" and one of the others module has to blink a led.

I thought changing the DL programmatically, when the transmitter needs to send "A" it change with the "A-module" address, otherwise with B.

Is it the right way ? How can I change this DL value ?
The transmitter is controlled from Arduino and I need to send command value from it.
asked Dec 16, 2014 in RF Solutions and XBee by enfix New to the Community (2 points)

Please log in or register to answer this question.

1 Answer

0 votes
From the sounds of it, you are not issuing the proper commands to enter command mode. Try connecting your processor to a PC and a terminal program. Then run your script for changing the radios parameters. I think you will find that it is not following the command mode sequence documented in the product manuals for the Xbee module.
answered Dec 16, 2014 by mvut Veteran of the Digi Community (13,036 points)
I need to send command to Xbee module using Arduino, not via computer with XCTU.
Imagine you have 2 buttons, one has to change the DL to "1",  the other to "2". Is it possible ?
Do you have another processor on the other end to receive the 1 or 2 values or are you trying to send a value of 1 or 2 and expecting the radio to change states?
I have no processor in my receivers. Micocontroller is only for the transmitter.
Is it not possible to change dinamically the DL or others way ?
No in the way you have been doing it.  You need to use API mode and Remote AT commands to change a remote DIO line from an output low to an output high.
I can already set low/high using pin D0 like this sample http://examples.digi.com/sensors/802-15-4-digital-input-with-a-button/
What I need is to decide which of the two devices must receive the value.
I know that I could put a controller on the receivers and discard the data by adding an "If-statement" but it is not what I'm looking for.
Why I can't change DL parameter ? Is it a physical problem ?
If you are using the 802.15.4 modules, then I would suspect just changing the DL command should allow you to change which module is receiving the DIO line transfer.
Ok, but how can I do this with Arduino ?
Press button 1 --> send ATDL 10 (example value)
Press button 2 --> send ATDL 11
but how can i "write" send command ?
Using simple SoftwareSerial don't work: i put "+++" and "ATDL 10" but I don't receive "OK" responde....
That is not something that Digi would support.  You need to figure out within your 3rd party processor how to issue the command mode sequence in order to get the OK indicating your are in command mode before you issue the DL command.