I’m hoping someone can help me work out how to set up my XBees with my Arduinos. I have spent a lot of time searching but cannot find exactly what I need to know and am getting very confused. If all of this has been covered before then a link would be much appreciated.
Equipment
I have 3 XBee series 1 modules, 2 Arduinos with Xbee DFRduino shields, 1 XBee mount to connect to my PC some LEDs and some relays.
Aim
To send commands from my PC from 1 XBee to the other 2 XBees to control relays. I would also like to get feedback from the 2 Arduinos to let me know the current state of the relays.
Now what I think I have learnt is that the only way that I can get the 3 XBees to talk to each other like this is using DigiMesh rather than P2P…. I have flashed all 3 with XB24-DM and set the network ID’s to match.
Now I am confused.
Initially all I want to do is get the pin 13 led to turn on and off on each Arduino from my pc XBee. I think I should be OK from there.
Firstly, is it actually possible for my XBees to send and receive data? I have seen a lot of “set one to send and the other to receive” but nothing about sending anything back. For example, if I send a command to one Arduino to run a script, I want to know when it has finished…
Secondly, how do I specify which of my remote XBees to send a command to? Or do I have to send a message out to both of them but make sure that they are set up to understand different commands?
The 802.15.4 firmware supports 3 Xbee, but not auto-mesh routing.
So either firmware will work for you. The only thing DigiMesh offers is that 1 of yoru XBee can ‘route/forward’ data for the other 2. 802.15.4 doesn’t supprot this.
Both support API frames, which make your 1-to-2 design easier because you can address packets on a every send. With AT mode, you have to either work in broadcast or change Xbee registers between sends.
Thanks for your answers but I might need a bit more spoon feeding I’m afraid.
What is “auto-mesh routing”?
You say that either firmware will work for me but then that only DigiMesh lets me ‘route/forward’ data for the other 2… doesn’t that mean I have to use DigiMesh if I want to get feedback from the 2 remote XBees?
With AT mode, you have to either work in broadcast or change Xbee registers between sends.
I can’t chose AT mode as far as I can tell… They are Series 1 XBees, I thought I could only set them to XB24 or XB24-DM which don’t have those options like the XB24-B modems do…
If just flashes a red LED whenever an XBee is attached.
I also have one of these and that’s not receiving anything either.
Really getting me down now, every piece of documentation is either for a slightly different version or just doesn’t work! And pretty much everything I read is completely different to the last.
802.15.4 works much like Ethernet+Hub (not TCP/IP). So each unit transmits, ALL remotes see the message, yet ‘filter’ on the address, with most discarding the message as not for me. This means everything is line-of-sight. For radio A to talk to radio B, A must be able to talk to B.
DigiMesh works differently. In some ways it starts like 802.15.4 - say radio A sends a message, which is seen by B, C and D. However, the auto-routing allows radio B to understand that any message for E should be forwarded by B to E. So A perhaps cannot talk to E directly, but magically when it sends a message to E, ‘some radio inbetween’ takes care of forwarding it. ZigBee and DigiMesh do this, Xbee with ‘DP’ or point-multi-point firmware like 802.15.4 do no.