cancel
Showing results for 
Search instead for 
Did you mean: 

Zigbee enabling and disabling question with STM32WB5MM-DK

YJ99
Associate II

Hi All,

I am new in Zigbee programming and I like to get some starting point to make server-client model. Up to now, I am using STM32CubeIDE tool to program with .ioc file to setting up the HW. Eventually I would like to use STM32WB5MMG processor and Zigbee for server-client communication. What I know is that I need to enable the RF, RTC and HSEM to activate the Zigbee in this DK (and my PCBA). After this, I think there would be some code to start Zigbee for SW-wise, then some APIs to send data into Zigbee network. I tried to see the ST provided examples, but could not understand well how to

1. start zigbee network: is there any APIs for this? If one side is a server side and the other side is client side, how I can do?

2. APIs to send and receive data: I assume there is some callback function to receive. Is there pre-defined callback function to receive Zigbee data? How about to send data to Zigbee network?

3. Any example to call APIs from main() or sub-functions in commninity?

4. How to disable Zigbee and terminate Zigbee network?

 

thanks alot,

 

1 REPLY 1
Ouadi
ST Employee

Hello @YJ99,

Thanks for contacting us and welcome to ZigBee community. 

To get started with ZigBee on STM32WB Series, I suggest to have a look on our application note AN5506 which guides new designers to build their first applications based on ZigBee. 

Please find below my answers to your questions :

  • ZigBee management is done inside the file "app_zigbee.c" where you can find some API needed to configure the zigbee network, form/join the network, send/receive commands over ZigBee. You can refer to the project example Zigbee_OnOff_Client_Router and Zigbee_OnOff_Server_Coord and see the ZigBee configuration on both Server and Client side. 
  • To send and receive data over ZigBee, you can use either a read over the air using ZbZclReadReq with the specified attribute from the client side or configure it as a reportable attribute. You can refer to the project examples Zigbee_TempMeas_Client_Router and Zigbee_TempMeas_Server_Coord that implements these APIs. 
  • To stop ZigBee communication you can use either ZbShutdown, ZbStatePause or ZbStateResume APIs

Best regards,

Ouadi