This is doable and it isn’t that hard.
The API commands look difficult but are easier to use with a processor than the AT commands. The AT command needs the ‘+++’ then a wait (but not too long) then the command, its designed for a human interface.
If you are running the XBees as received the coordinator is running in API mode. So your PC must talk to the coordinator with API frames. This is an advantage as the address of the sending unit is embedded in the API frame so the code running on the PC can determine which unit send the data.
The PC, through the coordinator, can request data from any of the other XBees IO pins. To request data from the microcontrollers a data frame is sent to the processor which then sends its data, temperature, back to the coordinator.
Conversely, with a processor on an XBee, the processor can send data to the coordinator on its own. Again, if you use API then the address of the sending XBee is in the API frame. This is close to how a remote XBee works without a processor attached.
Look through the threads here and in the PIC SFE PIC forum on API frames. There have been several threads on the subject with code. It is not all that difficult.
Here are some links that may help:
http://code.google.com/p/python-xbee/so … nk/xbee2.5
http://www.jsjf.demon.co.uk/xbee/xbee.html
http://www.circuitsathome.com/category/wireless/xbee
Post back with additional questions.
Edit to add the following:
You may be able to leave the XBee end devices in AT mode (firmware version) but keep the coordinator running API firmware. With the XBee’s set this way the coordinator can send a data frame (PC sends a formated API frame to the coordinator with the end devices address) to an end device and it data should come out the serial port to the processor. In the other direction the processor send data into the XBee’s serial port and it comes out of the coordinator as an API frame.
I believe I did experiment with this set-up but may need to do it again to confirm.
There is a third method to consider. The XBee modules do have analog inputs. You can connect your temperature sensors (with the appropriate conditioning circuits) to the XBee inputs (the series 2 XBees have a full-scale input of 1.2V). The coordinator, from the PC, can query the value of the XBee input with the AT"IS" command or the remote XBees can be set up the periodically send the value to the PC by way of the coordinator.
If you are only interested in a change of temperature then the PC can throw away any value that does not change.