I am about to buy Xbee3 modules, but I am concerned regarding the data loss in Xbee3 per hop. So is there any? and if yes then how much? I tried reading the zigbee specification but didn’t information on this.
Hope to get a information on this soon.
If you’re familiar with IP networks then ZigBee is similar to UDP. It does not guarantee ordered delivery like TCP does. There are retries for TX at both the 802.15.4 and ZigBee layers but those retries can fail and the stack will move onto the next TX request. Any given TX can fail to be received OR it could be received but not successfully acknowledged back to the sender.
If that is a problem for your application then implement a higher level protocol on top of ZigBee to provide reliable/ordered datastream.
This is not an issue with the XBee3 specifically, any ZigBee based device/network will run into the same issues.
Hi jlovinger,
Now I understood this that Zigbee is not similar to TCP. But I needed information that is there any data loss due to hardware? I heard that there was in Zigbee pro like 2 bytes loss/hop. So I was thinking is it same with Zigbee 3?
Not something that I’ve heard about. Each frame is integrity checked, etc so regardless of the number of hops it will either be completely received or completely failed.
I suppose more hops might make that “completely failed” case more likely as more chances for something to go wrong but wouldn’t make much sense to talk about that as a bytes/hop consideration. Failure rate is going to be extremely dependant on network and RF conditions.
I think there is a chance you might be somewhat confused on documentation for the “Source Routing” feature. In that feature the sender encodes the full route to destination in the over-the-air frame. This means that each hop will decrease maximum payload size by 2-bytes. But this isn’t data loss per-se, just a decrease in the maximum payload size you can send in a single frame. Further, in transmissions that can be fragmented this gets abstraced away as the stack will take as many fragments as necessary to assemble the requested payload.
https://www.digi.com/resources/documentation/digidocs/90002002/default.htm#Reference/r_zb_max_RF_payload_size.htm