This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Which SDK, examples need to download for the generic zigbee application for the 2 devices of nrf52840 dongle

Hi to all team,

I have two units of nrf52840 dongle with me.

I have to develop the generic application firmware where data send from one dongle(coordinator) is getting received by another dongle(Router/End Device) based on zigbee 802.15.4.

I have search the SDK from the nordic site but there i am getting confused because SDK i have found is for home automation based where coordinator is do commisioning.

So i have to need only SDK, examples which while programmed to nrf52840 dongle fulfills the concept of sending data from one dongle to other dongle based on zigbee.

So can anyone who has worked on this dongle, please let me know which soft-device, SDK and examples i have to download for these generic application from the nordic site.

Thanks & regards,

Ronak Jain  

  • Hi Ronak,

    ZB_BDB_SIGNAL_DEVICE_REBOOT: This signal is generated when a device has been restarted and is joining the network using network configuration stored in NVRAM. So it has already been connected to a network, and the network parameters were stored such that it can use that to join/rejoin, instead of being commissioned again. For the coordinator, this will be to start network steering.

    ZB_BDB_SIGNAL_STEERING: This is generated when BDB network steering is completed, which means that the device has joined the network.

    Stack signals are by default handled by the zigbee_default_signal_handler(), which can be found in components/zigbee/common/zigbee_helpers.c. This default signal handler is used because Zigbee devices often behave similarly, so having a default way of handling the signals simplifies things, and makes it so that you do not have to handle all the different signals in zboss_signal_handler() main.c. As you can see in this function, the default switch case is to call zigbee_default_signal_handler().

    However, sometimes you want your application to handle a signal in a different way, and the way to do this is to handle the signal directly in zboss_signal_handler(). This will override the default signal handler. If you look in the zigbee_default_singal_handler() in zigbee_helpers.c, you will find the signals ZB_BDB_SIGNAL_DEVICE_REBOOT and ZB_BDB_SIGNAL_STEERING are handled there as well, but you will find that they are handled differently than in your zboss_signal_handler() in main.c.

    You can read more about the signal handler in our documentation: Zigbee default signal handler.

    Ronak Jain said:
    Is there any document or any pdf which helps me to understand whole zigbee joining process with coordinator from where i can come to know which command coordinator, router used for network formation, joining, network steering, msg sending etc for zboss zigbee stack

     For this I recommend reading both the Zigbee specification and our documentation. For more information and understanding about the process itself, you can read the Zigbee Base Device Behavior Specification, which is part of the official Zigbee documentation. I would not recommend reading through the whole document, as it is long and heavy reading, but you can take a look at the initialization and commissioning chapters, to get an overview of the process. Other specifications you can check out are the Zigbee Specification, which contains specifications for the application layer and network layer of the protocol, as well as other specifications. For cluster specific things, you should look at the Zigbee Cluster Library Specification. 

    For reading resources in our documentation you can check out:

    • Zigbee application helper functions: This explains multiple functions that implement default behavior in the SDK, which has the purpose of making it easier to develop applications in our SDK. The Zigbee default signal handler can be found there, and it explains some of the signals and the stack logic in more detail. You will for example find information and flowcharts regarding Zigbee BDB (Base Device Behavior) initialization, and network formation and commissioning.
    • Zigbee stack API overview: This has an overview of our Zigbee stack, and you will find relevant information about ZCL (Zigbee Cluster Library) and Zigbee commissioning there. 
    • In addition to this, you can find the API for our Zigbee stack in our documentation here: Zigbee stack API. The most relevant will probably be BDB commissioning API and ZCL API

    Best regards,

    Marte

Related