Configuring a cluster tree topology

Hello everyone!

I’m trying to develop a cluster tree - mesh topology where it has 1-coordinator, 4-routers, and 8-end devices. The each router has 2 end devices and the routers will have a mesh network with the other routers.

I’m having a problem on how to configure or where to start. Can anyone help me?

Thanks a lot!

Sounds like you’re trying to use ZigBee? Parent/child relationships aren’t tightly bound in ZigBee. You can kind of hack it so a specific end device joins to a specific router when installed. But if a parent stops working the end devices will search for and automatically join to another parent on their network which is in range at which point your topology would be different. That’s part of the self-healing mesh that ZigBee provides.

You could hack something together using the straight 802.15.4 radios but you’d have to do your own routing and handling of sleepy nodes at the application level since 802.15.4 is point-to-point.

Okay thanks! Can you suggest any process on how to configure the parent/child relationship or something about the hacking part?

For ZigBee you can set NJ=0x0 on all nodes except the desired parent node which you set NJ=0xFF. This will only work during the intial join. During normal operation if one of your parents nodes falls out the children will join back up again to any other parent. There isn’t a method to bind a child to a parent in a stable fashion.

I would suggest you rethink the need to control parent/child relationship in this fashion, at least on ZigBee.

Noted! So you’re saying that it is troublesome in XBee to configure a parent/child relationship since its default configuration is the Mesh network?

For the parent/child relationship, how do we configure the DH/DL parameters of the parent and child? since we have 3 radios, 1 coordinator, 1 router, and 1 end device

re parent/child relationship:

You can control the relationship indirectly at join but not reliably after join.

re DH/DL:

These only control the destination of Radio TX, primarily in AT mode, and don’t require a parent/child relationship. You might look into API mode which allows more control over addressing multiple nodes. Parents automatically route on behalf of their children (both tx and rx) so you only need to configure the end destination. The ZigBee mesh will determine most efficent route to the destination automatically.

Oh got it. To clarify, all nodes(routers/end devices) should be configured with their destination address to the coordinator. End devices automatically joins(NJ=0xFF) any router node as long as it is in range. This means that we cannot set the end devices(child) to a specific router(parent) because of the ZigBee mesh.


On item to make your life a little easier, if you are targeting the coordinator you can just leave DH/DL as all 0. That is special-cased to mean coordinator so you don’t need to configure it for every network to the actual coordinator address.