I have set up a wireless sensor network with 20 XBee series 2 modules mounted on Arduino Uno in a room (One coordinator and 19 routers). Each and every node is in range of each others. In my experiment, when a node transmits a packet with some required information, all the receiving nodes have to first check RSS value and if it is above predefined threshold, it has to re-broadcast it. To avoid re-broadcasting the packets with under RSS threshold, I have set BH (broadcast radius) to 1.
I have programmed using Arduino-xbee library. All the nodes are reading incoming packet and if it is above threshold, they will re-broadcast using
XBeeAddress64 addr64=XBeeAddress64(0x00000000, 0x0000ffff);
ZBTxRequest zbTX=ZBTxRequest(addr64,LocationPacket,sizeof(LocationPacket)); xbee.send(zbTX);
The problem is
-some of xbee modules couldn’t re-broadcast the packets although the packet is above RSS threshold. I wonder
(1) Can it be the problem of XBee serial buffer? It can’t process arduino zbTX request since it’s receiving RF data from other nodes which gets the medium first to re-broadcast?
(2) Are there any timeout in XBee Serial buffer?
(3) Or what should be the reason of not re-broadcasting the packet?
Please kindly help me with this issue since this is very import part for my experiment.