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

Serval Questions About nRF52840 Zigbee

Hi,

1、If I want to devlop zigbee with nRF52840, whether the only one sdk series is `nRF5_SDK_for_Thread_and_Zigbee_xxx` ?

2、Can BLE coexists with Zigbee in a nRF52840 SoC? May Interfere each other?

3、Using cli cmd in zigbee development, `zdo match_desc xxx`(to get end devices source address, namely short address) and `zcl attr read xxx`(end devices get sensor data with source address)  is separate. Step 2 is rely on step 1 by serial port, it's time-consuming operation。Has other API to replace this? I just send some parameters, automatically match end devices, and end devices get data from sensor. e.g. the sdk is `nRF5_SDK_for_Thread_and_Zigbee_v4.1.0_32ce5f8`.

Thanks.

Parents
  • Hi,

    1. We have two SDKs with support for Zigbee: nRF5 SDK for Thread and Zigbee v4.1.0 and nRF Connect SDK (NCS). As of now, there's only one Zigbee example in NCS, namely the light control example, which consists of light bulblight switch, and network coordinator. However, the light switch example has support for Zigbee FOTA as well. NCS will be the main focus going forward, while nRF5 SDK will mostly get bug fixes and such, but the nRF5 SDK does have several more examples than NCS as of now.
    2. Yes, there's support for multiprotocol BLE and Zigbee in both SDKs. In nRF5 SDK, dynamic multiprotocol is used, which means that the radio hardware is time-sliced between the two protocols, and each of the protocols request a timeslot prior to any radio operation. There are some considerations to this, one of which is that BLE activity can interrupt any kind of application or Zigbee stack logic. All of these considerations can be found here. In NCS, multiprotocol can be added to the light switch sample. In this case, the Multi-Protocol Service Layer (MPSL) library is used, which provides services for multiprotocol applications. You can read more about multiprotocol support for Zigbee in NCS here, as well as in the documentation for the light switch sample.
    3. There are functions in the SDK you can use to do this. To send a match descriptor request (zdo match_desc) you can use the function zb_zdo_match_desc_req, which takes two variables: the index of buffer with primitive parameters zb_zdo_match_desc_param_s, and a user callback function to call the response from the remote device. In order to see examples of how this function can be used, you can check out the light switch example (line 275 in main.c in v4.1.0) and the CLI agent example (it can be found in the file for CLI ZDO commands, /components/zigbee/cli/zigbee_cli_cmd_zdo.c on line 844). You should also check out the documentation for the function. As for reading sensor data, using CLI this is done by binding the remote endpoint to the CLI and subscribing to the attribute changes on the remote node. The first part can be done using zb_zdo_bind_req. For the last part I recommend taking a look at how this is implemented in the multi sensor example, and you can also check out the implementation in CLI in /components/zigbee/cli/zigbee_cli_cmd_attr_report.c, specifically from line 374.

    Best regards,

    Marte

  • Hi,

    Thanks for you answers, I will try with your points.

    Thanks.

Reply Children
No Data
Related