We've been doing some testing with Digi XBee-PRO S3B 900HP modules, and there are some details about how these radios operate to which everyone should be made aware. I hope I am not about to embark on one of those "duh - shutup we know that!" moments.
Out-of-the-box the radios transmit in transparent mode, and only via
broadcasts. This is why it is so easy to get a pair of them to cooperate with one another, but it also means that every receiver will see every transmitter's messages. If two or more people at your field are flying GPS units using these radios, and no measures have been taken to prevent them behaving as one big party line, then everyone is going to be unhappy. Each person will be receiving NMEA strings from all the rockets. Which one is yours? If you are using GPS software, it is going to be confused since your position appears to be hopping all over the map.
There are 2 ways to address this:
1) Change the pre-amble or network ID of your two units to cause them to ignore all radios not on their net (andd vice-versa).
2) Change the destination address in each of your radios to point to your other radio's source address (they send only to each other).
I think #2 is by far the preferred solution. Once you've programmed your radios to transmit unicast messages rather than broadcast messages, the "digimesh" protocol becomes effective. This causes the modules to behave much more intelligently, with routing tables, acks, repeating, etc. All the other radios on the field which have the same pre-amble and network ID become potential
repeaters. If the signal strength between your rocket and base station becomes weak, but there is another rocket in the air or on the ground between the two, that rocket can repeat the signal and you will get your data. This repeated data is NOT output on the UART of the repeating modules, it is only repeated over the air - so there is no confusion of the signals at the receiver as there will be if everyone is broadcasting. This all happens automatically so long as all the radios are configured to send unicast transmissions and are on the same net (and using digimesh - some of the earlier XBee radios do not support this protocol).
This lends itself to some cool possibilities, like placing modules on helium balloons near the periphery of the field and extending the range. Rockets on the ground will not have a very long range, but a module on a balloon would easily connect to it and relay the data back to your ground station.
Keep in mind that it only takes one person NOT configuring their radios for unicast to mess up everyone else's tracking, so please look into using the X-CTU software (available through Digi) to configure your boards to send only to each other rather than to broadcast. If anyone needs help locating the X-CTU software or using it to change the configuration of their radios, I'd be happy to help in any way I can.
Although the digimesh modules use very sophisticated techniques to minimize unncessesary repeating the available bandwidth is limited, so there may potentially be trouble if lots of trackers are transmitting their positions. Perhaps the worst that would happen in this situation is delays - you just won't see the NMEA at 1Hz. I'd like for this to become a problem (that many radios tracking at once).
The 250mw Digimesh module number for use in the US (depending on desired antenna type) is:
XBP9B-DMWT-002 = Wire Antenna attached to module
XBP9B-DMST-002 = RPSMA Antenna connector
XBP9B-DMUT-002 = U.FL Antenna connector
The RPSMA is the more available antenna type (as opposed to U.FL)
Thanks, Derek, for one of the most interesting threads I've participated in some time. This is very cool stuff.