SparkFun Forums 

Where electronics enthusiasts find answers.

All things pertaining to wireless and RF links
By LLamabob

I have 2 XBee Series 1 transceivers... XBee_Host and XBee_Sensor. XBee_Sensor is connected to a sleeping Arduino Pro and every 8 seconds, the Arduino wakes and sends a packet of data to XBee_Host which is on all of the time. Also the XBee_Host can send a single ascii byte to the XBee_Sensor anytime which is read by the Arduino and will turn on/off I/O in response. The XBee_Sensor was powered all of the time.

Everything was working good until I tried to lower the power of the XBee_Sensor by changing the sleep mode to 1 and using an active low pin on the Arduino to turn on/off pin 9 of the XBee_Sensor. The XBee_Sensor's power is low, and its transmitting packets to the host every 8 seconds. However, I've lost the ability to send bytes from the XBee_Host to the XBee_Sensor while the sensor is asleep. It appears that when I transmit a byte from the host to the sensor, the byte is lost unless I time it perfectly and catch the sensor awake.

I'm planning on timing my XBee_Host transmission as soon as the packet of data from the XBee_Sensor is transmitted. I can leave the receiver on for say 200mS after the sensor sends its data.

Is there an easier or more automated way in the XBee setup to be able to queue a transmission and only send it when it senses an awake transceiver?

Any suggestions would be appreciated.