How to differentiate between multiple xbee message


I have a basic setup of a few end devices attached to thermistors which relay temperature back to the coordinator device. They are working fine but I dont know how to differentiate between the messages that they send in order to set each signal as a different integer so that i can process them individually

Also to save power I am sending the temperature data as a single byte so cant add extra code to the start or end of the broadcast

Any advice?



How much power are you saving sending a single byte versus sending two bytes - the sender and the value?

Isn't the sensor value and integer, anyway?

The value comes out as an integer but then i divide it by 4 to make it small enough for a byte and then convert the integer to a byte

Sending 2 bytes wouldn't be that much of a problem as i could just do a pretty basic if loop and then depending on the ID, put the value into a different integer

however firstly what would stop different chips talking at once? For instance if chip one sent the id in a byte and then the value and chip 2 did the same at the same time what would stop the program picking up the ID of chip 1 and the value from chip 2?

Also how alignment of the programs be an issue? to avoid the id being sent and then the program missing the value

Any help would be amazing

You might want to actually read (some of) the XBee documentation.

By configuring the end devices and coordinators correctly, the XBees do all the work of making the transmission/reception of data atomic, and of knowing which end device sent the data.

I think that your only issue is how to get the coordinator to tell you which sensor xbee it got the data from.

This might help: