I have created a 11 xbee series 2 mesh network, where 1 is the coordinator and the other 10 are routers.
First question: According to the manual the max payload data are 72 bytes (besides the header data) per frame, but i successful send 120 bytes, there is any issue to send this amount of data?
Considering the max payload data per sent frame through xbee series 2 is 72 bytes (besides the header data), my main goal for this project is that every router be able to send 1200 bytes of data (besides header data) per second to the coordinator (ideally send a frame every 50ms).
After send a frame (Serial1.write()), when i’m trying check the status of the sent frame by reading (Serial1.read()) the ack frame of 11 bytes, sometimes it came incomplete, with missing bytes.
Once i can’t read the ack frame properly, i change the approach by adding a sequence ID in the sent data, and then check it in coordinator side if it receive all frames from routers. But it also drop some frames, mainly at the beginning of transmission.
Any idea what is the reason of this behavior, should i configure the coordinator or routers with some particular values? I’m using the XCTU Version: 6.1.2 just for config the modules.
Basically my code is:
1) Coordinator broadcast Many-to-one route request to force the Mesh Discovery, and after 5 seconds send the START command to routers.
2) Routers wait for a START command, from coordinator;
3) The routers start to send frames of 72 bytes (besides the header data) every 50ms;
4) The coordinator receive the data and check if the frame sequence is correct, verifying dropped msgs;
Further information of my setup:
- I’m using Arduinos Mega;
I have config all xbee devices to operate in,
- Operate in API mode;
- PAN (Personal Area Network) ID 10;
- Define baud rate: 115200 / StopBits 2;