1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
/**
@page Zigbee_custom_ls_Server_Coord application
@verbatim
******************************************************************************
* @file Zigbee/Zigbee_custom_ls_Server_Coord/readme.txt
* @author MCD Application Team
* @brief Description of the Zigbee Custom Cluster long string application
* using a centralized network. This application concerns only the
* coordinator role (Server).
******************************************************************************
*
* Copyright (c) 2019-2021 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
@endverbatim
@par Application Description
How to use the Custom long string cluster on a device acting as a Server with Coordinator role within a Centralized Zigbee network.
The purpose of this application is to show how to create a centralized Zigbee network, and how to communicate
from one node to another one using the custom long string cluster. Once the Zigbee mesh network is created, the
user can send requests to the different boards through the push buttons in order to make the LED toggling.
Coordinator device act as a Server and the Router as a Client that communicates in unicat with the Server.
Device 1 Device 2
--------- ---------
| | ZbZclSet_custom_ls_ClientCommand | |
Push1=>|Client | -----------------------------------> |Server | => message to display + toggle Red LED
Push2=>| | | |
| | ZbZcl_custom_ls_ServerSendCommandRsp | |
LED <=| | <----------------------------------- | |
| | | |
| | | |
-------- ---------
This application requires at minimum two STM32WB55xx nucleo boards, but you can use up four boards.
This application requests having the stm32wb5x_zigbee_full_fw.bin binary flashed on the wireless coprocessor
and the correct binary flashed on the application processor.
Important note :
================
As it is a centralized network, to run this application, you need to have one device acting
as coordinator and one device acting as router.
One board must be flashed with the binary generated by the application located under Zigbee/Zigbee_custom_ls_Server_Coord.
The other board must be flashed with the binary generated by this application (Zigbee/Zigbee_custom_ls_Client_Router)
To run the application :
a) Once the boards have been flashed, eboot the different devices one by one (first coordinator and then router).
There must be one board configured in coordinator and one board configured in router
b) Wait for a few seconds (around 5 sec), it order to let the zigbee mesh network being created.
c) At this stage, a Zigbee network is automatically created and it is possible to send custom ls commands
in unicast mode by pressing on the SW1 (matching string) or SW2 (mismatching string) button of the client.
Press on SW1 . You must see the message received in the coordinator trace the string is matching server one's
Response is sent with a MATCH status by server -> the Green LED is on for 0.5s on client side.
Press on SW2 . Tou must see the message received in the coordinator trace the sting is mismatching server one's
Response is sent with a MISMATCH status by server -> the Red LED is on for 0.5s on client side.
---------- -----------
|Device 1 |............|Device 2 |
|(router | |(Coord.) |
----------- -----------
@par Keywords
Zigbee
@par Hardware and Software environment
- This example runs on STM32WB55xx devices (Nucleo board)
- 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_full_fw.bin binary
This application requests having the stm32wb5x_zigbee_full_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>© COPYRIGHT STMicroelectronics</center></h3>
|