I have a very basic question that I hope someone can help with. I am building a sensor network with multiple Arduino based Transmitter nodes using Xbee series 1 radios. The TX nodes periodically broadcast sensor data back to an Arduino Receiver node. The Xbees are currently operating in transparent mode. I have the code done successfully to receive from the first TX node.
My question is: how does the Xbee on the receiver node sort out the transmissions from each node ? Will my transmissions get intermixed together on the RX serial port ? For example when I read the next byte on the receiver's serial port how will I be able to determine which node sent the byte ?
I had wanted the TX nodes to be "dumb" and just broadcast it's data for receipt by the RX node.
I am thinking however that perhaps I need to get more sophisticated and use the RX node to poll each TX node for it's data.
The TX nodes periodically broadcast sensor data back to an Arduino Receiver node.
The end nodes should not be using broadcast mode. They should be sending to a specific DH/DL pair.
how does the Xbee on the receiver node sort out the transmissions from each node ?
If you are using AT mode, it is up to you to put something in the packet that the receiver can use to determine where it came from. API mode handles that automatically, but is much more challenging to implement, unless you use Andrew Rapp's XBee library.
I had wanted the TX nodes to be "dumb" and just broadcast it's data for receipt by the RX node.
That makes one of us.
I am thinking however that perhaps I need to get more sophisticated and use the RX node to poll each TX node for it's data.
Not really necessary. Suppose that unit 1 sent "<1:some useless data>" and unit 8 sent "<BillyBob Says "some trash talk">". You would not have any problems identifying which unit sent what data, would you? (Of course, some consistency in the unit IDs and structure of the data would make life easier.)
PaulS:
The end nodes should not be using broadcast mode. They should be sending to a specific DH/DL pair.
If you are using AT mode, it is up to you to put something in the packet that the receiver can use to determine where it came from. API mode handles that automatically, but is much more challenging to implement, unless you use Andrew Rapp's XBee library.
That makes one of us.
Not really necessary. Suppose that unit 1 sent "<1:some useless data>" and unit 8 sent "<BillyBob Says "some trash talk">". You would not have any problems identifying which unit sent what data, would you? (Of course, some consistency in the unit IDs and structure of the data would make life easier.)
Thanks for your response. The end nodes are sending to a specific DH/DL pair. In terms of placing an identifier in the packet as you describe comes to the heart of my question. Using your example
if node 1 puts out <1 123.45, 45.67> and node 8 puts out <8 321.54, 98.76>
As long as the xbee keeps the entire 1 transmission together I am good.
Is it possible that the bytes of 1 and 8 get intermingled in the receiving serial port ?