Multiple routers sending io data to coordinator… Method to sort routers via MAC id and store it in c

Thread Starter


Joined Feb 14, 2011
I want to make Zigbee mesh network consisting of more than 60~80 ROUTERS. All routers have three digital i/p's. The status of these digital inputs are sent back to coordinators. Coordinator has to sort data coming from routers and indicate which digital inputs are ON or OFF.

Network config is as follows:

C------R-------R-------R-------Rn. All connected in series. Rn-last one has to hop data thru all routers

Now first router has three digital i/p's named as switch 1,2 & 3. Next one has three switch 4,5 & 6. n continued -- numbered in series.

At coordinator end i need to sort data. Coordinator should display data such as switch 24 is OFF, 40 is OFF n so on.

How to sort data? How to code it in C/C++? what to use arrays to store data?

I need to do this in runtime environment. I dont want to hardcode macid of router into controller n get feedback. I need routers to be hotswappable.

Any suggestion? what shuld i use? to do get data n store it in runtime? Best suitable platform, Currently i'm using digi xbee S2C..


Joined Sep 9, 2015
Gee, I'm no ZigBee expert, but from what little I understand ZigBee comes mesh capable (I don't know about this). If all you want to do is determine which ZibBee node is up or down, it seems you should be able to query and parse the live Layer-2 ARP/RARP table. For hot-swappable, provided you are mapping end-points by layer-2 MAC addresses it seems you may need to simply spoof the MAC on the cold standby replacement hardware units. Of-course you can also use layer-3 routing tables and DHCP (IP/Netfilter or PF/Alt-Q or whatever it's called these days in BSD) to do this at the IP layer-3 (OSPF may help, but that's getting complex, but it does allow hot-standby switch-over, but not hit-less AFAIK). Also look at Virtual Router Redundancy Protocol (VRRP). There are other Layer-2 redundancy protocols that are open as well, but I'm running dry from memory at the moment.

That's about all I can add right now. Good Luck - David