Picture is worth 1000 words: My Setup
I have four Arduinos collecting data and sending them wirelessly to a PC over Series 1 (802.15.4) XBees.
Details:
[ul]
[li] The data rate is 57600 into the XBees and 115200 into the PC. [/li][li] Range is less than 50 feet.[/li][li] Messages are very short, around 30 bytes.[/li][li] Messages are sent every 10 milliseconds (this can be adjusted if need be).[/li][/ul]
This works very well for the most part, but I have noted some occasional weird fragmentation,where one message occasionally appears in the “middle” of another message. This doesn’t make sense to me as the messages are very short and sent in a single burst through Serial.print(). So why does it fragment?
Example with a test message:
Hello - I am Device #2. Count=1168
Hello - I am Device #3. Count=948
Hello - I am Device #2. Count=1169
Hello - I am Device #1. Count=1089
Hello - I am Device #3. Count=949
Hello - I am Device #2. Count=1170
Hello - I am Device #1. Count=1090
Hello - I am Device #4. Count=764
Hello - I am Device #3. Count=950
Hello - I am Device #2. Count=1171
Hello - I am Device #1. Count=1091
Hello - I am Device #4. Count=765
Hello - I am Device #3. Count=951
Hello - I am Device #2. Count=1172
Hello - I am Device #1. Count=1092
Hello - I am Device #4. Count=766
Hello - I am Device #3. Count=952
Hello - I am Device #2. Count=1173
Hello - I am Device #1. Count=1093
Hello - I am Device #4. Count=767
Hello - I am Device #2. Count=1174
Hello - I am Device #1. Count=1094
Hello - I aHello - I am Device #3. Count=954
- I am Device #4. Count=768
Hello - I am Device #2. Count=1175
Hello - I am Device #1. Count=1095
Hello - I am Device #3. Count=955
Hello - I am Device #4. Count=769
Hello - I am Device #2. Count=1176
Hello - I am Device #1. Count=1096
Hello - I am Device #3. Count=956
Hello - Hello - I am Device #2. Count=1177
I am Device #4. Count=770
Hello - I am Device #3. Count=957
Hello - I am Device #4. Count=771
Hello - I am Device #2. Count=1178
Hello - I am Device #1. Count=1098
Hello - I am Device #3. Count=958
Hello - I am Device #4. Count=772
Hello - I am Device #2. Count=1179
Hello - I am Device #1. Count=1099
Hello - I am Device #3. Count=959
Hello - I am Device #2. Count=1180
Hello - I am Device #4. Count=773
Hello - I am Device #3. Count=960
I have RO set to 3 (the default), would increasing this be of any benefit?
Is there another setting or system configuration I should look at?
Series 2/API mode are overkill (we don’t need the range or a mesh), and a colleague has tried this setup with Series 2/API mode with similar results anyway.
Any other suggestions? Thanks!