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_DoorLock_Client_Router/readme.txt')
-rw-r--r--Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_DoorLock_Client_Router/readme.txt212
1 files changed, 212 insertions, 0 deletions
diff --git a/Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_DoorLock_Client_Router/readme.txt b/Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_DoorLock_Client_Router/readme.txt
new file mode 100644
index 000000000..8b94c7670
--- /dev/null
+++ b/Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee/Zigbee_DoorLock_Client_Router/readme.txt
@@ -0,0 +1,212 @@
+/**
+ @page Zigbee_DoorLock_Client_Router application
+
+ @verbatim
+ ******************************************************************************
+ * @file Zigbee/Zigbee_DoorLock_Client_Router/readme.txt
+ * @author MCD Application Team
+ * @brief Description of the Zigbee Door Lock 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 Door Lock 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 communicate from one node to another one using the Door Lock cluster. Once the Zigbee mesh
+network is created, the user can send requests from both client to server (through push buttons SW1, SW2 and SW3)
+and server to client (push buttons SW1).
+
+For this application it is requested to have:
+
+- 1 STM32WB55xx board loaded with:
+ - wireless coprocessor : stm32wb5x_Zigbee_FFD_fw.bin
+ - application : Zigbee_DoorLock_Server_Coord
+
+- 1 or more STM32WB55xx board loaded with:
+ - wireless coprocessor : stm32wb5x_Zigbee_FFD_fw.bin
+ - application : Zigbee_DoorLock_Client_Router
+
+
+Demo use case :
+
+This demo shows how to use Door Lock cluster.
+
+The Door Lock Server set up its initial configuration:
+ - The lock state is locked.
+ - The Door Lock normal and passage mode are supported.
+ - The operating mode is set to normal.
+ - The Auto Relock Time is set to 5 seconds.
+ - The Door Lock alarm supports <Forced Door Open under Door Locked Condition> event.
+
+When the Door Lock server lock state is locked, the green led is ON.
+The Door Lock Server periodically enables passage mode (every 30 seconds during 10 seconds).
+When passage mode is activated on server, the red led is ON.
+
+The Door Lock Client can remotely:
+ - Create a new user (with PIN code).
+ - Lock/Unlock the door (including unlock requests with a wrong PIN).
+
+When the Door Lock client receives a Door Lock alarm notification, the red led
+is ON during 500ms.
+
+Note: When the Door Lock server is in passage mode, the PIN code is not checked
+ and the lock remains open after an unlock.
+
+
+ Device 1 Device 2
+
+ +--------+ +--------+
+ | | | |
+ | Client | | Server |
+ | | /* Door Lock server init */ | |
+ | | -->| |
+ | | ZbZclAttrIntegerWrite(ZCL_DOORLOCK_ATTR_LOCKSTATE) | | |
+ | | ---| |
+ | | | |
+ | | -->| |
+ | | ZbZclAttrIntegerWrite(ZCL_DOORLOCK_ATTR_DOORSTATE) | | |
+ | | ---| |
+ | | | |
+ | | -->| |
+ | | ZbZclAttrIntegerWrite(ZCL_DOORLOCK_ATTR_SUPPORTED_MODES) | | |
+ | | ---| |
+ | | | |
+ | | -->| |
+ | | ZbZclAttrIntegerWrite(ZCL_DOORLOCK_ATTR_MODE) | | |
+ | | ---| |
+ | | | |
+ | | -->| |
+ | | ZbZclAttrIntegerWrite(ZCL_DOORLOCK_ATTR_AUTO_RELOCK) | | |
+ | | ---| |
+ | | | |
+ | | | |
+ | | /* Door Lock client/server normal mode interaction */ | |
+ | | | |
+ | | ZbZclDoorLockClientUnlockReq(PIN) | |
+ PushB SW1=>| | -------------------------------------------------------------------> | |=> GREEN LED OFF
+ | | <------------------------------------------------------------------- | |
+ | | | |
+ | | /* When Auto Relock Time is reached */ -->| |
+ | | ZbZclAttrIntegerWrite(ZCL_DOORLOCK_ATTR_LOCKSTATE) | | |=> GREEN LED ON
+ | | ---| |
+ | | | |
+ | | ZbZclDoorLockClientLockReq(PIN) | |
+ PushB SW2=>| | -------------------------------------------------------------------> | |=> GREEN LED ON
+ | | <------------------------------------------------------------------- | |
+ | | | |
+ | | ZbZclDoorLockClientUnlockReq(WRONG_PIN) | |
+ PushB SW3=>| | -------------------------------------------------------------------> | |=> GREEN LED remains ON
+ | | <------------------------------------------------------------------- | |
+ | | | |
+ | | | |
+ | | /* Door Lock client/server passage interaction */ | |
+ | | | |
+ | | ZbZclDoorLockClientUnlockReq(PIN) | |
+ PushB SW1=>| | -------------------------------------------------------------------> | |=> GREEN LED OFF
+ | | <------------------------------------------------------------------- | |
+ | | | |
+ | | ZbZclDoorLockClientLockReq(PIN) | |
+ PushB SW2=>| | -------------------------------------------------------------------> | |=> GREEN LED ON
+ | | <------------------------------------------------------------------- | |
+ | | | |
+ | | ZbZclDoorLockClientUnlockReq(WRONG_PIN) | |
+ PushB SW3=>| | -------------------------------------------------------------------> | |=> GREEN LED OFF
+ | | <------------------------------------------------------------------- | |
+ | | | |
+ | | | |
+ | | /* Forced Door Open under Door Locked Condition alarm */ | |
+ | | | |
+ | | -->| |
+ | | ZbZclAttrIntegerWrite(ZCL_DOORLOCK_ATTR_DOORSTATE) | | |<=PushB SW1
+ | | ---| |
+ | | ZbZclClusterSendAlarm | |
+RED LED ON <=| | <------------------------------------------------------------------- | |
+ | | | |
+ | | -->| |
+ | | /* Passage mode for 10s */ | | |<=PushB SW2
+ | | ---| |
+ | | | |
+ | | | |
+ +--------+ +--------+
+
+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_DoorLock_Server_Coord application (Device2 in the above diagram).
+ Wait for the Blue LED (LED1) ON.
+ Start the second board. This board is configured as Zigbee router and will attached to the network created
+ by the coordinator. Do the same for the other boards if applicable.
+
+ b) At this stage, the Zigbee network is automatically created and BLUE LED (LED1) is ON on all devices.
+ it is now possible to remotely read Door Lock server attributes on the client by pressing on
+ the SW1/SW2 push button.
+
+ 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>
+