Skip to content

Commit 5deb8aa

Browse files
Apply suggestions from code review
Co-authored-by: silabs-vm <[email protected]>
1 parent 12d1367 commit 5deb8aa

File tree

4 files changed

+68
-69
lines changed

4 files changed

+68
-69
lines changed

sld297-matter-aws-feature/aws-configuration-registration.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Amazon Web Services offers reliable, scalable, and inexpensive cloud computing s
77
1. Open [AWS](https://aws.amazon.com/).
88
2. Log in using your AWS credentials.
99

10-
3. Go to **Security > Policies** and select **Create Policy**. Enter the policy name (ex: MATTER_AWS_POLICY_) and, in the policy statements, select **JSON** and replace the contents with the JSON provided below:
10+
3. Go to **Security > Policies** and select **Create Policy**. Enter the policy name (e.g., `MATTER_AWS_POLICY_`). In the policy statements, select **JSON** and replace the contents with the JSON provided below:
1111

1212
```shell
1313
{
@@ -24,20 +24,20 @@ Amazon Web Services offers reliable, scalable, and inexpensive cloud computing s
2424

2525
4. Once done, select **Create**.
2626

27-
5. Create client CSR certificate, and a client key using the [Openssl Certificate Creation](./openssl-certificate-creation.md) documentation.
27+
5. Create a client CSR certificate and a client key by following the steps in the [OpenSSL Certificate Creation](./openssl-certificate-creation.md) documentation.
2828

29-
6. Steps to create a thing and generate certificates for your Matter application to use in the `MatterAwsNvmCert.cpp` source file:
29+
6. Complete the following steps to create a thing and generate certificates for your Matter application to use in the `MatterAwsNvmCert.cpp` source file:
3030

3131
- Go to **All Devices > Things** and select **Create Things**.
3232
- Select **Create Single Thing** and click **Next**.
33-
- Specify thing properties in **Info > Give the thing a name** (Note: Client ID) and click **Next**.
34-
- Configure the device certificate (optional) in **Info > Upload CSR**.
33+
- Under **Info > Give the thing a name**, specify the thing name (this will be the client ID), then click **Next**.
34+
- (Optional) Configure the device certificate under **Info > Upload CSR**.
3535
- In **Certificate > Choose file** (Choose Client CSR generated in Openssl Certificate Creation ex: `device.csr`). Click **Next**.
36-
- Use the policy (ex: MATTER_AWS_POLICY_) created in AWS Certificate creation.
37-
- Upon successful creation, Activate the Certificate and download the certificate.
36+
- Use the policy (e.g., `MATTER_AWS_POLICY_`) created in AWS Certificate creation.
37+
- Once the thing is successfully created, activate and download the certificate.
3838

3939
8. Copy the contents of [AWS_CA CERT](https://www.amazontrust.com/repository/AmazonRootCA3.pem) and add it as CA certificate in `MatterAwsNvmCert.cpp`.
4040

41-
9. Repeat Step 5 to create a new thing to use in MQTT Explorer using the certificate created for MQTT explorer (from Openssl Certificate Creation ex: `explorer.csr`). create a .pem file from CA certificate in step 8 to use as a SERVER CERTIFICATE in MQTT Explorer.
41+
9. Repeat Step 5 to create a new thing for use in MQTT Explorer, using the certificate generated for MQTT Explorer during OpenSLL certificate creation (e.g., `explorer.csr`). Create a `.pem` file from the CA certificate in step 8 and use it as the server certificate in MQTT Explorer.
4242

43-
**Note**: Thing name must be unique as it will be used as CLIENT ID.
43+
**Note**: The thing name must be unique as it will be used as the client ID.

sld297-matter-aws-feature/build-matter-aws.md

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,71 @@
11
# Build Procedure For Matter + AWS
22

3-
The following components are common for all apps and should be modified in the corresponding app specific .slcp file.
3+
The following components are common for all apps and should be modified in the corresponding application-specific `.slcp` file.
44

55
## How to Add the Matter + AWS Component
66

7-
To add the Matter + AWS component, modify the corresponding app specific .slcp file.
7+
To add the Matter + AWS component, modify the corresponding application-specific `.slcp` file.
88

99
```shell
1010
- id: matter_aws
1111
from: matter
1212
```
13-
To add component in Simplicity Studio, add below components.
13+
To enable the component in Simplicity Studio, add the following components.
1414

15-
- Go to Software components, search for Matter_Wifi. Click on Settings symbol beside Matter Wifi component in the left panel and enable IPV4 configuration.
15+
- Go to **Software** components, search for `Matter_Wifi`. Click on **Settings** symbol beside Matter Wi-fi component in the left panel and enable IPV4 configuration.
1616
![IPV4 Component](images/matter_aws_ipv4_enable_1.png)
1717
![IPV4 Settings Enable](images/matter_aws_ipv4_enable_2.png)
1818

19-
- Go to Software Components, search for aws and install matter aws component.
19+
- In **Software Components**, search for `aws` and install the Matter AWS component.
2020

21-
- Next select the dependencies for matter aws component.
21+
- Next, select the dependencies for the Matter AWS component.
2222
![Default Entropy Source for Matter + AWS](images/matter_aws_dependency_1.png)
2323
![Public-Key Abstaction Layer for Matter + AWS](images/matter_aws_dependency_2.png)
2424

2525
## How to Add the Matter + AWS Server, Client, Cluster Details.
2626

27-
- Add the Server ID, CLient Id and Cluster Info in `MatterAwsConfig.h`.
28-
    - update AWS server name at #define MATTER_AWS_SERVER_HOST ""
29-
    - update client ID at #define MATTER_AWS_CLIENT_ID ""
30-
    - update intrested cluster at #define ZCL_USING_THERMOSTAT_CLUSTER_SERVER
27+
- Update the definitions for the server ID, client ID and cluster in `MatterAwsConfig.h`:
28+
    - Update the AWS server name at `#define MATTER_AWS_SERVER_HOST ""`.
29+
    - Update the client ID at `#define MATTER_AWS_CLIENT_ID ""`.
30+
    - Update the cluster information at `#define ZCL_USING_THERMOSTAT_CLUSTER_SERVER`.
3131

3232

3333
## Building Matter + AWS Application
3434

35-
- After modification in the **.slcp** Project file as above step, refresh the **matter-extension** in Simplicity Studio.
35+
- After you finish modifying the **.slcp** project file as described above, refresh the `matter-extension` in Simplicity Studio.
3636

37-
- Select **Preferences** in the **Launcher** tab.
37+
- On the **Launcher** tab, select **Preferences**.
3838

3939
![Select Preferences](images/select-preferences.png)
4040

41-
- Expand Simplicity Studio section and click on **SDKs** Tab.
41+
- Expand the **Simplicity Studio** section, and click the **SDKs** tab.
4242

4343
![Select SDK](images/select-studio-sdk-option.png)
4444

45-
- Expand **Simplicity SDK** and click the **Refresh** button from side menu.
45+
- Expand **Simplicity SDK**, and click **Refresh** in the side menu.
4646

4747
![Select Refresh](images/select-refresh-option.png)
4848

49-
- Build the Matter + AWS application using Simplicity Studio
50-
- [Build SOC Application Using Studio](/matter/{build-docspace-version}/matter-wifi-run-demo/build-soc-application-using-studio)
49+
- Build the Matter + AWS application using Simplicity Studio as described in
50+
- [Build SOC Application Using Studio](/matter/{build-docspace-version}/matter-wifi-run-demo/build-soc-application-using-studio).
5151

5252
## Compile using new/different certificates
5353

54-
- Two devices should not use the same Client ID. Use a different Client ID for
54+
- Two devices should not use the same client ID. Use a different client ID for
5555
your second connection.
56-
- While using AWS, Change the following:
56+
- While using AWS, update the following information:
5757
- Add your AWS certificates in file
5858
`examples/platform/silabs/matter_aws/matter_aws_interface/include/MatterAwsNvmCert.h`
5959
- Provide the AWS Root CA key
6060
(https://www.amazontrust.com/repository/AmazonRootCA3.pem)
61-
- provide device_certificate and device_key with your device cert and
62-
device key. Refer
63-
[Openssl Device Certificate Creation] (./openssl-certificate-creation.md)
64-
- Add your AWS server and Client ID in file
65-
`examples/platform/silabs/matter_aws/matter_aws_interface/include/MatterAwsConfig.h`
66-
- Provide `MATTER_AWS_SERVER_HOST` with your AWS Server name
67-
- provide `MATTER_AWS_CLIENT_ID` with your device/thing ID
68-
- provide `ZCL_USING_THERMOSTAT_CLUSTER_SERVER` with the cluster details.
61+
- Provide `device_certificate` and `device_key` with your device certificate and
62+
device key. For more details, refer to
63+
[OpenSSL Device Certificate Creation] (./openssl-certificate-creation.md)
64+
- Add your AWS server and client ID information to the
65+
`examples/platform/silabs/matter_aws/matter_aws_interface/include/MatterAwsConfig.h` file.
66+
- Provide `MATTER_AWS_SERVER_HOST` with your AWS Server name.
67+
- Provide `MATTER_AWS_CLIENT_ID` with your device/thing ID.
68+
- Provide `ZCL_USING_THERMOSTAT_CLUSTER_SERVER` with the cluster details.
6969
- The preferred certificate type to use in the application is ECDSA.
7070
- AWS RootCA used in this PoC is
7171
https://www.amazontrust.com/repository/AmazonRootCA3.pem

sld297-matter-aws-feature/index.md

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
11
# Matter + AWS Component
22

3-
- Matter + AWS is a silabs only feature to connect matter devices to
4-
proprietary cloud solutions(AWS) directly. As such, a Matter Wi-Fi device
5-
must support connecting locally on the Matter Fabric, via IPv6, and
3+
- Matter + AWS is a Silicon Labs–specific feature that enables Matter devices to connect directly to
4+
proprietary cloud solutions, such as AWS Cloud. As such, a Matter Wi-Fi device
5+
must support connecting locally on the Matter Fabric via IPv6 and
66
connecting to the Internet via IPv4.
7-
- Matter devices can be controlled by chip-tool or controller and the
8-
respective status of the attribute modified will be published to the cloud.
9-
- Remote user can install the cloud specific application to get the
10-
notification on the attribute status.
7+
- Matter devices can be controlled by chip-tool or a controller. The
8+
status of the modified attributes will be published to the cloud.
9+
- Remote users can install a cloud-specific application to receive
10+
notifications about the attribute status.
1111

1212
## Matter + AWS Feature Diagram
1313

14-
1. Below diagram gives end-to-end flow about Direct Internet Connectivity.
14+
The following diagram shows end-to-end flow for Direct Internet Connectivity.
1515

1616
![Silicon Labs - Matter + AWS design](./images/matter-aws-flow.png)
1717

1818
## Prerequisites
1919

2020
### Hardware Requirements
2121

22-
For the list of hardware requirements for Matter + AWS feature , see the
22+
For a list of hardware requirements for the Matter + AWS feature, see the
2323
official
24-
[Silicon Labs Matter HW requirements](https://siliconlabs.github.io/matter/latest/general/HARDWARE_REQUIREMENTS.html)
24+
[Silicon Labs Matter hardware requirements](https://siliconlabs.github.io/matter/latest/general/HARDWARE_REQUIREMENTS.html)
2525
documentation.
2626

2727
### Software Requirements
2828

29-
For the list of software requirements for Matter + AWS feature , see the
29+
For a list of software requirements for the Matter + AWS feature, see the
3030
official
3131
[Silicon Labs Matter Software requirements](https://siliconlabs.github.io/matter/latest/general/SOFTWARE_REQUIREMENTS.html)
3232
documentation.
@@ -35,11 +35,11 @@ documentation.
3535

3636
### Message Queuing Telemetry Transport (MQTT)
3737

38-
- MQTT is an OASIS standard messaging protocol for the Internet of Things
38+
MQTT is an OASIS standard messaging protocol for the Internet of Things
3939
(IoT). It is designed as an extremely lightweight publish/subscribe
4040
messaging transport that is ideal for connecting remote devices with a small
41-
code footprint and minimal network bandwidth. Refer https://mqtt.org/ for
42-
more details
41+
code footprint and minimal network bandwidth.
42+
For more details, visit https://mqtt.org/.
4343

4444
### Configuring the MQTT server
4545

@@ -49,44 +49,44 @@ To set up and configure AWS for Matter + AWS support, see the following document
4949

5050
### Remote User Setup (MQTT Explorer) (optional)
5151

52-
A remote user is used to check the state of a Matter device. In this context, MQTT explorer is used as a remote user. See [MQTT explorer setup and configuration](./mqtt-explorer-setup.md).
52+
Remote users are used to check the state of Matter devices. In this context, MQTT Explorer acts as a remote user. For more information, see [MQTT Explorer Setup and Configuration](./mqtt-explorer-setup.md).
5353

5454
### Building Matter + AWS Application using Simplicity Studio
5555

56-
1. Follow instructions in [Build MATTER + AWS](./build-matter-aws.md) to enable the MATTER + AWS feature in code.
56+
Follow the instructions in [Build MATTER + AWS](./build-matter-aws.md) to enable the MATTER + AWS feature in your application code.
5757

5858

5959
## End-to-End Test of Matter + AWS Application
6060

6161
User Setup (MQTT Explorer):
6262

6363
- Sharing status of device to cloud
64-
- The following diagram shows the end-to-end flow for sharing status from a Matter device to the Cloud.
64+
- The following diagram shows the end-to-end flow for sharing status from a Matter device to the cloud.
6565

6666
![Silicon Labs - Matter + AWS design](images/dic-status-sharing.png)
6767

68-
**Note**: For reference, Lighting App commands are given in the above image. Other application commands also can be passed.
68+
**Note**: For reference, the diagram shows Lighting App commands. Other application commands also can be passed.
6969

7070
- For the end-to-end commands to be executed from chip-tool, refer to [Running the Matter Demo Over Wi-Fi](/matter/{build-docspace-version}/matter-wifi-run-demo).
71-
- Below are the application-specific attributes or states shared to the cloud:
71+
- The following application-specific attributes or states are shared to the cloud:
7272
- For Lighting App, On/Off Attributes
7373
- For Lock App, lock/unlock Attributes
7474
- For Windows App, lift/tilt Attributes
7575
- For Thermostat App, SystemMode/CurrentTemp/LocalTemperature/OccupiedCoolingSetpoint/OccupiedHeatingSetpoint Attributes
7676
- For On/off Plug App, On/Off Attributes
77-
- Application status would be updated on the mqtt_explorer UI, as shown in below image.
77+
- The MQTT Explorer UI updates the application status as shown in following image.
7878

7979
![Matter + AWS status update](images/mqtt-explorer-4.png)
8080

8181
- Control of the device through cloud interface
82-
- The diagram below shows the end-to-end flow for control of the Matter device through a cloud interface.
82+
- The following diagram shows the end-to-end flow for control of the Matter device through a cloud interface.
8383

8484
![Silicon Labs - Matter + AWS design](images/dic-control-part.png)
8585

86-
**Note**: For reference, Lighting App commands are shown in the above image. Similarly, other application commands also can be passed.
86+
**Note**: For reference, the diagram shows Lighting App commands. Other application commands also can be passed.
8787

88-
- Make sure the Matter device is up and commissioned successfully. Refer to [Running the Matter Demo Over Wi-Fi](/matter/{build-docspace-version}/matter-wifi-run-demo).
89-
- For controlling the device, set topic name and the commands to be executed in the mqtt_explorer for the following applications.
88+
- Ensure that the Matter device is running and successfully commissioned. For detailed steps, refer to [Running the Matter Demo Over Wi-Fi](/matter/{build-docspace-version}/matter-wifi-run-demo).
89+
- To control the device, set the topic name and the commands to be executed in the MQTT Explorer for the following applications.
9090

9191
```shell
9292
- Lighting App

sld297-matter-aws-feature/openssl-certificate-creation.md

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,21 @@ An SSL certificate is an important way to secure user information and protect ag
44

55
## Openssl Installation (In ubuntu 22.04)
66

7-
1. To install openssl (v 3.0.2) - `sudo apt install openssl`
7+
1. To install OpenSSL (v 3.0.2), issue the following command: `sudo apt install openssl`
88

99
## Certificates Creation
1010

11-
The following commands are used to generate certificates:
11+
Use the following commands to generate certificates:
1212

13-
1. To generate Client key:
13+
1. **Generate the client key:**
1414
- `openssl ecparam -name prime256v1 -genkey -noout -out device.key`
15-
2. To generate Client certificate (ex: `device.crt` and `device.key`) using CA
15+
2. **Generate the client certificate** (e.g., `device.crt` and `device.key`) using a CA
1616
certficate:
1717
- `openssl req -new -out device.csr -key device.key`
18-
3. While creating AWS thing , use Upload CSR option in configure device
19-
certificate step. once uploaded the CSR generated in step 2. AWS will
20-
generate AWS CA authenticated device.crt.
18+
3. **Upload CSR to AWS**: While creating the AWS IoT thing, use the **Upload CSR** option in the configure device
19+
certificate step. Once the CSR generated in step 2 is uploaded, AWS will
20+
generate an AWS CA-authenticated `device.crt`.
2121
![AWS CSR Upload ](./images/matter_aws_device_csr_certificate_generation.png)
2222

23-
Repeat step 1 and 2 to create an additional set of certificate to use in MQTT
24-
explorer (ex: `explorer.crt` and `explorer.key`). (Create with different name
25-
for Identification)
23+
To use MQTT Explorer, repeat steps 1 and 2 to create an additional set of certificates
24+
(e.g., `explorer.crt` and `explorer.key`). Use a different name to uniquely identify the certificates.

0 commit comments

Comments
 (0)