Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Flipper-Zero/STM32CubeWB.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_Commissioning_Server_Router/readme.txt')
-rw-r--r--Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_Commissioning_Server_Router/readme.txt211
1 files changed, 211 insertions, 0 deletions
diff --git a/Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_Commissioning_Server_Router/readme.txt b/Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_Commissioning_Server_Router/readme.txt
new file mode 100644
index 000000000..b9d35202f
--- /dev/null
+++ b/Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_Commissioning_Server_Router/readme.txt
@@ -0,0 +1,211 @@
+/**
+ @page Zigbee_Commissioning_Server_Router application
+
+ @verbatim
+ ******************************************************************************
+ * @file Zigbee/Zigbee_Commissioning_Server_Router/readme.txt
+ * @author MCD Application Team
+ * @brief Description of the Zigbee Commissioning Cluster application as a
+ * client using a centralized network.
+ ******************************************************************************
+ *
+ * Copyright (c) 2019 STMicroelectronics. All rights reserved.
+ *
+ * This software component is licensed by ST under Ultimate Liberty license
+ * SLA0044, the "License"; You may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at:
+ * www.st.com/SLA0044
+ *
+ ******************************************************************************
+ @endverbatim
+
+@par Application Description
+
+How to use Commissioning cluster as a client on a centralized Zigbee network.
+
+The purpose of this application is to show how to create a Zigbee centralized network, and
+how to operate a commissioning process using the Commissioning cluster. Once the Zigbee mesh
+network is created, the user can send requests for the commissioning process from client to
+server (through push button SW1).
+
+The router network info can be checked by pressing push button SW1. It will show:
+- Network address assigned to the device.
+- Network PAN ID and extended PAN ID.
+
+Note: You can press push button SW1 on Commissioning client router before and after
+ Commissioning process to see the changes.
+
+For this application it is requested to have:
+
+- 1 STM32WB55xx board loaded with:
+ - wireless coprocessor : stm32wb5x_Zigbee_FFD_fw.bin
+ - application : Zigbee_Commissioning_Server_Router
+
+- 1 or more STM32WB55xx board loaded with:
+ - wireless coprocessor : stm32wb5x_Zigbee_FFD_fw.bin
+ - application : Zigbee_Commissioning_Client_Coord
+
+
+Demo use case :
+
+This demo shows how to use Commissioning cluster.
+The Commissioning cluster is used to operate a commissioning process on a not connected
+Zigbee router (Commissioning server) from the Zigbee coordinator (Commissioning client).
+
+For that, Commissioning process from the client uses INTERPAN communication that allows to
+address requests to not connected devices.
+
+The Commissioning process is as follow:
+
+0. Initial server configuration: commissioning capabiliy (INTERPAN communication) enabled.
+ --> device MAC layer configured to listen for packets.
+ --> the server is able to handle requests even if not connected through the network.
+
+1. The client sends Reset Startup request to server.
+ --> the server current startup configuration is cleared.
+
+2. The client remotely writes commissioning server attributes (INTERPAN communication):
+ - ZCL_COMMISSION_CLI_ATTR_SHORT_ADDR
+ - ZCL_COMMISSION_CLI_ATTR_EPID
+ - ZCL_COMMISSION_CLI_ATTR_STACKPROFILE
+ - ZCL_COMMISSION_CLI_ATTR_CHANNELMASK
+ - ZCL_COMMISSION_CLI_ATTR_USEINSECJOIN
+ - ZCL_COMMISSION_CLI_ATTR_PRECONFLINKKEY
+ - ZCL_COMMISSION_CLI_ATTR_NWKKEYTYPE
+ - ZCL_COMMISSION_CLI_ATTR_STARTUPCONTROL
+ - ZCL_COMMISSION_CLI_ATTR_SCANATTEMPTS
+
+ --> the server startup configuration changes.
+
+3. The client sends Save Startup request to server (request with an index value of 0).
+ --> the server current startup configuration is saved (under index 0).
+
+4. The client sends Reset Startup request to server.
+ --> the server current startup configuration is cleared.
+
+5. The client sends Restore Startup request to server (request with an index value of 0).
+ --> the server restore current startup configuration from a saved
+ startup configuration (index 0).
+
+6. The client sends Restart device request to server.
+ --> the server operate a full startup process with current startup configuration.
+ --> the server router joins the network.
+
+
+ Device 1 Device 2
+
+ +--------+ +--------+
+ | | | |
+ | Client | | Server |
+ | | /* Commissioning server init */ | |
+ | | -->| |
+ | | ZbZclCommissionServerEnable() | | |
+ | | ---| |
+ | | | |
+ | | /* Commissioning process */ | |
+ | | | |
+ | | ZbZclCommissionClientSendResetStartup() | |
+ PushB SW1=>| | -------------------------------------------------------------------> | |
+ | | <------------------------------------------------------------------- | |
+ | | | |
+ | | ZbZclWriteReq() | |
+ | | -------------------------------------------------------------------> | |
+ | | <------------------------------------------------------------------- | |
+ | | | |
+ | | ZbZclCommissionClientSendSaveStartup() | |
+ | | -------------------------------------------------------------------> | |
+ | | <------------------------------------------------------------------- | |
+ | | | |
+ | | ZbZclCommissionClientSendResetStartup() | |
+ | | -------------------------------------------------------------------> | |
+ | | <------------------------------------------------------------------- | |
+ | | | |
+ | | ZbZclCommissionClientSendResoreStartup() | |
+ | | -------------------------------------------------------------------> | |
+ | | <------------------------------------------------------------------- | |
+ | | | |
+ | | ZbZclCommissionClientSendRestartStartup() | |
+ | | -------------------------------------------------------------------> | |
+ | | <------------------------------------------------------------------- | |
+ | | | |
+ | | -->| |
+ | | /* Waiting the delay mentioned in the RestartStartup cmd */ | | |=> GREEN LED ON (during delay)
+ | | ---| |
+ | | | |
+ | | -->| |
+ | | /* Router joins the network*/ | | |=> BLUE LED ON
+ | | ---| |
+ | | | |
+ | | -->| |
+ | | /* Show network info */ | | |<=PushB SW1
+ | | ---| |
+ | | | |
+ +--------+ +--------+
+
+To setup the application :
+
+ a) Open the project, build it and load your generated application on your STM32WB devices.
+
+ To run the application :
+
+ a) Start the first board. It must be the coordinator of the Zigbee network so in this demo application it is
+ the device running Zigbee_Commissioning_Client_Coord application (Device1 in the above diagram).
+ Wait for the Blue LED (LED1) ON.
+ Start the second board. This board is configured as Zigbee router but it will not connect to the
+ Zigbee network. Connecting the router to the network is the goal of this demo.
+
+ b) When Commissioning process is complete, the router joins the network and its Blue LED (LED1) is ON.
+
+ Note: when LED1, LED2 and LED3 are toggling it is indicating an error has occurred on application.
+
+@par Hardware and Software environment
+
+ - This example runs on STM32WB55xx devices.
+
+ - This example has been tested with an STMicroelectronics STM32WB55RG_Nucleo
+ board and can be easily tailored to any other supported device
+ and development board.
+
+ - On STM32WB55RG_Nucleo, the jumpers must be configured as described
+ in this section. Starting from the top left position up to the bottom
+ right position, the jumpers on the Board must be set as follows:
+
+ CN11: GND [OFF]
+ JP4: VDDRF [ON]
+ JP6: VC0 [ON]
+ JP2: +3V3 [ON]
+ JP1: USB_STL [ON] All others [OFF]
+ CN12: GND [OFF]
+ CN7: <All> [OFF]
+ JP3: VDD_MCU [ON]
+ JP5: GND [OFF] All others [ON]
+ CN10: <All> [OFF]
+
+
+@par How to use it ?
+
+=> Loading of the stm32wb5x_Zigbee_FFD_fw.bin binary
+
+ This application requests having the stm32wb5x_Zigbee_FFD_fw.bin binary flashed on the Wireless Coprocessor.
+ If it is not the case, you need to use STM32CubeProgrammer to load the appropriate binary.
+ All available binaries are located under /Projects/STM32_Copro_Wireless_Binaries directory.
+ Refer to UM2237 to learn how to use/install STM32CubeProgrammer.
+ Refer to /Projects/STM32_Copro_Wireless_Binaries/ReleaseNote.html for the detailed procedure to change the
+ Wireless Coprocessor binary.
+
+=> Getting traces
+ To get the traces you need to connect your Board to the Hyperterminal (through the STLink Virtual COM Port).
+ The UART must be configured as follows:
+
+ - BaudRate = 115200 baud
+ - Word Length = 8 Bits
+ - Stop Bit = 1 bit
+ - Parity = none
+ - Flow control = none
+
+=> Running the application
+
+ Refer to the Application description at the beginning of this readme.txt
+
+ * <h3><center>&copy; COPYRIGHT STMicroelectronics</center></h3>
+