Edit

Build Procedure For Matter + AWS#

The following steps are common for all apps and should be modified using the Studio Project Configurator tool.

Adding the Matter + AWS Component#

To enable the component in Simplicity Studio, add the following components.

  1. Go to Software components, search for Matter_Wifi. Click the Settings symbol beside Matter Wi-fi component in the left panel or the Configure option and enable IPV4 configuration.

    IPV4 ComponentIPV4 Component

    IPV4 Settings EnableIPV4 Settings Enable

  2. In Software Components, search for aws and install the Matter AWS component.

    Matter + AWS ComponentMatter + AWS Component

  3. Next, select the dependencies for the Matter AWS component.

    Note: The order can vary, but in every case select the option with "+ AWS".

    Default Entropy Source for Matter + AWSDefault Entropy Source for Matter + AWS

    Public-Key Abstaction Layer for Matter + AWSPublic-Key Abstaction Layer for Matter + AWS

Additional Step Needed Only For 917 NCP#

  • In Software Components, search for TLS 1.2 PRF and install the TLS 1.2 PRF component.

    TLS 1.2 PRF ComponentTLS 1.2 PRF Component

Adding the AWS Server, Client ID and Cluster Details#

  1. Go to the third_party/matter_sdk/examples/platform/silabs/matter_aws/matter_aws_interface/include/ folder from Browse to Location option by right-clicking Silicon Labs Matter in Settings > SDKs.

    Matter Extension Browse to LocationMatter Extension Browse to Location

  2. Update the definitions for the server ID, client ID and cluster in MatterAwsConfig.h:

    • Update the AWS server name at #define MATTER_AWS_SERVER_HOST "".

    • Update the client ID at #define MATTER_AWS_CLIENT_ID "".

    • Update the cluster server information from the below table, based on your app:

    Application Type

    Cluster Definition

    Thermostat

    #define ZCL_USING_THERMOSTAT_CLUSTER_SERVER

    Lighting

    #define ZCL_USING_ON_OFF_CLUSTER_SERVER

    Lock

    #define ZCL_USING_DOOR_LOCK_CLUSTER_SERVER

    Window Covering

    #define ZCL_USING_WINDOW_COVERING_CLUSTER_SERVER

    MatterAwsConfig.h File:

    MatterAwsConfig.h FileMatterAwsConfig.h File

Building Matter + AWS Application#

  1. After adding the Matter + AWS component as described above, refresh the matter-extension in Simplicity Studio.

  2. In the Home tab, from the left panel, select Settings.

    Select SettingsSelect Settings

  3. Click on SDKs, ensure the correct version of the SDK is selected, and then click Refresh in the right side menu.

    Select RefreshSelect Refresh

  4. Build the Matter + AWS application using Simplicity Studio as described in Build SOC Application Using Studio.

  5. After building and flashing the app, you can see [MATTER_AWS] logs after device bootup.

    [00:00:23.400][info  ][SVR] [MATTER_AWS] connection callback started
    [00:00:23.690][info  ][SVR] [MATTER_AWS] MQTT connection status: 0
    [00:00:23.995][info  ][SVR] [MATTER_AWS] MQTT sub request callback: 0
  6. After subscribing to a topic in AWS IoT, you can see the publish logs.

    Device Logs AWSDevice Logs AWS

  7. You can see the same data in AWS IoT.

    AWS IoT App DataAWS IoT App Data

    Note:

Compile Using New/Different Certificates#

Two devices should not use the same client ID. Use a different client ID for your second connection. While using AWS, update the following information:

  1. Add your AWS certificates in file examples/platform/silabs/matter_aws/matter_aws_interface/include/MatterAwsNvmCert.cpp.

  2. Add your AWS server and client ID information to the examples/platform/silabs/matter_aws/matter_aws_interface/include/MatterAwsConfig.h file.

    • Provide MATTER_AWS_SERVER_HOST with your AWS Server name.

    • Provide MATTER_AWS_CLIENT_ID with your device/thing ID.

    • Update ZCL_USING_ON_OFF_CLUSTER_SERVER with the cluster server details based on your app.