Skip to main content
DA.5
Associate
April 3, 2022
Solved

[Zigbee] Router node implementation

  • April 3, 2022
  • 4 replies
  • 2772 views

Zigbee PRO specification mentions

0693W00000LwhlKQAR.pngI found this function in AN5500:

0693W00000LwhlPQAR.png0693W00000LwhmhQAB.png 

When I try to implement this function, I get a compiler error for 'undefined reference'. I checked zigbee_core_wb.c and indeed there is no implementation for this function.

The question is, since this function is not available, then how to develop a zigbee router node on STM32WB platform that will allow joining of other routers and end devices to itself in a mesh network?

Best answer by Remy ISSALYS

Hello,

ZbNlmeStartRouterReq shall not be used at application level. Zigbee Device role (Coordinator, Router, End Device) is managed by Zigbee stack on M0 coprocessor. It is controlled through ZbStartup API. Applied device role depends on config parameter structure content.

  • status = ZbStartupWait(zigbee_app_info.zb, &config);

                                 

To configure STM32WB as a Zigbee Router, please proceed as follow:

  • Set config.startupControl to ZbStartTypeJoin on M4 side.
  • Flash Zigbee FFD copro binary on M0 side

For more information on how to configure a Zigbee Router, please refer to Zigbee sample applications. For instance, Zigbee_OnOff_Client_Router application available under Projects\P-NUCLEO-WB55.Nucleo\Applications\Zigbee directory of CubeMX package.

Best Regards

4 replies

Remy ISSALYS
Remy ISSALYSBest answer
Technical Moderator
April 12, 2022

Hello,

ZbNlmeStartRouterReq shall not be used at application level. Zigbee Device role (Coordinator, Router, End Device) is managed by Zigbee stack on M0 coprocessor. It is controlled through ZbStartup API. Applied device role depends on config parameter structure content.

  • status = ZbStartupWait(zigbee_app_info.zb, &config);

                                 

To configure STM32WB as a Zigbee Router, please proceed as follow:

  • Set config.startupControl to ZbStartTypeJoin on M4 side.
  • Flash Zigbee FFD copro binary on M0 side

For more information on how to configure a Zigbee Router, please refer to Zigbee sample applications. For instance, Zigbee_OnOff_Client_Router application available under Projects\P-NUCLEO-WB55.Nucleo\Applications\Zigbee directory of CubeMX package.

Best Regards

DA.5
DA.5Author
Associate
April 12, 2022

Hello Remy,

Shortly after writing my post, I discovered that the stack is responsible for those functions, as you also mentioned in your post.

Associate
July 8, 2024

I`m using Zigbee_OnOff_Client_Router example on WB55CGU6 custom board with existing Zigbee network in my home, but seems that my device not act as router. I mean that it not extends range of my network. Why?

Associate
July 8, 2024

1000002634.jpg

 

1000002633.jpg

my device named here as"56" seems to be end point device not router device