Packet Framerate


I’m hoping to stream a few bytes of data out to 10 or so clients at something close to 30hz per client. I’ve been running some tests on some XBee-PRO’s with Znet 2.5 to see if that’s possible, and am running into some trouble. In my tests I’m doing everything in API(2) mode.

The fastest I’ve been able to go with 4 byte packets sent from one coordinator to one node is 65hz. (50hz with encryption enabled). This means I could only support 2 nodes if I want to maintain my target of 30hz. (I have the acknowledgement turned off, by setting that byte to zero. I’m not close to saturating the 115200 serial connection to the xbee)

Alternately, I found that if I increase the packet size to say, 30 bytes, I can still get about 50hz (40hz encrypted). If there were a way to get all the clients to listen to these packets, I’d be pretty set, since they could just look at the right index in the packet for their data.

However, with ZNet broadcast is a very expensive operation - with broadcast packets I’m looking at only being able to send 2 per second or so. Any way to send a packet just once, that all XBee’s pass through to their host if they get it, with no rebroadcasting/acks/etc.?

Any ideas? Is it possible my test is totally wrong, and I can actually get way more packets out? I know my numbers indicate a throughput of only about 15kbps for the 4 btye packets (and that’s even if I count each of those packets as 25 bytes due to the address information contained) but that’s pretty comparable to other numbers I’ve seen posted (can’t find the pdf I read them anymore…).

The 802.15.4 docs (using a series one XBee) imply that broadcasting works different there - a packet is sent just once, and all nodes that get it, get it. Could this be the answer? Get some series one XBee’s? Is it likely they can broadcast at ~30hz?

Thanks for any hints!