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

readme.txt « Zigbee_TempMeas_Server_Coord « Zigbee « Applications « STM32WB5MM-DK « Projects - github.com/Flipper-Zero/STM32CubeWB.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 9c699411ca819e5b27b38036febe950532f18e9d (plain)
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
/**
  @page Zigbee_TempMeas_Server_Coord application
  
  @verbatim
  ******************************************************************************
  * @file    Zigbee/Zigbee_TempMeas_Server_Coord/readme.txt 
  * @author  MCD Application Team
  * @brief   Description of the Zigbee TempMeas Cluster application as a client  
  *          using a centralized network. 
  ******************************************************************************
  *
  * 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 Temperature Measurement cluster as a server 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 TempMeas cluster. Once the Zigbee mesh 
network is created, the server store in its attribute the temperature sensor acquisition on a 500ms based period. 
The temperature is displayed on the LCD and green LED toggle at each acquisition. Sensor min/max/tolerance are
displayed as well.
On the client device the server temperature is reported and displayed automatically every 10s (LED toggle in blue)
On the client the user can start a 500ms read over the air of the server temperature pushing button1 (LED toggle in purple
on each read). To stop the 500ms read the user push the button2.  

For this application it is requested to have:

- 1 STM32WB5MMxx board loaded with: 
    - wireless coprocessor : stm32wb5x_Zigbee_FFD_fw.bin
    - application : Zigbee_TempMeas_Server_Coord
    
- 1 or more STM32WB5MMxx board loaded with: 
    - wireless coprocessor : stm32wb5x_Zigbee_FFD_fw.bin
    - application : Zigbee_TempMeas_Client_Router
    

              Device 1                                      Device 2
        
             ---------                                      ---------
             |       |       ZbZclReadReq (evey 500ms)	    |       |
    PushSW1=>|Client | -----------------------------------> |Server | =>LCD Local sensor temp 
  LCD sever<=|       | <-----ZbZclReadRsp------------------ |       |   500ms duty cycle
  temp       |       |                                      |       |
             |       | <---ZclReport (every 10s)------------|       |
    PushSW2=>|       |                                      |       |   500ms duty cycle
    (stop)   |       |                                      |       |
              --------                                      ---------
  
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_TempMeas_Server_Coord application (Device2 in the above diagram). 
      Wait for the message 'Join OK'  being displayed on the LCD. 
      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 Join OK is displayed on both devices.
      it is now possible to receive a 10s duty cycle report form Server (blue LED toggling) 
      by pressing on the SW1 push button. 
      You start a 500ms duty cycle send a read temp request to server (purple LED toggling)  
      by pressing on the SW2 push button.
      You stop the 1s duty cycle read. (reporting is still running though)  


 

@par Keywords

Zigbee
 
@par Hardware and Software environment

  - This example runs on STM32WB5MMxx devices.
  
  - This example has been tested with an STMicroelectronics STM32WB5MM-DK 
    board and can be easily tailored to any other supported device 
    and development board.
    
@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>