@@ -10,12 +10,14 @@ creating your own application.
10
10
The example is based on
11
11
[ Matter] ( https://github.com/project-chip/connectedhomeip ) and Nordic
12
12
Semiconductor's nRF Connect SDK, and was created to facilitate testing and
13
- certification of a Matter device communicating over a low-power, 802.15.4 Thread
14
- network.
13
+ certification of a Matter device communicating over a low-power 802.15.4 Thread
14
+ network, or Wi-Fi network .
15
15
16
16
The example behaves as a Matter accessory, that is a device that can be paired
17
- into an existing Matter network and can be controlled by this network. The
18
- device works as a Thread Minimal End Device.
17
+ into an existing Matter network and can be controlled by this network. In the
18
+ case of Thread, this device works as a Thread Sleepy End Device. Support for
19
+ both Thread and Wi-Fi is mutually exclusive and depends on the hardware
20
+ platform, so only one protocol can be supported for a specific device.
19
21
20
22
<hr >
21
23
@@ -24,6 +26,7 @@ device works as a Thread Minimal End Device.
24
26
- [ Bluetooth LE rendezvous] ( #bluetooth-le-rendezvous )
25
27
- [ Requirements] ( #requirements )
26
28
- [ Supported devices] ( #supported_devices )
29
+ - [ IPv6 network support] ( #ipv6-network-support )
27
30
- [ Device UI] ( #device-ui )
28
31
- [ Setting up the environment] ( #setting-up-the-environment )
29
32
- [ Using Docker container for setup] ( #using-docker-container-for-setup )
@@ -55,17 +58,27 @@ and [Zephyr RTOS](https://zephyrproject.org/). Visit Matter's
55
58
[ nRF Connect platform overview] ( ../../../docs/guides/nrfconnect_platform_overview.md )
56
59
to read more about the platform structure and dependencies.
57
60
58
- The Matter device that runs the all clusters application is controlled by the
59
- Matter controller device over the Thread protocol. By default, the Matter device
60
- has Thread disabled, and it should be paired with Matter controller and get
61
- configuration from it. Some actions required before establishing full
62
- communication are described below.
61
+ By default, the Matter accessory device has IPv6 networking disabled. You must
62
+ pair it with the Matter controller over Bluetooth® LE to get the configuration
63
+ from the controller to use the device within a Thread or Wi-Fi network. You have
64
+ to make the device discoverable manually (for security reasons). See
65
+ [ Bluetooth LE advertising] ( #bluetooth-le-advertising ) to learn how to do this.
66
+ The controller must get the commissioning information from the Matter accessory
67
+ device and provision the device into the network.
68
+
69
+ You can test this application remotely over the Thread or the Wi-Fi protocol,
70
+ which in either case requires more devices, including a Matter controller that
71
+ you can configure either on a PC or a mobile device.
63
72
64
73
### Bluetooth LE advertising
65
74
66
75
In this example, to commission the device onto a Matter network, it must be
67
76
discoverable over Bluetooth LE. For security reasons, you must start Bluetooth
68
- LE advertising manually after powering up the device by pressing ** Button 4** .
77
+ LE advertising manually after powering up the device by pressing:
78
+
79
+ - On nRF52840 DK, nRF5340 DK, and nRF21540 DK: ** Button 4** .
80
+
81
+ - On nRF7002 DK: ** Button 2** .
69
82
70
83
### Bluetooth LE rendezvous
71
84
@@ -75,14 +88,16 @@ commissioner role.
75
88
76
89
To start the rendezvous, the controller must get the commissioning information
77
90
from the Matter device. The data payload is encoded within a QR code, printed to
78
- the UART console.
91
+ the UART console, and shared using an NFC tag. The emulation of the NFC tag
92
+ starts automatically when Bluetooth LE advertising is started and stays enabled
93
+ until Bluetooth LE advertising timeout expires.
79
94
80
- #### Thread provisioning
95
+ #### Thread or Wi-Fi provisioning
81
96
82
97
Last part of the rendezvous procedure, the provisioning operation involves
83
- sending the Thread network credentials from the Matter controller to the Matter
84
- device. As a result, device is able to join the Thread network and communicate
85
- with other Thread devices in the network.
98
+ sending the Thread or Wi-Fi network credentials from the Matter controller to
99
+ the Matter device. As a result, the device joins the Thread or Wi-Fi network and
100
+ can communicate with other devices in the network.
86
101
87
102
<hr >
88
103
@@ -100,14 +115,24 @@ more information.
100
115
101
116
The example supports building and running on the following devices:
102
117
103
- | Hardware platform | Build target | Platform image |
104
- | ------------------------------------------------------------------------------------------------- | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
105
- | [ nRF52840 DK] ( https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-DK ) | ` nrf52840dk_nrf52840 ` | <details ><summary >nRF52840 DK</summary ><img src =" ../../platform/nrfconnect/doc/images/nRF52840_DK_info-medium.jpg " alt =" nRF52840 DK " /></details > |
106
- | [ nRF5340 DK] ( https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF5340-DK ) | ` nrf5340dk_nrf5340_cpuapp ` | <details ><summary >nRF5340 DK</summary ><img src =" ../../platform/nrfconnect/doc/images/nRF5340_DK_info-medium.jpg " alt =" nRF5340 DK " /></details > |
107
- | [ nRF52840 Dongle] ( https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-Dongle ) | ` nrf52840dongle_nrf52840 ` | <details ><summary >nRF52840 Dongle</summary ><img src =" ../../platform/nrfconnect/doc/images/nRF52840_Dongle-medium.jpg " alt =" nRF52840 Dongle " /></details > |
118
+ | Hardware platform | Build target | Platform image |
119
+ | --------------------------------------------------------------------------------------------------------------- | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
120
+ | [ nRF52840 DK] ( https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-DK ) | ` nrf52840dk_nrf52840 ` | <details ><summary >nRF52840 DK</summary ><img src =" ../../platform/nrfconnect/doc/images/nRF52840_DK_info-medium.jpg " alt =" nRF52840 DK " /></details > |
121
+ | [ nRF5340 DK] ( https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF5340-DK ) | ` nrf5340dk_nrf5340_cpuapp ` | <details ><summary >nRF5340 DK</summary ><img src =" ../../platform/nrfconnect/doc/images/nRF5340_DK_info-medium.jpg " alt =" nRF5340 DK " /></details > |
122
+ | [ nRF52840 Dongle] ( https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-Dongle ) | ` nrf52840dongle_nrf52840 ` | <details ><summary >nRF52840 Dongle</summary ><img src =" ../../platform/nrfconnect/doc/images/nRF52840_Dongle-medium.jpg " alt =" nRF52840 Dongle " /></details > |
123
+ | [ nRF7002 DK] ( https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/ug_nrf7002.html#nrf7002dk-nrf5340 ) | ` nrf7002dk_nrf5340_cpuapp ` | <details ><summary >nRF7002DK</summary ><img src =" ../../platform/nrfconnect/doc/images/nrf7002dk.jpg " alt =" nRF7002 DK " /></details > |
108
124
109
125
<hr >
110
126
127
+ ### IPv6 network support
128
+
129
+ The development kits for this sample offer the following IPv6 network support
130
+ for Matter:
131
+
132
+ - Matter over Thread is supported for ` nrf52840dk_nrf52840 ` and
133
+ ` nrf5340dk_nrf5340_cpuapp ` .
134
+ - Matter over Wi-Fi is supported for ` nrf7002dk_nrf5340_cpuapp ` .
135
+
111
136
<a name =" device-ui " ></a >
112
137
113
138
## Device UI
@@ -137,21 +162,42 @@ following states are possible:
137
162
Bluetooth LE.
138
163
139
164
- _ Short Flash Off (950ms on/50ms off)_ &mdash ; The device is fully
140
- provisioned, but does not yet have full Thread network or service
141
- connectivity .
165
+ provisioned, but does not yet have full connectivity for Thread or Wi-Fi
166
+ network .
142
167
143
- - _ Solid On_ &mdash ; The device is fully provisioned and has full Thread
144
- network and service connectivity.
168
+ - _ Solid On_ &mdash ; The device is fully provisioned.
145
169
146
170
** Button 1** can be used for the following purposes:
147
171
148
- - _ Pressed for 6 s_ &mdash ; Initiates the factory reset of the device.
149
- Releasing the button within the 6-second window cancels the factory reset
150
- procedure. ** LEDs 1-4** blink in unison when the factory reset procedure is
151
- initiated.
172
+ - _ Pressed for less than 3 s_ &mdash ; Initiates the OTA software update
173
+ process. This feature is disabled by default, but can be enabled by
174
+ following the
175
+ [ Building with Device Firmware Upgrade support] ( #building-with-device-firmware-upgrade-support )
176
+ instructions.
177
+
178
+ - _ Pressed for more than 3 s_ &mdash ; initiates the factory reset of the
179
+ device. Releasing the button within the 3-second window cancels the factory
180
+ reset procedure.
181
+
182
+ ** Button 2** :
183
+
184
+ - On nRF52840 DK, nRF5340 DK, and nRF21540 DK: Not available.
185
+
186
+ - On nRF7002 DK:
187
+
188
+ - If pressed for more than three seconds, it starts the NFC tag emulation,
189
+ enables Bluetooth LE advertising for the predefined period of time (15
190
+ minutes by default), and makes the device discoverable over Bluetooth
191
+ LE.
192
+
193
+ ** Button 4** :
194
+
195
+ - On nRF52840 DK, nRF5340 DK, and nRF21540 DK: Starts the NFC tag emulation,
196
+ enables Bluetooth LE advertising for the predefined period of time (15
197
+ minutes by default), and makes the device discoverable over Bluetooth LE.
198
+ This button is used during the commissioning procedure.
152
199
153
- ** Button 4** &mdash ; Pressing the button once starts Bluetooth LE advertising
154
- for the predefined period of time (15 minutes by default).
200
+ - On nRF7002 DK: Not available.
155
201
156
202
** SEGGER J-Link USB port** can be used to get logs from the device or
157
203
communicate with it using the
0 commit comments