I have been working for some time now with Xbee 868lp DM products. Now I need very low power consumption so I have set up a network consisting in an indirect message coordinator (CE=1), and several end devices with polling functions (CE=6) and async sleep (20 seconds sleep - 1 second wake).
I have configured DH/DL of the end nodes to match the coordinator MAC address to make it work (Note that this is not anywhere on the user manual for the 868lp DM module).
The nodes wake up every 20 seconds to poll for data, and transmit 1 data packet to the coordinator every 75 seconds. This seems to work fine with 3 or 4 nodes. When I power up about 10 nodes, the coordinator stop receiving any data, It does not even appear on a network scan. The sleeping nodes reports MAC ACK Failure.
If I power down several nodes, after some time (one or two minutes) the coordinator begins to receive data again. Can anyone help with this problem or have better documentation about async sleep / indirect messaging?? I found the user manual very imprecise and lacking of information in this topic.
The problem is that you are working in an Asynchronous mode. That is to say, you have all of your nodes sending data at random. Try using Synchronous mode instead. This way you can make sure each node sends in its data. Or try Polling each node one at a time with either sleep state.
I dont think so, this represents about 1 transaction per second on average. And as I have expained in the question, the problem is not that I begin to loose some packets, the problem is that the coordinator totally stop receiving data. It loss 100% of the transmisions. I have the same setup with 30(x3 transmisions and nodes) end points sending point to multipoint transmisions and it works perfectly.
Coordinator:
CE=1 -> Indirect mesage coordinator
SP=898 -> Sleep time 22secs
ST=FA0-> Wake time 4secs
SM = 0 -> Always on
AP=1
All pins disabled except CTS, and UART
End nodes:
CE=6 -> Non routing Poller
SP=7D0 -> Sleep time 20secs
ST=1338 -> Wake time 5secs
SM=4 Cyclic sleep
DH/DL = SH/SL of coordinator
AP=1
All pins disabled except CTS, and UART
If the Nodes send data using transmit options = 0x40 it works with up to 30 stations without loosing any packets. If they send data with transmit options = 0xC0 it stop working after a couple of minutes with only 8 nodes. Data is sent with the 64bit adress of the coordinator, not using a broadcast.
CE 1 and 4 mean that you are using indirect messaging with Non routing modules. CE 2 and 3 are for Point to point, point to multi-point addressing functions (Non Mesh).