Can I use Xbee kit to control 20-40 devices from a PC (with Arduino)?

I have a project at initial feasibility phase which I desperately need some technical help with. I have a PC which I want to act as a central controller for a number of remote devices. There will be between 15 & 40 of these semi-permanent ground mounted units. Each device will be a maximum of 70m away from the PC & 0-10m away from its nearest neighbour. I’d like them to be wireless, so 2.4Ghz radio is my first avenue of investigation.

Q1) Can a PC act as a transmitter (someone on MSUK-forum suggested Arduino+Xbee) to talk to remote receivers?

I would like to either create a text file with the unique frequencies of each device (easy if they’re all fixed), to be read by the S/W on the PC OR somehow register each device as it ‘pairs’ (bonds? sorry don’t know the terminology) with the PC.

Q2) Is it possible to detect/store the ID of each device if they’re using Zigbee/mesh based comms (& what format is it)?

For each ‘session’ the PC would send the state it wants the device to be in, when the device is later activated, there are 4 states currently.

Q3) Does having 4 states per device mean it needs 4 channels or could I make do with 1 & just send 1-4 ‘pulses’ or maybe 4 diff. lengths of signal?

A1) You could use your computer as a transmitter by plugging any XBee into it. I reccomend an adapter board that you could also use to program your modules. Something like the boards from seeed studio or from sparkfun work well. The development board from digi is also very nice.
Each XBee has a unique serial number that you will use to address the module (this is also the modules MAC address.) It is also possible to give each device a node identifier (NI) which can be any ASCII string up to 20 characters in length.
A2) If you are using Digimesh you can send the ND (network discovery) command. ND returns a list of all modules on your network. This includes their addresses and node identifier. More information can be found in the manual: http://ftp1.digi.com/support/documentation/90000991_H.pdf
A3) These modules handle all the communications for you. They take care of re-transmits acknowledgements as well as all the low level transmission details. All you need to do is send the module a packet of information that includes what you want to send and what address you want it sent to. The module will do the rest. I recommend looking into API mode in the manual listed above as it seems to match your requirements. You can also toggle digital out pins on the module remotely if that matches your requirements better than serial I/O.

1 Like

That sounds very promising indeed. I will pass the details to my electronics expert & order some kind of starter kit so that we can start on the PoC. Thank you again.

The new link for the referenced DigiMesh 2.4 documentation is http://ftp1.digi.com/support/documentation/90000991.pdf. You can also now find an HTML version of this documentation at http://www.digi.com/resources/documentation/digihelp/html/digimesh_ug.htm.