0
\$\begingroup\$

I am working on a WSN set-up. I posted a question earlier on the same. I had a another question with respect to the same. My question is while working in broadcast mode, if Coordinator and end device are too far away and we are using a repeater in between , then its fine, repeater will only braodcast message to End device and End device will not receive multiple copies of queries (as it happen in a case when Coordinator and End devices are in Range and we are also using a repater, although in this case there is no need of using repeater). Now assuming that end device receive multiple copies of queries, how we can neglect other multiple copies?

I am attaching a pic along with this question.

Should i use time stamp? I really don't have any idea regarding how to use time stamp to avoid using multiple copies? Probably i should add time stamp in the querry send by the coordinator(Running on Raspeberry pi, equipped with OLP865 Xbee). What if i don't have internet access on Raspberry pi and no RTC. Probably i should use a series of number(generated from a software). On the End device side(Running on Arduino), i should, parse the incoming string, store that time stamp/number and match it with the next incoming query, if they both match, drop this next message, if not, process the query. Can any one verify, if these seems to be a right approach or if there is any other method?A explanation of messaging between devices

\$\endgroup\$
1
\$\begingroup\$

The standard approach, used by ZigBee and other multi-hop mesh networks, is to include a sequence number in each packet. Each receiver keeps a history of sequence numbers that it has received and uses that to ignore duplicates.

There's a much longer discussion to be had on how many bits long the sequence number needs to be, and how many items you keep in your history buffer, but that's highly dependent on other factors.

You may wish to review the IEEE 802.15.4 documents to see how one system handles it.

|improve this answer|||||
\$\endgroup\$
  • \$\begingroup\$ I think, its being implemented by the internal algorithm of the Xbee andd even before stop re-transmitting the packet, it re-transmit it for specific times. Now the thing is, while working in broadcast mode, the header part is being processed by Xbee and we get the serial data. Because when i tested that, i was getting duplicate packets. \$\endgroup\$ – srj0408 Jul 13 '14 at 8:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.