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
|
/**
@page Zigbee_SE_Msg_Client_Coord application
@verbatim
******************************************************************************
* @file Zigbee/Zigbee_SE_Msg_Client_Coord/readme.txt
* @author MCD Application Team
* @brief Description of the Zigbee SE Messaging Cluster application using a
* centralized network. This application concerns only the
* coordinator role.
******************************************************************************
*
* Copyright (c) 2020 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 SE Messaging cluster on a Centralized Zigbee network with device acting as coordinator (Client).
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 SE Messaging cluster. Once the Zigbee mesh network is created, the
user can send messages from Router (server) to Coordinator (client) through the push buttons.
Press SW1 on server => Send "Hello"
Press SW2 on server => Send "Good Bye"
Device 1 Device 2
--------- ---------
| | ZbZclMsgServerDisplayMessageReq | |
PushB_SW1 => |Server | -----------------------------------> |Client | => "Hello"
| | | |
| | ZbZclMsgServerDisplayMessageReq | |
PushB_SW2 => |Server | -----------------------------------> |Client | => "Good Bye"
| | | |
| | | |
-------- ---------
This application requires two STM32WB55xx nucleo 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 this application (Zigbee/Zigbee_SE_Msg_Client_Coord)
The other boards must be flashed with the binary generated by the application named Zigbee/Zigbee_SE_Msg_Server_Router
To run the application :
a) Once the boards have been flashed, boot the different devices one by one (first coordinator and then router).
There must be one board configured in coordinator mode , and one board configured in router mode.
b) Wait for a few seconds (around 5 sec), in 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 SE Messaging commands
in unicast mode by pressing on the SW1 or SW2 push button of the Server.
Press on SW1 (resp SW2) . You must see the SE Messages sent from Server to Client in Wireshark logs.
---------- -----------
|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>
|