This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to program a decentralized zigbee mesh with routers only?

Hi

I'm new to zigbee programming, but as i understand it is possible to make a zigbee mesh with routers only to decentralize to network. 

I have tried to start with a router example from nRF5_SDK_for_Thread_and_Zigbee_v4.1.0. I used the light_bulb example and tried to call bdb_start_top_level_commissioning(ZB_BDB_NETWORK_FORMATION), in the same way a coordinator would, but i'm not getting anywhere.

I have looked in the SDK documentation but i'm not finding anything helpful there. 

My idea is to have 5 routers in the network where any of those routers could form the network.

I have 5 nrf52833 dev kits, Mac OS, Segger Embedded Studio.

I appreciate your help!

//Garo

Parents
  • Hi Garo

    First off, I would like to mention that we don't recommend using this type of distributed network feature as there are some security problems with the transport key when using this kind of networks. In a distributed network all routers must be pre-configured with a link key used to encrypt the network key. Unfortunately this will be hard coded on all devices in that network, and therefore exploitable.

    Can you explain what exactly you mean about "I'm not getting anywhere"?  The light_bulb and light_switch example projects don't support doing commissioning by default, as the coordinator is doing so. It should be as simple as calling these lines during initialization, but I haven't tested this myself. 

    static const zb_uint8_t secret_key[] = {...};
    zb_zdo_set_tc_standard_distributed_key(secret_key);
    zb_enable_distributed();
    zb_zdo_setup_network_as_distributed();

    Best regards,

    Simon

  • Hello again,

    Well, when i said that i am not getting anywhere i meant that i have not been able to connect routers to each others without a coordinator. But i have now managed to make it work. Those 4 lines of code made it possible.

    Thanks for your help!

Reply Children
No Data
Related