diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index d0e9a88..2b27365 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -18,7 +18,7 @@ As a contributor, you'll want to be familiar with the Silicon Labs tooling: Read the Silicon Labs [coding guidelines](https://github.com/SiliconLabsSoftware/agreements-and-guidelines/blob/main/coding_standard.md). ## Git Setup -We need to know who you are, and how to contact you. Please ass the following information to your Git installation: +We need to know who you are, and how to contact you. Please add the following information to your Git installation: ``` git config --global user.name "FirstName LastName" git config --global user.email "firstname.lastname@example.com" @@ -92,7 +92,7 @@ Please follow the official GitHub [guide](https://opensource.guide/how-to-contri When you created an issue and based on the discussion you want to contribute with your source-code. Branching is disabled on the public Silicon Labs repositories. You need to fork your own repo first. Please follow the official GitHub [guide](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project). -You can create your branch on your own forked repo now. +You can create your branch on your own forked repo now. Pull requests must be merged into the doccurator branches corresponding to the Matter release the change applies to (for example, `doccurator/2.6.2`. ### Branch Naming Convention Branch naming shall follow the following template: *IssueNumber-issue-title-goes-here* @@ -115,7 +115,7 @@ Another line of really good description ``` ## Pull Request Guideline -Okay you finished your work committed all your changes to your branch. Time to create a pull request. +Okay you finished your work committed all your changes to your branch. Time to create a pull request. Pull requests must be merged into the doccurator branches corresponding to the Matter release the change applies to (for example, `doccurator/2.6.2`). Refer to the general pull request [guideline](https://opensource.guide/how-to-contribute/#opening-a-pull-request) from GitHub. What to consider when raising a Pull Request: 1. **Pull Request Naming** diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 62c2f6f..6e362a9 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,5 +1,6 @@ ## Description + ## Related Issue diff --git a/sld120-matter-wifi-getting-started/04-light-switch-step-by-step-example.md b/sld120-matter-wifi-getting-started/04-light-switch-step-by-step-example.md deleted file mode 100644 index f54c30b..0000000 --- a/sld120-matter-wifi-getting-started/04-light-switch-step-by-step-example.md +++ /dev/null @@ -1,142 +0,0 @@ -# Light and Switch Step-by-Step Example - -## Setting up the Matter Hub/Chip-Tool - -This procedure prepares the Raspberry Pi 4B (RPi4B) to become a Matter Hub. You should have downloaded the Matter Hub Raspberry Pi image and Raspberry Pi Imager as described in the [Overview](/matter/{build-docspace-version}/matter-overview). The Raspberry Pi image contains software called chip-tool, which provides a command-line interface into the Matter protocol. - -1. Install the Raspberry Pi Imager and insert the SD card into the PC to flash the image. - - 1. Open the Imager, select the Operating System as 'Custom OS' and browse for the Raspberry Pi Image. - - 2. Select the storage as an SD card. - - 3. Click the settings icon to configure the access point (AP) credentials, Hostname and user credentials. Make sure the 5 GHz Wi-Fi credentials of the dual-band AP are entered. - - 4. Click the 'write' option. **Note** this will erase all existing content on that SD card. - -2. Insert the SD card into Raspberry Pi 4B (RPi4B). - -3. Power-up the RPi4B. Once it is booted up, check the Raspberry Pi's IP address. Refer to [Finding Raspberry Pi IP address](/matter/{build-docspace-version}/matter-references/find-raspi) in the References chapter to get the IP address or enter the Hostname directly in PuTTY. - -4. Use PuTTY to connect to RPi4B. - - 1. The first time connecting to RPi4B, PuTTY will warn about a new host key or key fingerprint. Accept the key. - 2. The credentials (username: password) are the same as those given in Step 1. - 3. Switch to root mode and navigate to path "/home/ubuntu/connectedhomeip/out/standalone" to find the chip-tool. - -Matter hub/chip-tool are ready and working. Keep the PuTTY session open for the following steps. - -## Creating the Matter Accessory Devices (MADs) - -> If using NCP hardware, make sure firmware is properly loaded to the NCP using instructions provided in: [Upgrading the Wi-Fi Connectivity Firmware](/matter/{build-docspace-version}/matter-wifi-run-demo/loading-firmware-for-ncp-and-soc-boards). - -1. In Simplicity Studio 5, create the Light MAD: - - 1. Switch to the Launcher view (if not already in it). - - 2. Connect one compatible dev board to the development computer. - - 3. Once it shows up in the Debug Adapters view, select it. - - 4. Open the Example Projects and Demos tab, select the **Matter** filter and enter "_Wi-Fi_" in **Filter on keywords**. - - 5. Select the _Matter - SoC Lighting over Wi-Fi_ example for RS9116, click **Create**, rename the project if you wish, and click **Finish**. - - 6. Once the project is created, the perspective changes to the Simplicity IDE perspective. In the Project Explorer view, right-click the project and select _Build Project_. - - 7. Once the project has compiled, in the Debug Adapters view right-click the board and select _Upload application_. - - 8. Select the _Application image path_ (Select the path for .s37 file in the path '\\project*name\GNU ARM v12.2.1 - Default') for the newly compiled project and a \_Bootloader image*. The EFR32MG24 devices must be programmed with a bootloader. Obtain those here: [Silicon Labs Matter Artifacts](/matter/{build-docspace-version}/matter-prerequisites/matter-artifacts). - - 9. Disconnect the dev board from development computer. - - 10. **Optional**: Label this device (eg: my_light or my_switch) to make it easier to identify later. - -2. Repeat the process with the second Dev board, but selecting the _Matter - SoC Light Switch over Wi-Fi_ example instead. - -## Creating the Matter Network - -This procedure uses the chip-tool installed on the Matter Hub. Chip-tool includes many commands. The following are some that are used in this example: - -- `chip-tool ble-wifi pairing` -- `chip-tool onoff` -- `chip-tool toggle` -- `chip-tool accesscontrol` -- `chip-tool binding` - -In a PuTTY session to the Matter hub, use the chip-tool to commission the Matter light device.The various compatible boards will have different setups for their LED(s). Typically one LED (or a color channel, if RGB) will be used to indicate the network status of the device: - -- A short flash indicates the MAD is advertising to join a network - -- A rapid flash indicates the commissioning is in progress - -- Solid ON: the MAD is now in the network - -1. Power up the Matter Light device. - -2. Once it is powered up and booted, use the PuTTY session to commission the device using - - `./chip-tool pairing ble-wifi nodeID SSID PSK 20202021 3840` - - where `nodeID` is replaced with the desired ID (for example `./chip-tool pairing ble-wifi 1122 SlWifi 12345678 20202021 3840`). - -3. Make sure the SSID and PSK given here are of 2.4 GHz of the Dual Band AP. - - Be sure to note which nodeIDs are used for Matter light and Matter light_switch devices. These will be needed later for modifying the Matter light's ACL & the Matter light switch's binding table. - -4. Power up the Matter light switch device and commission it too, using a different `nodeID`. - -Now two Matter accessory devices (MADs) are on the network and ready to be used. - -## Controlling the Light MAD - -1. In a PuTTY session to the Matter hub, use the chip-tool to test the Matter light device. - - 1. Control the light status of the light MAD using `./chip-tool onoff on nodeID 1`. You can also use `chip-tool onoff off` and `chip-tool toggle`. - 2. For dev boards with buttons available, you can use BTN1 to toggle the light status locally. - -2. In a PuTTY session to the Matter hub, use the chip-tool to bind the light_switch MAD to the light MAD, thus allowing the switch to control the light. - - 1. First, modify the Access Control List (ACL) of the Matter light device. This list determines which device in the network the Matter light device will react to. Use: `./chip-tool accesscontrol write acl '[ { "fabricIndex" : 1 , "privilege" : 5 , "authMode" : 2 , "subjects" : [`**`112233`**`] , "targets" : null } , { "fabricIndex" : 1 , "privilege" : 3 , "authMode" : 2 , "subjects" : [`**`nodeID-switch`**`], "targets" : null }]'`**`nodeID-light 0`**, where the highlighted parameters are: - - - **112233**: The node ID of the controller. This is always 112233. - - - **nodeID-switch**: The node ID of the Matter light switch device. - - - **nodeID-light**: The node ID of the Matter light device. - - - **0**: The endpoint in the Matter light device that holds the ACL. This is always 0. - - To read the ACL for a Matter device use: `./chip-tool accesscontrol read acl`**`nodeID 0`**, where the highlighted parameters are: - - - **nodeID**: The nodeID of the Matter device (Light or Light_switch) to read the ACL contents from. - - - **0**: The endpoint in the Matter device that holds the ACL. This is always 0. - - 2. Second, bind the switch's write command to the light. This is done by updating the binding table of the Matter light_switch device. This can be done using the command: `./chip-tool binding write binding '[ { "fabricIndex" : 1 , "node" :`**`nodeID-light`**,`"endpoint" :`**`1`**,`"cluster" :`**`cluster-ID`**`} ]'`**`nodeID-switch 1`**, where the highlighted parameters are: - - - **nodeID-light**: The node ID of the Matter light device. - - - **1**: The application endpoint in the light. This is always 1. - - - **cluster-ID**: The ID of the cluster to be controlled. Currently supported clusters are on/off(ID: 6) and level control(ID: 8). - - - **nodeID-switch**: The node ID of the switch. - - - **1**: This is the application endpoint in the switch that holds the binding table. This is always 1. - - The binding table from a Matter device can be read using: `./chip-tool binding read binding`**`nodeID-switch 1`**, where the highlighted parameters are: - - - **nodeID-switch**: The node ID of the Matter switch. - - - **1**: The application endpoint in the switch that holds the binding table. This is always 1. - -3. With the binding complete, a button press (BTN1) on Matter light switch device should now toggle the light or control the level of Matter light device. The button functionality is as follows: - - - **On/Off Binding** - - **BTN1 short press**: To toggle the light on the Matter light device. - - - **Level Control Binding** - - By default, step direction is UP. - - **BTN0 short press + BTN1 short press**: Inverts the step direction (i.e., UP to DOWN and vice versa). - - **BTN1 long press**: Moves the level UP or DOWN according to the step direction diff --git a/sld120-matter-wifi-getting-started/05-example-applications-demos.md b/sld120-matter-wifi-getting-started/05-example-applications-demos.md deleted file mode 100644 index 48c9195..0000000 --- a/sld120-matter-wifi-getting-started/05-example-applications-demos.md +++ /dev/null @@ -1,13 +0,0 @@ -# Example Applications and Demos - -The Silicon Labs Matter Extension offers example applications to help in getting started with Matter. The first two of these are used in this guide's step-by-step example: - -- Matter SoC Light over Wi-Fi - -- Matter SoC Light Switch over Wi-Fi - -- Matter SoC Window Cover over Wi-Fi - -- Matter SoC Lock over Wi-Fi - -- Matter SoC Thermostat over Wi-Fi diff --git a/sld120-matter-wifi-getting-started/07-next-steps-other-resources.md b/sld120-matter-wifi-getting-started/07-next-steps-other-resources.md deleted file mode 100644 index 50dad7a..0000000 --- a/sld120-matter-wifi-getting-started/07-next-steps-other-resources.md +++ /dev/null @@ -1,17 +0,0 @@ -# Next Steps - -Now that you have gotten a sense of what goes into making a Matter network, you can begin to customize MADs and other features for your own purposes. The [Developers' Guide](/matter/{build-docspace-version}/matter-developers-guide-overview) contains more detail than was provided in this Quick-Start guide, and also contains information on a number of special development topics. Your Matter Extension package contains a number of other Matter examples that you can use as a starting point, the first two of which were used in this example: - -- Matter SoC Light over Wi-Fi - -- Matter SoC Light Switch over Wi-Fi - -- Matter SoC Window Cover over Wi-Fi - -- Matter SoC Lock over Wi-Fi - -- Matter SoC Thermostat over Wi-Fi - -If you need support you can contact Silicon Labs through the [Silicon Labs Community](https://community.silabs.com/s/topic/0TO1M000000qHZgWAM/matter). Our engineers and community will be happy to help! You may also find answers here: - -- [Silicon Labs Matter articles](https://community.silabs.com/s/topic/0TO1M000000qHZgWAM/matter?tabset-178da=2) diff --git a/sld120-matter-wifi-getting-started/index.md b/sld120-matter-wifi-getting-started/index.md deleted file mode 100644 index 58ffdbd..0000000 --- a/sld120-matter-wifi-getting-started/index.md +++ /dev/null @@ -1,6 +0,0 @@ -# Matter over Wi-Fi Quick-Start Guide - -These pages describe how to create a simple Matter network in which you can use a switch to control a light. - -You should have obtained hardware and installed software as described in the [Overview](/matter/{build-docspace-version}/matter-overview). Once you have done so, -you can begin the [step-by-step instructions](./04-light-switch-step-by-step-example.md). diff --git a/sld132-matter-thread-getting-started/03-light-switch-step-by-step-example.md b/sld132-matter-thread-getting-started/03-light-switch-step-by-step-example.md deleted file mode 100644 index 423cd76..0000000 --- a/sld132-matter-thread-getting-started/03-light-switch-step-by-step-example.md +++ /dev/null @@ -1,235 +0,0 @@ -# Matter over Thread Light and Switch Step-by-Step Example - -This tutorial was created with the Matter Extension of the Simplicity SDK (SiSDK). Going forward, the latest Matter Extension will be released through the Simplicity SDK (SiSDK). - -## Setting up the Matter hub - -1. Prepare a compatible dev board to become your Matter hub's ot-rcp (see details in the [introduction](./index.md)): - - 1. Start Simplicity Studio 5 with the latest SiSDK and Silicon Labs Matter SiSDK Extension installed (see details in the [Overview](/matter/{build-docspace-version}/matter-overview#software-requirements)). - - ![the Matter extension](./resources/image1.png) - - 2. Connect the dev board to your development computer. - - 3. Once it shows up in the Debug Adapters view, select it. - - ![Debug Adapters view](resources/image2.png) - - 4. Go to the Example Projects and Demos tab. Select the *OpenThread* filter and enter "*openthread rcp*" in the **Filter on keywords** box. Select the *OpenThread - RCP* example and click *Run*. - - ![Example projects and demos view](resources/image3.png) - - 5. Disconnect the dev board and connect it to your RPi4B. - -2. Prepare the Raspberry Pi 4B (RPi4B) to become a Matter hub: - - 1. Download and extract the Matter hub Raspberry Pi image (see details under [Software requirements](/matter/{build-docspace-version}/matter-overview#software-requirements)). - - 2. Flash the image to the desired SD card. Please note this will erase all existing content on that SD card: - - 1. Under **Operating System**, click **CHOOSE OS**. Scroll down and choose the last option, **Use custom**. Browse to your extracted **SilabsMatterPi.img** file and select it. - - ![Raspberry Pi interface](resources/image4.png) - - 2. Under **Storage**, click **CHOOSE STORAGE**. Select your target SD card. If it does not show up, make sure it is inserted properly and not in use by other software and retry this step. - - ![Raspberry Pi Storage selection](resources/image5.png) - - 3. Click **WRITE** and confirm the action by clicking **YES**. Wait for the process to finish writing to the SD card and verifying the results. - - ![Raspberry Pi write to SD card](resources/image6.png) - - 3. Insert the SD card in your Raspberry Pi 4B (RPi4B) and connect it to your network by Ethernet (Wi-Fi cannot be used for this example). - - 4. Power-up the RPi4B. Once it is booted up, check your local network DHCP IP address allocation rules to determine the RPi4B's assigned IP address. You may also use networking tools such as *nmap* to find your RPi4B’s IP assigned address. - - 5. Use PuTTY to connect to your RPi4B. - - 1. The first time you connect to your RPi4B, PuTTY will warn you about a new host key or key fingerprint. Accept the key. - - ![Warning from PuTTY](resources/image7.png) - - 2. The default credentials are **ubuntu**:**ubuntu** (username:password). **Note**: In PuTTY, you can set the default username to **ubuntu** under *Connection > Data > Auto-login username*. - - ![PuTTY Configuration](resources/image8.png) - - 3. You may be prompted to change the password. - - 6. Verify that your *ot-rcp* board is visible in your RPi4B. It should show up as a *ttyUSB****n*** or a *ttyACM****n*** in */dev/.* where ***n*** indicates the port's number (ex: */dev/ttyACM0*). - - ![Verifying the ot-rcp board](resources/image9.png) - - **Note**: If your RCP shows up with a number other than 0, the otbr-agent file will need to be updated. - -You now have a working Matter hub. Keep the PuTTY session open for the following steps. - -## Creating the Matter Accessory Devices (MADs) - -1. In Simplicity Studio 5, create the light MAD: - - 1. Switch to the Launcher view (if not already in it). - - 2. Connect one compatible dev board to your development computer. This example uses a BRD4186C. - - 3. Once it shows up in the Debug Adapters view, select it. - - 4. Go to the Example Projects and Demos tab, turn off *Demos*, check the *Matter* filter under *Wireless Technology* and enter "*thread*" in the *Filter on keywords* box. - - ![Select the example project](resources/image10.png) - - 5. Select the *Matter - SoC Light over Thread* example and click **Create**. Name your project and click **Finish** (no other changes are required at this time). - - ![Create the project](resources/image11.png) - - 6. Once the project is created, right-click it in the Project Explorer view and select *Build Project*. - - ![Build the project](resources/image12.png) - - 7. Once the compilation is done, right-click the dev board in the Debug Adapters view and select *Upload application...* - - ![Upload application](resources/image13.png) - - 8. Select the *Application image path* for your newly compiled project and a *Bootloader image*. Bootloader images are provided in the zip file referenced on the [Silicon Labs Matter Artifacts page](/matter/{build-docspace-version}/matter-prerequisites/matter-artifacts). Unzip and reference the extracted location. Check "Erase chip before uploading image". - - ![Application image upload](resources/image14.png) - - **Note**: If you are unsure of the path for the newly created binary, you can find the project’s path in the project’s *Properties* window under *Resource*. The binary is typically located inside the *{solution folder}\|{project name folder}\|{GNU ARM v??? folder}\|{project name binary}.s37*. For example, you would find the binary for a Matter light over Thread project with the default name here: *{solution folder}\|MatterLightOverThread\|GNU ARM v10.3.1 - Default\|MatterLightOverThread.s37*. - - **Note**: You should only need to upload a bootloader image and erase the chip once. Subsequent application uploads do not need the bootloader image or chip erasure. - - ![Image location](resources/image15.png) - - 9. If you are using a dev board with a WSTK, you should now see a QR code displayed on the WSTK's LCD. - - 10. Disconnect the dev board from your development computer. - - 11. **Optional**: you may want to label this device as your light or switch, as appropriate, to make it easier to identify later. - -2. Repeat the process above with the second dev board but selecting the *Matter - SoC Light Switch over Thread* example instead. - -## Creating the Matter Network - -The *mattertool* is a convenient wrapper script that allows you to easily perform common steps using *chip-tool*. Chip-tool provides a command-line interface into the Matter protocol. mattertool and chip-tool are installed in the Matter Hub image file. - -mattertool provides many commands at your disposal. These are some important ones used in this example: - -- *mattertool startThread* - -- *mattertool bleThread* - -- *mattertool on* - -- *mattertool off* - -- *mattertool toggle* - -You can use the command *mattertool help* to display the available commands. With some commands (such as on, off, and toggle), you may also want to specify which node ID to interact with. You can do this by adding the *-n nodeID* parameter after a command, such as *mattertool on -n 5678*. - -The *mattertool* also allows you to perform any of the commands you can normally use directly with the *chip-tool*. - -1. In a PuTTY session to the Matter hub, use the *mattertool* to create your network. - - 1. Start the Thread network with: *mattertool startThread*. This will output the Thread dataset. - - ![Mattertool start](resources/image16.png) - - 2. If you need the Thread dataset in the future (such as after a power cycle), you can use *mattertool getThreadDataset*. - -## Connecting MADs to the Matter hub - -1. In a PuTTY session to the Matter hub, use the *mattertool* to commission your Matter light switch device. - - 1. Connect to a power source your Matter light switch device. - - >**Notes**: Only power-up one device at a time to ensure proper commissioning since no discriminator is used to keep this example simple. - - >If this device previously failed commissioning or was on a Thread network, you may need to perform a factory reset before doing this process. - - >The Matter devices will stop advertising after ~15 minutes. Make sure to complete the commissioning before the advertising has expired. If unsure, power cycle the MAD. - - 2. Once the MAD is powered and booted up, use the PuTTY session to commission the device using 'mattertool bleThread -n nodeID', where 'nodeID' is replaced with the desired ID. In the resulting log, you should see a line similar to: - - `[1683785224.525598][1455:1461] CHIP:CTL: Commission called for node ID 0x000000000000637E`, indicating the nodeID (in this example, `0x637E`) of the newly commissioned device. - - ![Output example](resources/image17.png) - - >**Note**: If you do not specify a *nodeID*, one will be assigned automatically. Make sure to take note of what nodeID assigned to your Matter light switch & Matter light devices. These will be needed later for modifying the Matter light's ACL & the Matter light switch's binding table. - - 3. Power up the Matter light device and commission it as well, by following the previous steps for this MAD but using a different *nodeID* . - -You now have two Matter devices on your network ready to be used - -## Controlling the Light MAD - -The various compatible boards will have different setups for their LED(s). Typically, one LED (or a color channel, if RGB) is used to indicate the network status of the device: - -- Short blink: indicates the MAD is advertising to join a network. - -- Half/half blink: indicates the BLE steps are in progress. - -- Long blink: indicates joining the Thread network. - -- Solid on: indicates the MAD is now in the network. - -For example, on the dev board *xG24-DK2601B EFR32xG24* (also known as *BRD2601*), the red channel of *LED0* is used to indicate the network status. The green channel of *LED0* is used to indicate the light status. - -![Boards and features](resources/image18.png) - -1. In a PuTTY session to your Matter hub, use the *mattertool* to test your Matter light device. - - 1. Using `mattertool on -n nodeID` (similarly, `mattertool off` and `mattertool toggle` can also be used) you can control the light status of your Matter light device. - - ![Controlling the Light MAD](resources/image19.png) - - 2. For dev board with buttons available, you can use BTN1 to toggle the light status locally. - -2. In a PuTTY session to your Matter hub, use the *mattertool* to bind your Matter light switch device to your Matter light device, thus allowing the switch to control the light. - - 1. First, you will need to modify the Access Control List (ACL) of your Matter light device. This list determines which device in the network your Matter light device will react to. Modify your Matter light device's ACL using: `mattertool accesscontrol write acl '[ { "fabricIndex" : 1 , "privilege" : 5 , "authMode" : 2 , "subjects" : [`**`112233`**`] , "targets" : null } , { "fabricIndex" : 1 , "privilege" : 3 , "authMode" : 2 , "subjects" : [`**`nodeID-switch`**` ], "targets" : null }]' `**`nodeID-light 0`**, where the highlighted parameters are: - - - **112233**: The node ID of the controller (OTBR). This is always 112233. - - - **nodeID-switch**: The node ID of the Matter light switch device in base 10 (ex: 43690 for 0xAAAA). - - - **nodeID-light**: The node ID of the Matter light device in hex (ex: 0xBBBB). - - - **0**: The endpoint in the Matter light device that holds the ACL. This is always 0. - - ![Modifying the access control list](resources/image20.png) - - **Note**: The ACL table action is a read/modify/write step. If you accidentally remove the chip-tool entry, this will prevent further control of the device, requiring a factory reset. - - You can read the ACL for a Matter device using: *mattertool accesscontrol read acl* ***nodeID*** ***0***, where the highlighted parameters are: - - - **nodeID**: The nodeID of the Matter device you wish to read the ACL contents from. - - - **0**: The endpoint in the Matter device that holds the ACL. This is always 0. - - ![Reading the ACL](resources/image21.png) - - 2. Second, you need to bind the switch's write command to the light. This is done by updating the binding table of your Matter light switch device. You do this with: `mattertool binding write binding '[ { "fabricIndex" : 1 , "node" :`**`nodeID-light`**,` "endpoint" : `**`1`**,`"cluster" :`**`6`**`} ]'`**`nodeID-switch 1`**, where the highlighted parameters are: - - - **nodeID-light**: The node ID of the Matter light device. - - - **1**: The application endpoint in the light. In the Silabs examples, this is always 1. - - - **6**: The on/off cluster in the light. This is always 6. - - - **nodeID-switch**: The node ID of the switch. - - - **1**: This is the application endpoint in the switch that holds the binding table. In the Silabs examples, this is always 1. - - ![Bind the switch to the light](resources/image22.png) - - **Note**: As with the ACL table step, the binding table action is a read/modify/write step. If you accidentally remove the chip-tool entry, this will prevent further control of the device, requiring a factory reset. - - You can read the binding table from a Matter device using: `mattertool binding read binding`**`nodeID-switch 1`**, where the highlighted parameters are: - - - **nodeID-switch**: The node ID of the Matter switch. - - - **1**: The application endpoint in the switch that holds the binding table. In the Silabs examples, this is always 1. - - ![Reading the binding table](resources/image23.png) - - With the binding complete, a button press on the Matter light switch device should now toggle the light status in the Matter light device. diff --git a/sld132-matter-thread-getting-started/04-example-applications-demos.md b/sld132-matter-thread-getting-started/04-example-applications-demos.md deleted file mode 100644 index 96d8e32..0000000 --- a/sld132-matter-thread-getting-started/04-example-applications-demos.md +++ /dev/null @@ -1,15 +0,0 @@ -# Example Applications and Demos - -The Silicon Labs Matter SiSDK Extension offers example applications to help you get started with Matter, the first two of these are used in this guide's step-by-step example: - -- Matter SoC Light over Thread - -- Matter SoC Light Switch over Thread - -- Matter SoC Window Cover over Thread - -- Matter SoC Lock over Thread - -- Matter SoC Thermostat over Thread - -![Example project selection](resources/image24.png) diff --git a/sld132-matter-thread-getting-started/05-next-steps-other-resources.md b/sld132-matter-thread-getting-started/05-next-steps-other-resources.md deleted file mode 100644 index 189c6a3..0000000 --- a/sld132-matter-thread-getting-started/05-next-steps-other-resources.md +++ /dev/null @@ -1,23 +0,0 @@ -# Next Steps - -Now that you have gotten a sense of what goes into making a Matter network, you can -begin to customize MADs and other features for your own purposes. The [Developers' Guide](/matter/{build-docspace-version}/matter-developers-guide-overview) contains more detail than was provided in this Quick-Start guide, -and also contains information on a number of special development topics. Your Matter -Extension package contains a number of other Matter examples that you can use as a starting point, the first two -of which were used in this example. - -- Matter SoC Light over Thread - -- Matter SoC Light Switch over Thread - -- Matter SoC Window Cover over Thread - -- Matter SoC Lock over Thread - -- Matter SoC Thermostat over Thread - -![Example project selection](resources/image24.png) - -If you need support you can contact Silicon Labs through the [Silicon Labs Community](https://community.silabs.com/s/topic/0TO1M000000qHZgWAM/matter). Our engineers and community will be happy to help! You may also find answers here: - -- [Silicon Labs Matter articles](https://community.silabs.com/s/topic/0TO1M000000qHZgWAM/matter?tabset-178da=2) diff --git a/sld132-matter-thread-getting-started/index.md b/sld132-matter-thread-getting-started/index.md deleted file mode 100644 index 0a2e5ab..0000000 --- a/sld132-matter-thread-getting-started/index.md +++ /dev/null @@ -1,56 +0,0 @@ -# Matter over Thread Quick-Start Guide - -These pages describe how to create a simple Matter network in which you can use a switch to control a light, described in more detail below under [A Typical Setup](#a-typical-setup). - -You should have obtained hardware and installed software as described in the [Quick-Start Guide Overview](/matter/{build-docspace-version}/matter-overview). The Matter over Thread demo requires an additional device to be used as the Hub's radio co-processor (RCP). You will therefore need some additional hardware and software. - -## Radio Co-Processor Prerequisites - -### Hardware - -- 1x radio co-processor (RCP) compatible with RCP firmware images. Images are available for the following boards: - - - EFR32xG24: BRD2601, BRD2703, BRD4186, BRD4187 - -### Software - -The Matter hub OpenThread RCP (ot-rcp) must be programmed with a bootloader and firmware image to act as the ot-rcp for the Raspberry Pi. You can obtain a copy of the latest version here: [Silicon Labs Matter Artifacts](/matter/{build-docspace-version}/matter-prerequisites/matter-artifacts). - -## A Typical Setup - -A typical simple Matter over Thread network setup is shown in the following -image. - -![Matter 15.4 Setup](./resources/thread-overview.png) - -The setup consists of the following four elements: - -1. A **Controller** such as an app running on a phone or the chip-tool running - on a Linux box or Raspberry Pi. -2. An Open Thread Border Router (**OTBR**) running on a Linux box or Raspberry - Pi. -3. A Radio Co-Processor (**RCP**), which the OTBR uses to communicate with the - Thread network (not shown). This is attached to the Raspberry Pi. -4. An End Device such as a light or switch, which is the Matter Accessory - Device (**MAD**). - -The flow of the setup described above is as follows: - -1. The controller commissions the End Device directly over Bluetooth – this - makes the End Device join the Thread network and the Matter "Fabric". -2. After commissioning, the Bluetooth connection is terminated and all further - communication is done over Matter. -3. The controller sends ZCL commands, such as the OnOff Toggle, and the End - Device performs the corresponding action, such as turning the End Device's - LED on or off - -A Matter network can be built in a number of ways using a combination of Silicon -Labs hardware, a Raspberry Pi, and any external controller (MacBook, Ubuntu, -Android, etc.) - -The suggested method, and the one illustrated in this quick-start guide, involves using a Raspberry Pi to function as both the -controller and the OTBR, with a Silicon Labs device as the MAD. - -An alternate configuration is to use a MacBook as the controller, a Raspberry Pi -as the OTBR, and a Silicon Labs Device as the MAD. This requires additional -routing between the controller and OTBR. diff --git a/sld246-matter-faq/wifi-faq.md b/sld246-matter-faq/wifi-faq.md index a4409cd..ad30ba5 100644 --- a/sld246-matter-faq/wifi-faq.md +++ b/sld246-matter-faq/wifi-faq.md @@ -80,75 +80,31 @@ Where `mySSID` is **your AP's SSID** and `mypassword` is **your AP's password**. - Issue the commissioning command -### 3. WLAN connection fails from RS9116 during commissioning when channel 13 is selected on the AP +### 3. Apple HomePod associated failures -The required channel becomes available for connection when the WLAN connection region is configured during compilation to one that supports the channel, such as for Japan for channel 13. +If there is an Apple HomePod on the network paired with a Thread device, and a commissioning failure is seen with error 3000001: -In order to use the desired channel, before building, make sure the WLAN connection region is configured correctly by reviewing/modifying the following lines in **/examples/platform/silabs/efr32/rs911x/rsi_wlan_config.h**: +- Remove the Apple HomePod from the network or unpair it from all Thread devices. +- Retry commissioning -```c -//Make sure this is set to RSI_ENABLE -#define RSI_SET_REGION_SUPPORT RSI_ENABLE - -// Note that the channels available for WLAN connection depend on the region selected -// Make sure this is set to 1 to configure from RSI_REGION_CODE value below -// 0: region configurations taken from beacon -// 1: region configurations taken from user -#define RSI_SET_REGION_FROM_USER_OR_BEACON 1 - -// 0 : Default Region domain -// 1 : US -// 2 : EUROPE -// 3 : JAPAN -#define RSI_REGION_CODE 3 -``` - -### 4. Incorrect firmware version - -```shell -cd ./third_party/silabs/wiseconnect-wifi-bt-sdk/firmware -``` - -You will get appropriate firmware in the above mentioned path. - -Note: - -1. How to check the current firmware version? - - > You can find the currently used firmware version in the DUT log. - -2. How to check whether you are using correct firmware version or not? - - > Compare last 5 digits of firmware version mentioned in the above path with the currently used firmware version. - -### 5. Apple HomePod associated failures - -If there is an Apple HomePod on the network paired with a Thread device, and a commissioning failure is seen with error `3000001`: - -> Either remove the Apple HomePod from the network, or unpair it from all Thread devices, before re-trying the commissioning. - -### 6. Commissioning failure at step 18 +### 4. Commissioning failure at step 18 1. Verify router configuration specifically related to IPV6 SLAAC, Internet Group Management Protocol (IGMP) snooping. 2. Delete all the files of chip-tool /tmp folder. (`rm -rf /tmp/chip_*`) 3. After checking the router configuration, factory-reset your access point. -### 7. Commissioning failure at step 16 +### 5. Commissioning failure at step 16 Verify the access point settings, SSID, PSK, security type, REGION, CHANNEL. -### 8. Inconsistent logs - -Verify external power is supplied to rs911x - -### 9. To enable different security options on AP/Router +### 6. To enable different security options on AP/Router 1. Get the router address by entering `route -n` or ifconfig of ipconfig. 2. Enter the router address in the browser and enter the appropriate username and password. 3. Select the appropriate band. 4. In security, select type (WPA / WPA2 / WPA3). -### 10. CHIP Logs are not available on MG12 + WF200 due to image size constraints +### 7. CHIP Logs are not available on MG12 + WF200 due to image size constraints Due to apps taking up more space than available flash on the MG12 + WF200 device combination, `chip_logging=false` needs to be included on the command line while building the app image, to disable CHIP logs and thereby reduce the image size. @@ -166,17 +122,7 @@ Disable LCD and enable CHIP Logging: Disable QR Code and enable CHIP Logging: `./scripts/examples/gn_efr32_example.sh examples/lock-app/efr32 out/wf200_lock_app BRD4161A is_debug=false show_qr_code=false --wifi wf200 |& tee out/wf200_lock.log` -### 11. MG24 device sometimes loses its connection to Ozone during OTA Update with RS9116 - -While performing an OTA Update with the EFR32MG24 + RS9116 device combination, when the device is reset and bootloading begins with the new image, the Ozone Debugger sometimes loses its connection. - -There are two possible workarounds to this: - -1. Immediately re-attach the device to the console when the connection is lost. - -2. Download the RTT Viewer application instead and use it to view the logs during OTA Update. - -### 12. MG24 device sometimes fails to bootload with the new image during OTA Update with WF200 +### 8. MG24 device sometimes fails to bootload with the new image during OTA Update with WF200 While performing an OTA Update with the EFR32MG24 + WF200 device combination using the external flash, when the device is reset and bootloading begins with the new image, the device sometimes starts up with the existing image instead of the newly downloaded one. @@ -194,7 +140,7 @@ When this happens, perform the following steps to run the OTA Update successfull 4. Re-run the OTA Update process from the beginning. -### 13. Connectivity Issues with SiWX917 SoC with Low-Power Applications while flashing firmware/application image +### 9. Connectivity Issues with SiWX917 SoC with Low-Power Applications while flashing firmware/application image Sometimes, firmware/application updates fail while flashing, and the logs display "Could not connect debugger. Could not connect to target device," indicating that the application processor is in a low power state with no flash access. Try one of the following solutions, then retry the firmware/application update: diff --git a/sld247-matter-overview/index.md b/sld247-matter-overview/index.md index 945ed2d..f9b9d08 100644 --- a/sld247-matter-overview/index.md +++ b/sld247-matter-overview/index.md @@ -13,20 +13,24 @@ The procedures here describe how to make a simple network of a light, a switch, ## Initial Setup Both the Matter over Wi-Fi and Matter over Thread demos require that you have set up a simple development environment with Simplicity Studio, -two EFR32MG24-based development boards, and a Raspberry Pi used as a Matter hub. The following requirements are common to both demos. The Thread demo also requires a radio co-processor (RCP) as part of the Matter hub. The requirements for this are provided in the [introduction to the Thread demo](/matter/{build-docspace-version}/matter-light-switch-example/02-thread-light-switch-example). +two Matter compatible development boards (see the [Silicon Labs Matter Selector Guide](https://www.silabs.com/wireless/matter/selector-guide) for available boards and their capabilities), and a Raspberry Pi used as the Matter Controller. The following requirements are common to both demos. The Thread demo requires a radio co-processor (RCP) connected to the Matter Controller. The requirements for this are provided in the [introduction to the Thread demo](/matter/{build-docspace-version}/matter-light-switch-example/02-thread-light-switch-example). ### Hardware Requirements #### Matter Hub -- 1 Raspberry Pi 4B +- 1 Raspberry Pi 4B or newer - 1x high speed, 64 GB SD card -#### Matter Devices + +**Matter Over Thread Devices** + +- SoC: EFR32x MG24, MG26, MG301 +- RCP: EFR32x MG21, MG24, MG26, MG301 **Matter Over Wi-Fi Accessory Device Requirements for NCP Mode** -The Silicon Labs Matter over Wi-Fi NCP mode demo and development requires two boards: the Silicon Labs EFR32 Radio board to run the Matter code and either the RS9116, SiWx917, or WF200 to run the Wi-Fi protocol stack. +The Silicon Labs Matter over Wi-Fi NCP mode demo and development requires two boards: the Silicon Labs EFR32 Radio board to run the Matter code and either the SiWx917 or WF200 to run the Wi-Fi protocol stack. The following boards are supported for the Matter over Wi-Fi demos and development: @@ -38,13 +42,6 @@ The following boards are supported for the Matter over Wi-Fi demos and developme - [XG24-RB4187C](https://www.silabs.com/development-tools/wireless/xg24-rb4187c-efr32xg24-wireless-gecko-radio-board) - MG24 with WSTK: [xG24-PK6010A](https://www.silabs.com/development-tools/wireless/efr32xg24-pro-kit-20-dbm?tab=overview) - **Wi-Fi NCP Dev Kits & boards** - - **RS9116** - - SB-EVK1 / Single Band Wi-Fi Development Kit / 2.4GHz - - [RS9116X-SB-EVK1](https://www.silabs.com/development-tools/wireless/wi-fi/rs9116x-sb-evk-development-kit) - - SB-EVK2 / Single Band Wi-Fi Development Kit / 2.4GHz - - [RS9116X-SB-EVK2](https://www.silabs.com/development-tools/wireless/wi-fi/rs9116x-sb-evk2-development-kit) - - DB-EVK1 / Dual Band Wi-Fi Development Kit / 2.4GHz & 5GHz - - [RS9116X-DB-EVK1](https://www.silabs.com/development-tools/wireless/wi-fi/rs9116x-db-evk-development-kit) - **SiWx917 NCP** - SiWx917 NCP Mode / Wi-Fi Expansion Board / 2.4GHz - BRD8045A (B0 Expansion v2.0) @@ -54,8 +51,6 @@ The following boards are supported for the Matter over Wi-Fi demos and developme - WF200 / Single Band Wi-Fi Expansion Board / 2.4GHz - [SLEXP8023A](https://www.silabs.com/development-tools/wireless/wi-fi/wfm200-wifi-expansion-kit) - Interconnect board (included in the Wi-Fi kits) - - SPI Cable (included in the RS9116 kit) - - Jumper Cables (included in the RS9116 kit) **Matter Over Wi-Fi Accessory Device Requirements for SoC Mode** @@ -71,7 +66,7 @@ Pre-built images for the SiWx917 connectivity firmware are available per the ins ### Software Requirements -**Simplicity Studio 5**: Download and install Simplicity Studio 5 for your operating system from the Silicon Labs [Simplicity Studio page](https://www.silabs.com/developers/simplicity-studio). While the installation process is easy to follow, instructions are provided in the Simplicity Studio v5 [Getting Started section](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-getting-started/install-ss-5-and-software). +**Simplicity Studio 6**: Download and install Simplicity Studio 6 for your operating system from the Silicon Labs [Simplicity Studio page](https://www.silabs.com/developers/simplicity-studio). While the installation process is easy to follow, instructions are provided in the Simplicity Studio v6 [Getting Started section](https://docs.silabs.com/ssv6ug/latest/ssv6ug-getting-started-overview/). **Ozone - The J-Link Debugger**: [Ozone](https://www.segger.com/products/development-tools/ozone-j-link-debugger/) is a full-featured graphical debugger for embedded applications. With Ozone, it is possible to debug any embedded application on C/C++ source and assembly level. @@ -79,9 +74,13 @@ Pre-built images for the SiWx917 connectivity firmware are available per the ins **Tera Term**: [Tera Term](https://github.com/TeraTermProject/osdn-download) is the terminal emulator for Microsoft Windows that supports serial port, telnet, and SSH connections. -**Silicon Labs Matter SiSDK Extension**: Once Simplicity Studio 5 is installed, you will be prompted to install the Simplicity SDK, formerly released as Gecko SDK (GSDK). Here you should also install the Matter Enablement Package by making sure the extension is checked, as shown. +**Silicon Labs Matter SiSDK Extension**: Once Simplicity Studio is installed, you will be prompted to install the Simplicity SDK. Here you should also install the Matter Enablement Package by making sure the extension is checked, as shown. + +![Installing the Matter Extension](./resources/ssv6-matter-install-guide-1.png) + +![Installing the Matter Extension](./resources/ssv6-matter-install-guide-2.png) -![Installing the Matter Extension](./resources/install-package-advanced-device.png) +![Installing the Matter Extension](./resources/ssv6-matter-install-guide-3.png) **Installation of Wi-Fi SDK and WiSeConnect Packages**: The following packages will be installed during the installation of Simplicity Studio. Refer to [Package Installation](/matter/{build-docspace-version}/matter-wifi-getting-started-example/software-installation). @@ -97,9 +96,9 @@ Pre-built images for the SiWx917 connectivity firmware are available per the ins ### Visual Studio Code Development -In addition to creating and building your Matter project within Simplicity Studio, Silicon Labs also provides Visual Studio Code (VSCode) IDE integration. +Once a Matter project is created and any components or ZCL clusters modified in Simplicity Studio, Silicon Labs provides a Visual Studio Code (VS Code) IDE extension where code changes can be made. Simplicity Studio 6 (SSv6) does not provide an IDE; instead, VS Code is used. Projects can be built, flashed and debugged directly from VS Code. -For more information on development within Visual Studio Code, please visit [Visual Studio Code Enablement](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-vscode-ide/). +For more information on development with Visual Studio Code, please visit [Visual Studio Code Enablement](https://docs.silabs.com/ss-vscode/latest/ss-vscode-start/). ## Next Steps diff --git a/sld247-matter-overview/resources/install-package-advanced-device.jpeg b/sld247-matter-overview/resources/install-package-advanced-device.jpeg new file mode 100644 index 0000000..5d47ea3 Binary files /dev/null and b/sld247-matter-overview/resources/install-package-advanced-device.jpeg differ diff --git a/sld247-matter-overview/resources/install-package-advanced-device.png b/sld247-matter-overview/resources/install-package-advanced-device.png deleted file mode 100644 index ffbfdd2..0000000 Binary files a/sld247-matter-overview/resources/install-package-advanced-device.png and /dev/null differ diff --git a/sld247-matter-overview/resources/ssv6-matter-install-guide-1.png b/sld247-matter-overview/resources/ssv6-matter-install-guide-1.png new file mode 100644 index 0000000..ebdc1c7 Binary files /dev/null and b/sld247-matter-overview/resources/ssv6-matter-install-guide-1.png differ diff --git a/sld247-matter-overview/resources/ssv6-matter-install-guide-2.png b/sld247-matter-overview/resources/ssv6-matter-install-guide-2.png new file mode 100644 index 0000000..173e84e Binary files /dev/null and b/sld247-matter-overview/resources/ssv6-matter-install-guide-2.png differ diff --git a/sld247-matter-overview/resources/ssv6-matter-install-guide-3.png b/sld247-matter-overview/resources/ssv6-matter-install-guide-3.png new file mode 100644 index 0000000..cb136e7 Binary files /dev/null and b/sld247-matter-overview/resources/ssv6-matter-install-guide-3.png differ diff --git a/sld248-matter-overview-guides/images/icd-project-generation.jpeg b/sld248-matter-overview-guides/images/icd-project-generation.jpeg new file mode 100644 index 0000000..f23d25b Binary files /dev/null and b/sld248-matter-overview-guides/images/icd-project-generation.jpeg differ diff --git a/sld248-matter-overview-guides/images/icd-project-generation.png b/sld248-matter-overview-guides/images/icd-project-generation.png deleted file mode 100644 index 0ac7b24..0000000 Binary files a/sld248-matter-overview-guides/images/icd-project-generation.png and /dev/null differ diff --git a/sld248-matter-overview-guides/images/matter-shell-connect-board.jpeg b/sld248-matter-overview-guides/images/matter-shell-connect-board.jpeg new file mode 100644 index 0000000..d4ef80b Binary files /dev/null and b/sld248-matter-overview-guides/images/matter-shell-connect-board.jpeg differ diff --git a/sld248-matter-overview-guides/images/matter-shell-lock-app.jpeg b/sld248-matter-overview-guides/images/matter-shell-lock-app.jpeg new file mode 100644 index 0000000..5cc9ded Binary files /dev/null and b/sld248-matter-overview-guides/images/matter-shell-lock-app.jpeg differ diff --git a/sld248-matter-overview-guides/images/matter-shell-project-generation.jpeg b/sld248-matter-overview-guides/images/matter-shell-project-generation.jpeg new file mode 100644 index 0000000..d850220 Binary files /dev/null and b/sld248-matter-overview-guides/images/matter-shell-project-generation.jpeg differ diff --git a/sld248-matter-overview-guides/images/wifi-9116-gpio-connections.png b/sld248-matter-overview-guides/images/wifi-9116-gpio-connections.png deleted file mode 100644 index 9907009..0000000 Binary files a/sld248-matter-overview-guides/images/wifi-9116-gpio-connections.png and /dev/null differ diff --git a/sld248-matter-overview-guides/images/wifi-9116-powermeter-wifimodule.png b/sld248-matter-overview-guides/images/wifi-9116-powermeter-wifimodule.png deleted file mode 100644 index 6becba3..0000000 Binary files a/sld248-matter-overview-guides/images/wifi-9116-powermeter-wifimodule.png and /dev/null differ diff --git a/sld248-matter-overview-guides/images/wifi-9116-powerprofiler.png b/sld248-matter-overview-guides/images/wifi-9116-powerprofiler.png deleted file mode 100644 index 0cfc4cf..0000000 Binary files a/sld248-matter-overview-guides/images/wifi-9116-powerprofiler.png and /dev/null differ diff --git a/sld248-matter-overview-guides/index.md b/sld248-matter-overview-guides/index.md index 224ef20..fc29fd7 100644 --- a/sld248-matter-overview-guides/index.md +++ b/sld248-matter-overview-guides/index.md @@ -2,11 +2,11 @@ The Overview pages offer a general review of Matter topics including: -- [Matter Commissioning](matter-commissioning.md) -- [Matter Intermittently Connected Devices (ICD)](matter-icd.md) -- [Matter Over Thread ICD End Devices](ot-icd-end-device.md) -- [Matter Serial Port Communication (Matter Shell)](serial-port-communications.md) -- [Matter SLC CLI Setup and Build Instructions](matter-slc-cli.md) -- [Matter Solutions](matter-solutions.md) -- [Code Size Savings](code-size-savings.md) -- [SMG to Matter Extension (SLC/Simplicity Studio) Project Migration Guide](matter-smg-migration-guide.md) +- [Matter Commissioning](./matter-commissioning.md) +- [Matter Intermittently Connected Devices (ICD)](./matter-icd.md) +- [Matter Over Thread ICD End Devices](./ot-icd-end-device.md) +- [Matter Serial Port Communication (Matter Shell)](./serial-port-communications.md) +- [Matter SLC CLI Setup and Build Instructions](./matter-slc-cli.md) +- [Matter Solutions](./matter-solutions.md) +- [Code Size Savings](./code-size-savings.md) +- [Matter Logging Configurations](./matter-logging-configuration.md) diff --git a/sld248-matter-overview-guides/matter-icd.md b/sld248-matter-overview-guides/matter-icd.md index 9aabf06..c7cf1f6 100644 --- a/sld248-matter-overview-guides/matter-icd.md +++ b/sld248-matter-overview-guides/matter-icd.md @@ -14,7 +14,7 @@ To begin creating an OpenThread ICD example, create a generic Matter over Thread 1. Create project. - ![Project Generation](images/icd-project-generation.png) + ![Project Generation](images/icd-project-generation.jpeg) 2. Navigate to the **Configuration Tools** section and open the **ZCL Advanced Platform (ZAP)**. @@ -40,11 +40,24 @@ ICD functionality should be installed and ready to build. Build the project as y ### **Minimal Power Consumption** +The CLI/Display/Logging/Peripheral components are useful development tools but can be removed to save power when they are no longer needed. + The Lower Power Mode is an optional component, installing it will disable: -- Matter Shell -- OpenThread CLI -- LCD and QR Code +- Silicon Labs Matter → Matter-Thread → OpenThread CLI +- Silicon Labs Matter → Platform → Display → Matter Default LCD/Display Configuration +- Silicon Labs Matter → Platform → Display → Matter Display +- Silicon Labs Matter → Platform → Display → Matter QR Code Display +- Silicon Labs Matter → Platform → UART → Matter UART +- Silicon Labs Matter → Platform → Utils → Logging to UART +- Silicon Labs Matter → Stack → Shell → Matter Shell + +Additionally, Matter Support for peripherals (such as LEDs or Buttons) can be removed if necessary. This will remove the appropriate Platform components. + +- Silicon Labs Matter → Platform → WSTK Button Support +- Silicon Labs Matter → Platform → matter LED Support + +This will make debugging issues significantly more difficult so these components should only be removed at the end of development/testing when trying to optimize for power savings. ## ICD Configurations @@ -78,6 +91,8 @@ These configurations can be changed by modifying the configuration of the `ICD S #define SL_ACTIVE_MODE_THRESHOLD 500 // 500ms Active Mode Threshold ``` +Power is inversely proportional to idle time: longer idle durations and shorter active periods yield lower average current draw and better battery life. However, excessive idle time increases latency and risks timeouts with the device's parent or Matter controller. A well-optimized configuration minimizes energy use while ensuring network reliability remains acceptable. + ### ICD Check-In Protocol Use-Case The ICD Check-In Protocol use case is used by ICDs to maintain a known relationship in case subscriptions with clients are lost. @@ -112,7 +127,7 @@ The User Active Mode Trigger feature in the ICD Management cluster indicates whe To change default values corresponding to Matter ICD examples, modify them in either: -1. `config/sl_matter_icd_config.h` +1. `config/sl_matter_icd_config.h` in VS Code 2. ICD component configurator ![ICD Configuration](images/icd-config.png) @@ -315,8 +330,8 @@ Configuration parameters of the ICD Server Configuration component (sl_matter_ic Configuration parameters of the ICD Server Configuration component (sl_matter_icd_config.h): ```cpp -#define SL_OT_IDLE_INTERVAL 5000 // 5s Idle Intervals -#define SL_OT_ACTIVE_INTERVAL 500 // 500ms Active Intervals +#define SL_TRANSPORT_IDLE_INTERVAL 5000 // 5s Idle Intervals +#define SL_TRANSPORT_ACTIVE_INTERVAL 500 // 500ms Active Intervals ``` > **Note**: Wi-Fi polling configuration are dictated by the Access Point and cannot be changed at the Matter level. @@ -380,6 +395,42 @@ Configuration parameters of the ICD Server Configuration component (`sl_matter_i Configuration parameters of the ICD Server Configuration component (`sl_matter_icd_config.h`): ```cpp -#define SL_OT_IDLE_INTERVAL 3600000 // 60mins Idle Polling Interval -#define SL_OT_ACTIVE_INTERVAL 1000 // 1s Active Polling Interval +#define SL_TRANSPORT_IDLE_INTERVAL 3600000 // 60mins Idle Polling Interval +#define SL_TRANSPORT_ACTIVE_INTERVAL 1000 // 1s Active Polling Interval ``` + +## ICD Features + +### Dynamic SIT / LIT Support (DSLS) + +This feature is used when a Matter Accessory device needs to be able to decide when to change mode between SIT and LIT. LIT devices are, by design, capable of behaving like SITs and will default to SIT behavior if they cannot be LITs (e.g. controllers don't support LITs). For this feature to be supported, the device must be able to switch between the SIT and LIT operating modes even if it has a valid registered client. + +Given that the intention when configuring a LIT is to optimize battery life, they are configured to behave as LIT whenever possible, hence the need for a feature that enables device vendors to dynamically decide when to change mode if defaulting into LIT is not preferred. For example a Smoke CO sensor might want to behave like a LIT only if its power source changes from line-powered to battery powered. + +More details of this feature can be found in the ICD Management Cluster description of the Matter Core Specification [Specifications Download Request - IOT](https://csa-iot.org/developer-resource/specifications-download-request/). + +>Note: This feature is only available in Matter 1.4 and later. + +#### To Enable DSLS + +- Configure the device as a LIT ICD +- Enable the DynamicSitLitSupport feature in the ICD Management Cluster (ICDM) via ZAP + +#### Runtime Operation Mode Switching + +If the device supports switching between the SIT and LIT operation modes while it has at least one registered client, it must set the DynamicSitLitSupport feature in the ICD Management cluster in ZAP. + +Each time a LIT ICD switches between operating modes, both the mDNS ICD key and OperatingMode attribute of the ICDM cluster are updated by the Matter stack: + +- [ICDManager::OnSITModeRequest()](https://github.com/SiliconLabsSoftware/matter_sdk/blob/cf658552aac8a5821f63cc8495725058d2a647df/src/app/icd/server/ICDManager.cpp#L644): Sets + ICD=0 and OperatingMode=SIT if "Long Idle Time ICD is operating as a Short Idle Time ICD" +- [ICDManager::OnSITModeRequestWithdrawal()](https://github.com/SiliconLabsSoftware/matter_sdk/blob/cf658552aac8a5821f63cc8495725058d2a647df/src/app/icd/server/ICDManager.cpp#L652): Sets ICD=1 and OperatingMode=LIT if "Long Idle Time ICD is operating as a Long Idle Time ICD" +- In each case [ICDManager::UpdateICDMode()](https://github.com/SiliconLabsSoftware/matter_sdk/blob/cf658552aac8a5821f63cc8495725058d2a647df/src/app/icd/server/ICDManager.cpp#L377) is leveraged to update the ICD operating mode and mDNS ICD key. + +#### Configuration + +DSLS does not introduce new mandatory polling rates or timing requirements. LIT devices are already required to behave like SIT devices when LIT operation is not possible (e.g. controller limitations); DSLS simply overrides the default preference for LIT operation so the ICD will default to SIT unless directed to become LIT by the application. + +The LIT slow poll is defined via the SL_TRANSPORT_IDLE_INTERVAL configuration parameter. The SIT slow poll will automatically default to the maximum SIT slow poll (15 seconds) or to whatever is defined via the CHIP_DEVICE_CONFIG_ICD_SIT_POLLING_INTERVAL configuration parameter. It can be further changed via the [SetSITPollingInterval](https://github.com/SiliconLabs/matter_extension/blob/63c8513144894fe991e2fbbe8998bc6b127adeee/third_party/matter_sdk/src/app/icd/server/ICDConfigurationData.h#L152) API. The SL_TRANSPORT_ACTIVE_INTERVAL defines the fast poll behavior regardless of LIT or SIT mode. + +The specific SIT and LIT parameters (poll intervals, idle times, etc.) are vendor-defined and should be chosen based on the use-case. The Matter sample applications provide examples of configurations depending on the use-case. For instance, the Light Switch sample app defaults to an idle time of 15s while the door lock app has and idle time of 5s so that it can be more responsive. diff --git a/sld248-matter-overview-guides/matter-slc-cli.md b/sld248-matter-overview-guides/matter-slc-cli.md index adf1d12..0b80dd9 100644 --- a/sld248-matter-overview-guides/matter-slc-cli.md +++ b/sld248-matter-overview-guides/matter-slc-cli.md @@ -1,5 +1,5 @@ # Creating Matter Applications using SLC CLI -**Silicon Labs Configurator (SLC)**: SLC offers command-line access to application configuration and generation functions. [Software Project Generation and Configuration with SLC-CLI](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-tools-slc-cli/) provides instructions on downloading and using the SLC-CLI tool. +**Silicon Labs Configurator (SLC)**: SLC offers command-line access to application configuration and generation functions. [Overview of the SLC-CLI](https://docs.silabs.com/command-line-development/latest/ssv6-slc-cli/) provides instructions on downloading and using the SLC-CLI tool. -Instructions on how to build Matter projects using SLC CLI can be found in the README section of [Matter Extension Repo](https://github.com/SiliconLabsSoftware/matter_extension/tree/release_2.5-1.4) +Instructions on how to build Matter projects using SLC CLI can be found in the README section of [Matter Extension Repo](https://github.com/SiliconLabsSoftware/matter_extension). diff --git a/sld248-matter-overview-guides/matter-smg-migration-guide.md b/sld248-matter-overview-guides/matter-smg-migration-guide.md deleted file mode 100644 index bcfd077..0000000 --- a/sld248-matter-overview-guides/matter-smg-migration-guide.md +++ /dev/null @@ -1,86 +0,0 @@ -# SMG to Matter Extension (SLC/Simplicity Studio) Project Migration Guide - -This page provides instructions on how to migrate an already created project from SMG to an SLC-based project in Simplicity Studio. - -These instructions assume that you have installed Simplicity Studio ([Getting Started with Simplicity Studio](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-getting-started/)) and have an SMG project. - -1. Install the same release of GSDK used to create the SMG project and the mapped Matter extension in Simplicity Studio. The following table shows what GSDK and Matter Extension to should be used depending on the SMG version of the project that you are trying to migrate.  - - |**SMG Version**|**Matter Extension Version**|**GSDK Version**| - | :-: | :-: | :-: | - |[1.1.0-1.1](https://github.com/SiliconLabs/matter/releases/tag/v1.1.0-1.1)|[v2.0.0](https://github.com/SiliconLabs/matter_extension/releases/tag/v2.0.0)|[v4.3.0](https://github.com/SiliconLabs/gecko_sdk/tree/v4.3.0)| - |[2.0.0-1.1](https://github.com/SiliconLabs/matter/releases/tag/v2.0.0-1.1)|[v2.1.0](https://github.com/SiliconLabs/matter_extension/releases/tag/v2.1.0)|[v4.3.1](https://github.com/SiliconLabs/gecko_sdk/releases/tag/v4.3.1)| - |[2.1.0-1.1](https://github.com/SiliconLabs/matter/releases/tag/v2.1.0-1.1)|[v2.1.1](https://github.com/SiliconLabs/matter_extension/releases/tag/v2.1.1)|[v4.3.2](https://github.com/SiliconLabs/gecko_sdk/releases/tag/v4.3.2)| - |[2.2.0-1.2](https://github.com/SiliconLabs/matter/releases/tag/v2.2.0-1.2)|[v2.2.0](https://github.com/SiliconLabs/matter_extension/releases/tag/v2.2.0) (Older Extension versions do not fully work with GSDK 4.4.x)|[v4.4.0](https://github.com/SiliconLabs/gecko_sdk/releases/tag/v4.4.0)| - |[2.3.0-1.3](https://github.com/SiliconLabs/matter/releases/tag/v2.3.0-1.3)|[v2.3.0-1.3](https://github.com/SiliconLabs/matter_extension/releases/tag/v2.3.0)|[v2024.6.0](https://github.com/SiliconLabs/simplicity_sdk/releases/tag/v2024.6.0)| - - †Steps to add GSDK and Matter extension to Simplicity Studio. Refer to [Install SDK Extensions](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-getting-started/install-sdk-extensions). - - 1. Once Simplicity Studio 5 is installed, you will be prompted to install the Gecko SDK Suite (GSDK). Install the Matter extension by making sure the extension is checked. This will install the latest GSDK as well as the Matter extension. - 2. If using an older version of a GSDK corresponding to the SMG version of your project, install by: Install > Manage Installed Packages > SDKs. Click the menu option next to the GSDK version and change the desired version. - 3. If you have changes in GSDK and want to use the same GSDK from SMG, complete step 1 and then install your specific GSDK by: Preferences > Simplicity Studio (dropdown) > SDKs > Add SDK. Browse to the SDK location. Trust the contents of this GSDK. Download the respective Matter extension for that GSDK from the [Matter extension release page](https://github.com/SiliconLabs/matter_extension/releases), unzip it (make sure to keep `matter_extension` as the folder name) and add the Matter extension to the previously added GSDK: Preferences > Simplicity Studio (dropdown) > SDKs > (Select SDK) > Add Extension, and browse to the extension location. Trust the contents of the extension. -2. Create a sample app with the same board and same type. Select Simplicity IDE as project generator.  - - For example, if SMG project is the lighting app for thread using board BRD4161A, select BRD4161A in the New Project Wizard and then select SoC Lighting over thread in the Example project selection page. - - For example, if SMG project is the lock app for wi-fi RS9116 using board BRD4187C, select BRD4187C in the New Project Wizard and then select NCP Lock over Wifi (with RS9116 in the description) in the Example project selection page. -3. **Build Flags:** Simplicity Studio has components that map to the build flags option in SMG build scripts. To configure the project through the component library, click the **SOFTWARE COMPONENTS** tab. A number of filters, as well as a keyword search, are available to help you explore the various component categories. Users can install/uninstall components to enable and disable certain functionalities.   - - The mapping is as follows: - - :::custom-table{width=30%,70%} - |**Build Flag**|**Simplicity Studio Component**| - | :- | :- | - |chip\_build\_libshell|Matter Shell| - |chip\_logging|Matter Core Components, click the gear icon (configuration) and select the required logging level| - |chip\_openthread\_ftd|Stack (FTD) Configure| - |enable\_heap\_monitoring|Memory Monitoring| - |enable\_openthread\_cli|OpenThread CLI| - |kvs\_max\_entries|Matter Core Components, click the gear icon (configuration) and modify the Maximum amount of KVS Entries value. Default 255. Threshold: 30 <= kvs\_max\_entries <= 255| - |show\_qr\_code|Matter QR Code Display| - |chip\_enable\_icd\_server|ICD Management Server Cluster| - |use\_rs9116, use\_SiWx917, use\_wf200|Select the appropriate series-1, series-2, or Siw917Soc boards, and select respective projects in new project wizard.| - |'import("//with\_pw\_rpc.gni")'|Will be introduced in Matter extension v2.3.0-1.3 release| - |ota\_periodic\_query\_timeout\_sec|OTA Requestor, click the gear icon (configuration) and modify the  OTA Requestor periodic timeout| - |rs91x\_wpa3\_transition| :para[Add the following statement to the project's SLCP file:] :para[define:] :para[- name:] :para[WIFI\_ENABLE\_SECURITY\_WPA3\_TRANSITION] :para[value: "1"]| - |slc\_gen\_path|Already part of project. No need to do anything| - |sl\_pre\_gen\_path|Already part of project. No need to do anything| - |sl\_matter\_version|Matter Core Components, click on gear icon(configuration) and select Device software version | - |sl\_matter\_version\_str|Matter Core Components, click on gear icon(configuration) and select Device software version string| - |sl\_hardware\_version|Matter Core Components, click on gear icon(configuration) and select Device hardware version | - ::: - - :::custom-table{width=30%,70%} - |**Presets**|**Simplicity Studio Component**| - | :- | :- | - |icd| Icd Management Server Cluster | - |low-power| Lower Power Mode | - |additional\_data\_advertising|GATT Additional Advertising| - |use\_ot\_lib|OpenThread Certification Libraries| - |use\_chip\_lwip\_lib|Matter LwIP| - |release| Install Matter No Debug, remove Matter LCD| - |uart\_log| :para[Add the following statement to the project's SLCP file:] :para[define:] :para[- name: SILABS\_LOG\_OUT\_UART] :para[value: "1"] | - |slc\_generate|Already part of project. No need to do anything| - |slc\_reuse\_files|Already part of project. No need to do anything| - |bootloader|Already part of project. No need to do anything| - ::: - -4. Once the application is created in Simplicity Studio, the user can locate all the project files in the **Project Explorer** menu on the left. -5. ZAP Changes: - 1. If there are ZAP changes for the project, from the Project Explorer menu, replace the ZAP file located at `config/common/.ZAP` with the SMG project ZAP file. - 2. To install the cluster components for enabled clusters, click the .slcp from the Project Explorer menu > Configuration Tools > Open **Zigbee Cluster Configurator**. - 3. Select **Enabled Clusters** from the **Filters** dropdown in ZAP GUI. - 4. Go through the list of enabled clusters and if shown a warning, click **Install** to get the respective cluster components installed. - - ![ZAP](images/zap-troubleshooting.png) - -6. If there are code changes in the project files such as files located in `include/` and `src/`, replace the files from the SMG project to the respective `include/` and `src/` directories. -7. The Matter stack and platform source files can be found in the Project Explorer menu under the `matter_` directory. You can move over all the files changed from the SMG project to the Simplicity Studio project. -8. If you have created new source files, then depending on the IDE, you will need to: - - For Simplicity Studio IDE: copy them to respective locations in the Simplicity Studio project. - - For IAR EW: Make use of the `Add File` mechanism. - - For CMake or Makefile: Add using a custom CMake/Makefile subfile as described in their readmes or comments. -9. Your project should be ready to build and flash. - -## Troubleshooting - -1. If you receive a ZAP feature level error from Simplicity Studio, add the latest ZAP by following [these instructions](https://docs.silabs.com/ZAP-tool/1.0.0/ZAP-users-guide/update-ZAP). -2. Get familiar with [Simplicity Studio Project Configurator](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-developing-with-project-configurator/project-configurator). diff --git a/sld248-matter-overview-guides/matter-solutions.md b/sld248-matter-overview-guides/matter-solutions.md index 3f2c8a8..7821b1d 100644 --- a/sld248-matter-overview-guides/matter-solutions.md +++ b/sld248-matter-overview-guides/matter-solutions.md @@ -20,7 +20,7 @@ Building via solutions behaves just like a normal project. Just ensure the top-l Due to certain limitations with the way our Matter examples are built within Simplicity Studio, OTA file generation must be conducted by the user via the command line. -To create an OTA file, first build a Matter example via solutions. Locate the resulting .gbl file within the `artifact` directory. This will be used as an argument to the GBL creation script. Then, locate the directory that holds the Matter Extension within the SiSDK in Simplicity Studio. The location should be similar to: `/Users/User/SimplicityStudio/SDKs/simplicity_sdk/extension/matter_extension`. Once found, open a terminal at this location and run the command: +To create an OTA file, first build a Matter example via solutions. Locate the resulting .gbl file within the `artifact` directory. This will be used as an argument to the GBL creation script. Then, locate the directory that holds the Matter Extension within the SiSDK in Simplicity Studio. The location should be similar to: `C:\Users\\.silabs\slt\installs\conan\p\matte2e08d48896d06\p`. Once found, open a terminal at this location and run the command: ```bash ./src/app/ota_image_tool.py create -v 0xFFF1 -p 0x8005 -vn -vs -da sha256 / / diff --git a/sld248-matter-overview-guides/serial-port-communications.md b/sld248-matter-overview-guides/serial-port-communications.md index c17b2c3..dd6db65 100644 --- a/sld248-matter-overview-guides/serial-port-communications.md +++ b/sld248-matter-overview-guides/serial-port-communications.md @@ -16,51 +16,43 @@ To run matter shell on the Silicon Labs Platform, refer to the [Software Require 2. To install the software packages for Simplicity Studio, refer to [Software Package Installation](/matter/{build-docspace-version}/matter-wifi-getting-started-example/software-installation#installation-of-software-packages). -3. Log in to Simplicity Studio and connect the EFR32MG2x or SiWx917 SOC board to the computer. +3. Connect the EFR32MG2x or SiWx917 SOC board to the computer. -4. Go to the **All Products** section. +4. Go to the **Devices** section on the left panel. - ![Silicon Labs - design](./images/all-products-selection.png) +5. Select the radio board that is connected. The Launcher page will display the selected radio board's details. -5. Type and select the radio board from the displayed list and click **Start**. + ![Silicon Labs - design](./images/matter-shell-connect-board.jpeg) - ![Silicon Labs - design](./images/select-efx-board.png) - -6. The Launcher page will display the selected radio board's details. - - ![Silicon Labs - design](./images/overview-tab-efx32.png) - -7. Verify the following in the **General Information** section: +6. Verify the following in the **General Information** section: - The Debug Mode is **Onboard Device (MCU)**. - The Preferred SDK is the version you selected earlier. - ![Silicon Labs - design](./images/create-project-verify-efx-general-information.png) +7. Click the **Create New Project** option and create a project for the Matter Lock Application. -8. Open the **Example Projects and Demos** tab and create a project for the Matter Lock Application. + ![Silicon Labs - design](./images/matter-shell-lock-app.jpeg) - ![Silicon Labs - design](./images/create-project-select-efx-lock-example.png) +8. In the Project Configuration window, click **Finish**. -9. In the New Project Wizard window, click **Finish**. + ![Silicon Labs - design](./images/matter-shell-project-generation.jpeg) - ![Silicon Labs - design](./images/create-project-lock-click-finish.png) - -10. After creation of project, open the **Software Components** tab and, in the search bar, type _Matter Shell_ and install it. +9. After creation of project, open the **Software Components** tab and, in the search bar, type _Matter Shell_ and install it. ![Silicon Labs - design](./images/matter-shell-enable.png) -11. Build the project after enabling the **Matter Shell** component. +10. Build the project after enabling the **Matter Shell** component. -12. After a successful build, commission the device as described in [Commission Matter Platform](/matter/{build-docspace-version}/matter-wifi-run-demo/use-case-execution#creating-the-matter-network). +11. After a successful build, commission the device as described in [Commission Matter Platform](/matter/{build-docspace-version}/matter-wifi-run-demo/use-case-execution#creating-the-matter-network). -13. Open Tera Term and under **New connection**, select **Serial**, and in the dropdown, select the **JLink** port, and click **OK**. +12. Open Tera Term and under **New connection**, select **Serial**, and in the dropdown, select the **JLink** port, and click **OK**. ![Silicon Labs - design](./images/tera-term-select-jlink-port.png) -14. In the menu bar, click **Setup > Terminal**. +13. In the menu bar, click **Setup > Terminal**. ![Silicon Labs - design](./images/tera-term-selection-in-terminal.png) -15. Inside **Terminal**, set the values below and click **OK**. +14. Inside **Terminal**, set the values below and click **OK**. - Terminal Size : 80 * 24 - New-Line @@ -69,23 +61,23 @@ To run matter shell on the Silicon Labs Platform, refer to the [Software Require ![Silicon Labs - design](./images/tera-term-terminal-setup.png) -16. In the menu bar, click **Setup > Serial port**. +15. In the menu bar, click **Setup > Serial port**. ![Silicon Labs - design](./images/tera-term-select-serial-port.png) -17. Increase the speed to **115200** and click **New setting**. +16. Increase the speed to **115200** and click **New setting**. ![Silicon Labs - design](./images/tera-term-select-speed.png) -18. In the menu bar, click **File > TTY Record**. Create any empty file with extension ".tty" and click **Save**. +17. In the menu bar, click **File > TTY Record**. Create any empty file with extension ".tty" and click **Save**. ![Silicon Labs - design](./images/tera-term-tty-record.png) -19. After creating the tty file, press **Enter** to open the **matterCli** terminal. +18. After creating the tty file, press **Enter** to open the **matterCli** terminal. ![Silicon Labs - design](./images/tera-term-matter-cli.png) -20. Send any command through the **matterCli** terminal, from the below list of commands: +19. Send any command through the **matterCli** terminal, from the below list of commands: - doorlock event door-state-change "DoorState" - Door State List @@ -109,7 +101,7 @@ To run matter shell on the Silicon Labs Platform, refer to the [Software Require ![Silicon Labs - design](./images/matter-shell-command-send.png) -21. After changing DoorState and AlarmCode in **matterCli**, run the commands below using chip-tool on Raspberry PI to verify the event. +20. After changing DoorState and AlarmCode in **matterCli**, run the commands below using chip-tool on Raspberry PI to verify the event. - To Read Door State @@ -120,3 +112,5 @@ To run matter shell on the Silicon Labs Platform, refer to the [Software Require ./chip-tool doorlock read-event door-lock-alarm "node_id" "endpoint" **Note**: Type **help** in matterCli terminal for more information about supported features. + + **Note**: For 917SoC ICD-enabled devices, only five UULP pins are supported. As a result, the Matter shell is not functional with sleepy applications because they are not mapped to UULP pins. To enable the Matter shell for sleepy 917SoC devices, the P37 pin must be pulled up. Additionally, boards BRD2708A, BRD2911A, and BRD4343A have only three UULP GPIO pins, which prevents the shell from functioning. To enable the shell on these boards, users must repurpose existing UULP GPIO pins. \ No newline at end of file diff --git a/sld249-matter-prerequisites/hardware-requirements.md b/sld249-matter-prerequisites/hardware-requirements.md index b49d78e..359f2e6 100644 --- a/sld249-matter-prerequisites/hardware-requirements.md +++ b/sld249-matter-prerequisites/hardware-requirements.md @@ -95,7 +95,7 @@ The Matter Accessory Device (MAD) is the actual device that the Matter applicati ### Matter Over Wi-Fi Accessory Device Requirements for NCP Mode -The Silicon Labs Matter over Wi-Fi NCP mode demo and development requires two boards: the Silicon Labs EFR32 Radio board to run the Matter code and either the RS9116, SiWx917, or WF200 to run the Wi-Fi protocol stack. Pre-built images for the EFR32, and also for SiWx917 or RS9116 connectivity firmware, are provided on the [Matter Artifacts page](./matter-artifacts.md). +The Silicon Labs Matter over Wi-Fi NCP mode demo and development requires two boards: the Silicon Labs EFR32 Radio board to run the Matter code and either the SiWx917 or WF200 to run the Wi-Fi protocol stack. Pre-built images for the EFR32, and also for SiWx917 connectivity firmware, are provided on the [Matter Artifacts page](./matter-artifacts.md). **Notes:** @@ -114,13 +114,6 @@ The following boards are supported for the Matter over Wi-Fi demos and developme - MG24 with WSTK : [xG24-PK6010A](https://www.silabs.com/development-tools/wireless/efr32xg24-pro-kit-20-dbm?tab=overview) - **Wi-Fi NCP Dev Kits & boards** - - **RS9116** - - SB-EVK1 / Single Band Wi-Fi Development Kit / 2.4GHz - - [RS9116X-SB-EVK1](https://www.silabs.com/development-tools/wireless/wi-fi/rs9116x-sb-evk-development-kit) - - SB-EVK2 / Single Band Wi-Fi Development Kit / 2.4GHz - - [RS9116X-SB-EVK2](https://www.silabs.com/development-tools/wireless/wi-fi/rs9116x-sb-evk2-development-kit) - - DB-EVK1 / Dual Band Wi-Fi Development Kit / 2.4GHz & 5GHz - - [RS9116X-DB-EVK1](https://www.silabs.com/development-tools/wireless/wi-fi/rs9116x-db-evk-development-kit) - **SiWx917 NCP** - SiWx917 NCP Mode / Wi-Fi Expansion Board / 2.4GHz - BRD8045A (B0 Expansion v2.0) @@ -129,9 +122,6 @@ The following boards are supported for the Matter over Wi-Fi demos and developme - [SLEXP8022A](https://www.silabs.com/development-tools/wireless/wi-fi/wf200-wifi-expansion-kit) - WF200 / Single Band Wi-Fi Expansion Board / 2.4GHz - [SLEXP8023A](https://www.silabs.com/development-tools/wireless/wi-fi/wfm200-wifi-expansion-kit) -- Interconnect board (included in the Wi-Fi kits) -- SPI Cable (included in the RS9116 kit) -- Jumper Cables (included in the RS9116 kit) ### Matter over Wi-Fi Accessory Device Requirements for SoC Mode @@ -157,6 +147,3 @@ In addition to your Matter over Wi-Fi Accessory Device, you need the following f - Access point with Internet access - microSD card (>=32GB) (if using Raspberry Pi) - **[Optional]** Android Mobile phone (If using the chip-tool on Android) -- Interconnect board (included in the RS9116 kit) -- SPI Cable (included in the RS9116 kit) -- Jumper Cables (included in the RS9116 kit) diff --git a/sld249-matter-prerequisites/matter-artifacts.md b/sld249-matter-prerequisites/matter-artifacts.md index 5e2ca17..8f68b35 100644 --- a/sld249-matter-prerequisites/matter-artifacts.md +++ b/sld249-matter-prerequisites/matter-artifacts.md @@ -4,49 +4,37 @@ This page provides links to pre-built software image "artifacts" that can be use Images for the items listed below are available under the "Assets" section at the bottom of this page: -https://github.com/SiliconLabs/matter_extension/releases/tag/v2.6.1 +https://github.com/SiliconLabs/matter_extension/releases/tag/v2.8.0 ## Matter Hub Raspberry Pi Image The Matter Hub image is intended to be flashed onto an SD card for a Raspberry Pi. The Matter Hub image provides both an Open Thread Border Router and the Matter chip-tool. Note the image is ~7GB in size so depending on your internet connection this download may take some time. Start the Matter Hub Raspberry Pi image download here: -https://www.silabs.com/documents/public/software/SilabsMatterPi_2.6.0-1.4-extension.zip +https://www.silabs.com/documents/public/software/SilabsMatterPi_2.8.0-1.5-extension.zip ## Radio Co-Processor (RCP) Images The Radio Co-Processor firmware is used to turn an EFR into an RCP that can be used with a Raspberry Pi to allow the Raspberry Pi's Open Thread Border Router to access the Thread network. Radio Co-Processor (RCP) images are available in the Assets section of this page: -https://github.com/SiliconLabs/matter_extension/releases/download/v2.6.1/ot-rcp-binaries-2.6.1-1.4.zip +https://github.com/SiliconLabs/matter_extension/releases/download/v2.8.0/ot-rcp-binaries-2.8.0-1.5.zip ## Matter Accessory Device Images The Matter Accessory Device Images are used to turn an EFR into a Matter device. These are pre-built binary images for the Matter Demo. Matter Accessory Device Images are located in the Assets section of this page: -https://github.com/SiliconLabs/matter_extension/releases/download/v2.6.1/matter-accessory-device-images_2.6.1-1.4.zip +https://github.com/SiliconLabs/matter_extension/releases/download/v2.8.0/matter-accessory-device-images_2.8.0-1.5.zip ## Matter Bootloader Binaries All Silicon Labs board supporting Matter require that a bootloader binary is flashed to the device along with the application image. Bootloader binaries for all of the Matter supported devices are available here: -https://github.com/SiliconLabs/matter_extension/releases/download/v2.6.1/bootloader_binaries_matter_extension_v2.6.1-1.4.zip - -## RS9116 Firmware - -The RS9116 firmware (`rs9116_firmware_files_with_rev.zip`) is used to update the RS9116 which can be found in the Assets section of this page: - -https://github.com/SiliconLabs/matter_extension/releases/download/v2.6.1/rs9116_firmware_files_with_rev_2.6.1-1.4.zip - -**Note**: -RS9116 chip/module needs to be flashed with proper firmware as mentioned below: - -- `RS916.x.x.x.x.x.rps - This firmware image is valid for RS9116 1.5 revision chip/module` -- `RS9116.x.x.x.x.x.rps - This firmware image is valid for RS9116 1.4/1.3 revision chip/module` +https://github.com/SiliconLabs/matter_extension/releases/download/v2.8.0/bootloader_binaries_matter_extension_v2.8.0-1.5.zip ## SiWx917 Firmware for SiWN917 NCP and SiWG917 SOC The SiWx917 firmware(SiWx917_firmware_files.zip) is used to update the SiWN917 NCP and SiWG917 SOC which can be found in the Assets section of this page: -https://github.com/SiliconLabs/matter_extension/releases/download/v2.6.1/SiWx917_firmware_files_2.6.1-1.4.zip +https://github.com/SiliconLabs/matter_extension/releases/download/v2.8.0/SiWx917_firmware_files_2.8.0-1.5.zip **Note**: @@ -64,12 +52,12 @@ https://github.com/SiliconLabs/matter_extension/releases/download/v2.6.1/SiWx917 The SiWx917 RCP folder (siwx917_rcp_files.zip) contains the Matter Linux all-cluster-app, which can be run on a Raspberry Pi, and the wfx-sdio-overlay.dts file, a Device Tree Source file used to configure the SDIO interface on the Raspberry Pi to detect and communicate with the SiWx917 RCP. -https://github.com/SiliconLabs/matter_extension/releases/download/v2.6.1/siwx917_rcp_files.zip +https://github.com/SiliconLabs/matter_extension/releases/download/v2.8.0/siwx917_rcp_files.zip ## SiWx917 SoC Configuration Files For JLink RTT Logging To check device logs on JLink RTT for the Matter Application on the SiWx917 SoC, the **JLink RTT** must be configured for the SiWx917 SoC device by following the instructions on the [JLink RTT SOC Support](/matter/{build-docspace-version}/matter-wifi-enabling-features/jlink-soc-setup) for SiWx917 SoC. -The [JLinkDevices.xml](https://github.com/SiliconLabs/matter_extension/releases/download/v2.6.1/JLinkDevices.xml.zip) and [RS9117_SF_4MB_42bsp.elf](https://github.com/SiliconLabs/matter_extension/releases/download/v2.6.1/RS9117_SF_4MB_42bsp.elf.zip) files referenced in the instructions may be found in the Assets section of this page. +The [JLinkDevices.xml](https://github.com/SiliconLabs/matter_extension/releases/download/v2.8.0/JLinkDevices.xml.zip) and [RS9117_SF_4MB_42bsp.elf](https://github.com/SiliconLabs/matter_extension/releases/download/v2.8.0/RS9117_SF_4MB_42bsp.elf.zip) files referenced in the instructions may be found in the Assets section of this page. >**Note**: For EFR32MG2x devices, JLink RTT Logging support is already enabled. diff --git a/sld249-matter-prerequisites/software-requirements.md b/sld249-matter-prerequisites/software-requirements.md index eff9ed4..4974d16 100644 --- a/sld249-matter-prerequisites/software-requirements.md +++ b/sld249-matter-prerequisites/software-requirements.md @@ -34,18 +34,14 @@ Below are the software tools both optional and required for developing Matter ov 1. [SiSDK package](/matter/{build-docspace-version}/matter-wifi-getting-started-example/software-installation#installation-of-gecko-sdk-extension), which can be installed as part of the Simplicity Studio tool installation. -2. [WiSeConnect SDK v2.x for RS9116 NCP](/matter/{build-docspace-version}/matter-wifi-getting-started-example/software-installation#installation-of-wiseconnect-sdk-v2x-or-v3x-extension), which can be installed as part of the Simplicity Studio tool installation. +2. [WiSeConnect SDK v4.x for SiWx917 NCP](/matter/{build-docspace-version}/matter-wifi-getting-started-example/software-installation#installation-of-wiseconnect-sdk-v2x-or-v3x-extension), which can be installed as part of the Simplicity Studio tool installation. -3. [WiSeConnect SDK v3.x for SiWx917 NCP](/matter/{build-docspace-version}/matter-wifi-getting-started-example/software-installation#installation-of-wiseconnect-sdk-v2x-or-v3x-extension), which can be installed as part of the Simplicity Studio tool installation. - -4. [Firmware for RS9116 NCP](./matter-artifacts.md#rs9116-firmware) - -5. [Firmware for SiWx917 NCP](./matter-artifacts.md#siwx917-firmware-for-siwn917-ncp-and-siwg917-soc) +3. [Firmware for SiWx917 NCP](./matter-artifacts.md#siwx917-firmware-for-siwn917-ncp-and-siwg917-soc) ## Software Packages Required for Wi-Fi SiWx917 SoC Devices 1. [SiSDK package](/matter/{build-docspace-version}/matter-wifi-getting-started-example/software-installation#installation-of-gecko-sdk-extension), which can be installed as part of the Simplicity Studio tool installation. -2. [WiSeConnect SDK v3.x](/matter/{build-docspace-version}/matter-wifi-getting-started-example/software-installation#installation-of-wiseconnect-sdk-v2x-or-v3x-extension), which can be installed as part of the Simplicity Studio tool installation. +2. [WiSeConnect SDK v4.x](/matter/{build-docspace-version}/matter-wifi-getting-started-example/software-installation#installation-of-wiseconnect-sdk-v2x-or-v3x-extension), which can be installed as part of the Simplicity Studio tool installation. 3. [Firmware for SoC](./matter-artifacts.md#siwx917-firmware-for-siwn917-ncp-and-siwg917-soc) diff --git a/sld250-matter-references/commit-hashes.md b/sld250-matter-references/commit-hashes.md index aa2100c..73354d3 100644 --- a/sld250-matter-references/commit-hashes.md +++ b/sld250-matter-references/commit-hashes.md @@ -8,22 +8,22 @@ The following repositories, branches, and commit hashes are to be used together | Repo | Branch | Commit Hash | | ------------------------------------------ | ------ | ---------------------------------------- | -| https://github.com/SiliconLabs/ot-br-posix | main | 42f98b27b | +| https://github.com/SiliconLabs/ot-br-posix | main | 944fecf | ### Radio Co-Processor (RCP) | Repo | Branch | Commit Hash | | --------------------------------------- | ------ | ---------------------------------------- | -| https://github.com/SiliconLabs/ot-efr32 | main | e75c76737 | +| https://github.com/SiliconLabs/ot-efr32 | main | 038475d | ### Matter chip-tool | Repo | Branch | Commit Hash | | ----------------------------------------------- | ------ | ---------------------------------------- | -| https://github.com/openthread/openthread | main | 7074a43e4 | +| https://github.com/openthread/openthread | main | 687cc36 | ### Connectivity Standards Alliance connectedhomeip (Matter) | Repo | Branch | Commit Hash | | ----------------------------------------------- | ------ | ---------------------------------------- | -| https://github.com/project-chip/connectedhomeip | master | d140d5c8775 | +| https://github.com/project-chip/connectedhomeip | master | c8840de | diff --git a/sld250-matter-references/custom-matter-device.md b/sld250-matter-references/custom-matter-device.md index 1d515e5..e21fdfd 100644 --- a/sld250-matter-references/custom-matter-device.md +++ b/sld250-matter-references/custom-matter-device.md @@ -120,8 +120,20 @@ $ mattertool levelcontrol move-to-level {desired_level} 0 1 1 {node_ID} 1 $ mattertool levelcontrol read current-level 1 1 // Returns 10 ``` -For more information on running a Silicon Labs lighting example on a Thunderboard Sense 2 you can view documentation in the Silicon Labs Matter GitHub Repo. - ## Defining a Custom Cluster -Create an XML file with custom cluster definitions. For an example, see [Sample MEI Cluster](https://github.com/project-chip/connectedhomeip/blob/master/src/app/zap-templates/zcl/data-model/chip/sample-mei-cluster.xml). In ZAP click 'Extensions' and add the XML file. The newly defined cluster can then be enabled in any endpoint under the domain for which it was defined (for example General), its Commands and Attributes can be managed like those of any other cluster. +In order to use a custom cluster in an application, follow these steps: +- Create an XML file with custom cluster definitions. For an example, see [Sample MEI Cluster](https://github.com/project-chip/connectedhomeip/blob/master/src/app/zap-templates/zcl/data-model/chip/sample-mei-cluster.xml). +- In ZAP, click **Extensions** and add the XML file. The newly defined cluster can then be enabled in any endpoint under the domain for which it was defined (for example General). Its Commands and Attributes can be managed like those of any other cluster. Click Ctrl+S to save the changes. +- Manually edit the project's .zap file (located in config/zap/ in the project directory) to add the following block to the "keyValuePairs" array. + + ```xml + { + "key": "generateStaticTemplates", + "value": "true" + } + ``` +For an example, see [Sample ZAP file](https://github.com/SiliconLabsSoftware/matter_extension/blob/v2.8.0-rc3/slc/apps/performance-test-app/thread/performance-test-app.zap) +- Install the **Custom ZAP generation** component under **Silicon Labs Matter -> Stack** in the project's Component Editor. + + diff --git a/sld250-matter-references/flash-silabs-device.md b/sld250-matter-references/flash-silabs-device.md index 391d909..8aa5c02 100644 --- a/sld250-matter-references/flash-silabs-device.md +++ b/sld250-matter-references/flash-silabs-device.md @@ -1,6 +1,6 @@ # How to Flash a Silicon Labs Device -Once you have an image built, you can flash it onto your EFR or SiWx917 device (either a development board or the Thunderboard Sense 2) over USB connected to your development machine. This can be done using either Simplicity Studio or the standalone Simplicity Commander. +Once you have an image built, you can flash it onto your EFR or SiWx917 device over USB connected to your development machine. This can be done using either Simplicity Studio or the standalone Simplicity Commander. ## Simplicity Studio @@ -8,12 +8,9 @@ Simplicity Studio is a complete development environment and tool suite. It has t - [Download Simplicity Studio](https://www.silabs.com/developers/simplicity-studio). - Building Application Using Simplicity Studio: - - [Build Application for EFR32](/matter/{build-docspace-version}/matter-wifi-run-demo/build-efx32-application-using-studio) - - [Build Application for SoC](/matter/{build-docspace-version}/matter-wifi-run-demo/build-soc-application-using-studio) -- Flash Application Using Simplicity Studio: - - [Build Application for EFR32 Step 9](/matter/{build-docspace-version}/matter-wifi-run-demo/build-efx32-application-using-studio) - - [Build Application for SoC Step 9](/matter/{build-docspace-version}/matter-wifi-run-demo/build-soc-application-using-studio) -- [Simplicity Studio Reference Guide](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-building-and-flashing/flashing) + - [Build Application for EFR32](/matter/{build-docspace-version}/matter-quick-start-demo/02-thread-quick-start-demo.md#step-2-build-the-project-in-the-silicon-labs-extension-for-the-visual-studio-code-ide) +- [Flash Application](/matter/{build-docspace-version}/sld251-matter-thread/build-flash-mad.md#step-2-flash-the-matter-accessory-device) +- [Simplicity Studio Reference Guide](https://docs.silabs.com/ssv6ug/latest/ssv6ug-overview/) ## Simplicity Commander diff --git a/sld250-matter-references/matter-ep.md b/sld250-matter-references/matter-ep.md index 8978f39..05b3f4f 100644 --- a/sld250-matter-references/matter-ep.md +++ b/sld250-matter-references/matter-ep.md @@ -11,4 +11,4 @@ Matter project will not have been created inside Simplicity Studio. Complete documentation on using the Simplicity Studio Energy Profiler is provided in the -[Simplicity Studio 5 Energy Profiler User's Guide](https://docs.silabs.com/simplicity-studio-5-users-guide/1.0/using-the-tools/energy-profiler/) +[Simplicity Studio 6 Energy Profiler User's Guide](https://docs.silabs.com/energy-profiler/latest/energy-profiler-start/). diff --git a/sld250-matter-references/matter-gatt.md b/sld250-matter-references/matter-gatt.md index acd9345..4cc14ad 100644 --- a/sld250-matter-references/matter-gatt.md +++ b/sld250-matter-references/matter-gatt.md @@ -27,18 +27,17 @@ follows: In the top menu of your project navigate to `Configuration Tools > Bluetooth GATT Configurator` -4. Change your GATT settings as you wish for your project +4. Change your GATT settings as you wish for your project. - More information on using the - [BLE GATT Configurator is provided here.](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-developing-with-project-configurator/bluetooth-gatt-configurator) + For more information, refer to + [BLE GATT Configurator is provided here.](https://docs.silabs.com/ssv6ug/latest/ssv6-configure-project/bluetooth-gatt-configurator) -5. Save your project, which will force the generation of your BLE GATT - Configuration +5. Save your project, which will force the generation of your BLE GATT Configuration. -6. BLE GATT database is stored in the `autogen` folder in your project directory +6. BLE GATT database is stored in the `autogen` folder in your project directory. 7. Move the BLE GATT db into your Matter project Copy the BLE GATT db header files out of your project and into the Matter project. BLE GATT db header and `.c` files are located in - `./src/platform/EFR32` in the Silicon Labs Matter GitHub repo. + `./src/platform/silabs/efr32` in the CSA Matter GitHub Repo. diff --git a/sld250-matter-references/matter-pintool.md b/sld250-matter-references/matter-pintool.md index 1b52b32..3a96dd7 100644 --- a/sld250-matter-references/matter-pintool.md +++ b/sld250-matter-references/matter-pintool.md @@ -19,24 +19,29 @@ When creating a configuration for a custom board do the following: 3. Copy the generated output config files into a custom board support directory within the Matter repository. -## 2. Create a sample "Empty C++ project" in Simplicity Studio +## 2. Create a Sample "Empty C++ project" in Simplicity Studio -1. In Simplicity Studio click `Create a New Project` - to start the project wizard. Choose your development board type, and the - latest Gecko SDK you'll be working from. Click **Next**. +1. In Simplicity Studio, next to **Start a New Project**, click **all projects & demos** to start the project wizard. +2. In the upper right, click **Select Device** to choose your development board, and in the dropdown, select the appropriate Simplicity SDK. +3. Scroll to the **Empty C++ Project** example, and click **Create**. +4. Click **Finish** to create your project. + to start the project wizard. Choose your development board type via the `+ Select Device` button, and the + latest Simplicity SDK you'll be working from -2. Select the `Empty C++ Project` example and click **Next**. +5. Select the `Empty C++ Project` example and click **Create**. -3. Click **Finish** to create your project. +6. Select a compatible device then click **Next**. + +7. Click **Finish** to create your project. ## 3. Customize your Components and Pin configuration in Simplicity Studio -Once you have your project created you will see your project and project -configuration in Simplicity Studio's Project Configurator. Full documentation on +Once you have your project created, you will see your project and project +configuration in Simplicity Studio's Project Configurator. For full documentation on the use of the Project Configurator and Pin Tool, see the [Simplicity Studio User's Guide](https://docs.silabs.com/ssv6ug/latest/ssv6-configure-project/pin-tool). the use of the Project Configurator and Pin Tool are located here: -[Simplicity Studio 5 User's Guide](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-developing-with-project-configurator/) +[Simplicity Studio User's Guide](https://docs.silabs.com/ssv6ug/latest/ssv6-configure-project/pin-tool) -## 4. Generate your Component and Pin configuration in Simplicity Studio +## 4. Generate your Component and Pin Configuration in Simplicity Studio When you save your project configuration, Simplicity Studio saves all the generated header files out into a `config` directory in your diff --git a/sld250-matter-references/matter-wireshark.md b/sld250-matter-references/matter-wireshark.md index 72e1193..d6fc6a1 100644 --- a/sld250-matter-references/matter-wireshark.md +++ b/sld250-matter-references/matter-wireshark.md @@ -38,7 +38,7 @@ After disabling network security, you need to capture the specific network traff For example, if you use Matter over Thread, you need a Thread sniffer, and if you use Matter over Wi-Fi, you need to capture Wi-Fi traffic. -With Matter over Thread, you can sniff Thread traffic using a Silicon Labs WSTK and the Network Analyzer from Simplicity Studio v5. For this, you can refer to section 5.4 of [QSG170: Silicon Labs OpenThread QuickStart Guide](https://www.silabs.com/documents/public/quick-start-guides/qsg170-openthread-sdk-quick-start-guide.pdf). +With Matter over Thread, you can sniff Thread traffic using a Silicon Labs WSTK and the Network Analyzer from Simplicity Studio v6. For this, you can refer to section 5.4 of [QSG170: Silicon Labs OpenThread QuickStart Guide](https://docs.silabs.com/openthread/latest/openthread-quick-start-guide/). After capturing Thread network traffic, export it as a PCAPNG file, which is a file format that can be read by Wireshark. At this point, you can only see Thread traffic since Wireshark currently cannot decode the Matter layer of the network packet yet: diff --git a/sld250-matter-references/matter-zap.md b/sld250-matter-references/matter-zap.md index 5cd305d..c135d47 100644 --- a/sld250-matter-references/matter-zap.md +++ b/sld250-matter-references/matter-zap.md @@ -194,4 +194,16 @@ The image above is what the multiple device type endpoints looks like after conf ## Defining a Custom Cluster -Create an XML file with custom cluster definitions, for an example see [Sample MEI Cluster](https://github.com/project-chip/connectedhomeip/blob/master/src/app/zap-templates/zcl/data-model/chip/sample-mei-cluster.xml). In ZAP click 'Extensions' and add the XML file. The newly defined cluster can then be enabled in any endpoint under the domain for which it was defined (for example General), its Commands and Attributes can be managed like those of any other cluster. +In order to use a custom cluster in an application, follow these steps: +- Create an XML file with custom cluster definitions. For an example, see [Sample MEI Cluster](https://github.com/project-chip/connectedhomeip/blob/master/src/app/zap-templates/zcl/data-model/chip/sample-mei-cluster.xml). +- In ZAP, click **Extensions** and add the XML file. The newly defined cluster can then be enabled in any endpoint under the domain for which it was defined (for example General). Its Commands and Attributes can be managed like those of any other cluster. Click Ctrl+S to save the changes. +- Manually edit the project's .zap file (located in config/zap/ in the project directory) to add the following block to the "keyValuePairs" array. + + ```xml + { + "key": "generateStaticTemplates", + "value": "true" + } + ``` +For an example, see [Sample ZAP file](https://github.com/SiliconLabsSoftware/matter_extension/blob/v2.8.0-rc3/slc/apps/performance-test-app/thread/performance-test-app.zap) +- Install the **Custom ZAP generation** component under **Silicon Labs Matter -> Stack** in the project's Component Editor. diff --git a/sld250-matter-references/using-studio.md b/sld250-matter-references/using-studio.md index c0334db..5e6aa3f 100644 --- a/sld250-matter-references/using-studio.md +++ b/sld250-matter-references/using-studio.md @@ -1,18 +1,18 @@ # Development Tools in Simplicity Studio -Simplicity Studio contains a number of integrated tools that you can use with projects created within that environment. +Simplicity Studio contains a number of integrated tools that you can use with projects created within that environment. Documentation on all of these tools can be found in the [Simplicity Studio 6 User's Guide](https://docs.silabs.com/ssv6ug/latest/ssv6ug-overview/). ## Bluetooth GATT Configurator -The Simplicity Studio Bluetooth LE (BLE) GATT Configurator is an Advanced Configurator within the Simplicity Studio Project Configuration suite. You can add the BLE GATT configuration by adding the `Bluetooth > GATT > Configuration` component to your project. This will enable the BLE GATT Configurator under `Configuration Tools > Bluetooth GATT Configurator`. See the Simplicity Studio v5 User's Guide for more information on using the [BLE GATT Configurator](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-developing-with-project-configurator/bluetooth-gatt-configurator). +The Simplicity Studio Bluetooth LE (BLE) GATT Configurator is an Advanced Configurator within the Simplicity Studio Project Configuration suite. You can add the BLE GATT configuration by adding the **Bluetooth > GATT > Configuration** component to your project. This will enable the BLE GATT Configurator under **Configuration Tools > Bluetooth GATT Configurator**. See the Simplicity Studio User's Guide for more information on using the [BLE GATT Configurator](https://docs.silabs.com/ssv6ug/latest/ssv6-configure-project/bluetooth-gatt-configurator). ## Energy Profiler Simplicity Studio's Energy Profiler allows you to see a graphical view of your device's energy usage over time. This can be very useful when developing an energy-friendly device. Complete documentation on using the Simplicity Studio Energy Profiler is provided in the -[Simplicity Studio 5 Energy Profiler User's Guide](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-tools-energy-profiler/). +[Simplicity Studio 6 Energy Profiler User's Guide](https://docs.silabs.com/energy-profiler/latest/energy-profiler-start/). ## Custom Hardware Configuration -At some point during product development you may need to move your project over to your custom hardware. In this case, you will likely need to change the pinout and hardware configuration in the example project to reflect your own custom project. You can do this using the Pin Tool. The Simplicity Studio 5 User's Guide contains full documentation on using the [Pin Tool](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-developing-with-project-configurator/pin-tool). +At some point during product development, you may need to move your project over to your custom hardware. In this case, you will likely need to change the pinout and hardware configuration in the example project to reflect your own custom project. You can do this using the Pin Tool. The Simplicity Studio 6 User's Guide contains full documentation on using the [Pin Tool](https://docs.silabs.com/ssv6ug/latest/ssv6-configure-project/pin-tool). diff --git a/sld250-matter-references/versioning-release-maintenance.md b/sld250-matter-references/versioning-release-maintenance.md index cf7aaf2..9f879d2 100644 --- a/sld250-matter-references/versioning-release-maintenance.md +++ b/sld250-matter-references/versioning-release-maintenance.md @@ -1,7 +1,5 @@ # Matter Versioning and Release Maintenance -**Silicon Labs Matter GitHub is being phased out in favor of using the Matter SiSDK Extension that is available through Simplicity Studio and standalone via SLC-CLI.** - ## Versioning Scheme - **FORMAT: vMAJOR.MINOR.PATCH\_VERSION-PRE\_RELEASE** @@ -62,7 +60,8 @@ Update digits based on the following criteria: | v2.1.0-1.1 | 27-July-23 | v4.3.1 | v3.0.10 | 1.1 | Obsolete | | v2.1.1-1.1 | 9-Oct-23 | v4.3.2, v4.3.3 | v3.1.0 | 1.1 | Monitored | | v2.2.0-1.2 | 13-Dec-23 | v4.4.0, v4.4.1 | v3.1.1 | 1.2 | Obsolete | -| v2.2.1-1.2 | 10-Apr-24 | v4.4.1, v4.4.2 | v3.1.4 | 1.2 | Maintained | +| v2.2.1-1.2 | 10-Apr-24 | v4.4.1, v4.4.2 | v3.1.4 | 1.2 | Obsolete | +| v2.2.2-1.2 | 7-May-24 | v4.4.3 | v3.2.0 | 1.2 | Maintained | | v2.3.0-1.3 | 18-June-24 | 2024.6.0 | v3.3.0 | 1.3 | Obsolete | | v2.3.1-1.3 | 14-August-24 | 2024.6.1 | v3.3.1 | 1.3 | Obsolete | | v2.3.2-1.3 | 10-Oct-24 | 2024.6.2 | v3.3.2 | 1.3 | Maintained | @@ -70,5 +69,7 @@ Update digits based on the following criteria: | v2.5.0-1.4 | 18-Dec-24 | 2024.12.0 | v3.4.0 | 1.4 | Obsolete | | v2.5.1-1.4 | 12-Feb-25 | 2024.12.1 | v3.4.1 | 1.4 | Obsolete | | v2.5.2-1.4 | 10-Apr-25 | 2024.12.2 | v3.4.2 | 1.4 | Maintained | -| v2.6.0-1.4 | 18-Jun-25 | 2025.6.0 | v3.5.0 | 1.4 | Maintained | -| v2.6.1-1.4 | 23-Jul-25 | 2025.6.1 | v3.5.1 | 1.4 | Active | +| v2.6.0-1.4 | 18-Jun-25 | 2025.6.0 | v3.5.0 | 1.4 | Obsolete | +| v2.6.1-1.4 | 23-Jul-25 | 2025.6.1 | v3.5.1 | 1.4 | Maintained | +| v2.7.0-1.4 | 25-Sep-25 | 2025.6.2 | v3.5.2 | 1.4 | Maintained | +| v2.8.0-1.5 | 12-Jan-25 | 2025.12.0 | v4.0.0 | 1.5 | Active | diff --git a/sld251-matter-thread/build-flash-mad.md b/sld251-matter-thread/build-flash-mad.md index 44678c2..8b91a32 100644 --- a/sld251-matter-thread/build-flash-mad.md +++ b/sld251-matter-thread/build-flash-mad.md @@ -6,8 +6,8 @@ The Matter Accessory Device, such as the lighting-app, is the actual Matter devi Use one of the following options to get the required image to flash the MAD: -1. Use the pre-built image file from either Simplicity Studio or Silicon Labs Matter GitHub. -2. Build the image file from Simplicity Studio or out of the Silicon Labs Matter GitHub `matter` repository. +1. Use the pre-built image file from either Simplicity Studio (Demos) or [Matter Artifacts page](/matter/{build-docspace-version}/matter-prerequisites/matter-artifacts). +2. Build the image file from Simplicity Studio or out of the CSA Matter GitHub repository. ### Using the Pre-Built Image File @@ -17,13 +17,16 @@ Prebuilt image files are available both on GitHub and inside Simplicity Studio. To find the demos within Simplicity Studio, even if you do not have a device connected: -1. In Simplicity Studio, click the Launcher in the upper right hand corner. -2. Under **Get Started**, choose **All Products**. -3. Choose a board to start with such as **BRD4186C Rev A01** and click **Start**. This will bring up the Launcher window for that part. -4. In the top navigation, choose **Example Projects & Demos**. -5. In the left hand navigation, choose **Matter** to show all the Matter demos. -6. The demos are marked as "demo" and allow you to "run" them. Projects can be "created". -7. Choose the demo you wish to use, and click **Run** to flash it onto your board. +1. In Simplicity Studio, click the **Home** tab in the upper left corner. +2. Next to **Start a New Project**, click **all projects & demos**. +3. In the upper right, click **Select Device** to choose a connected board or search for a virtual board such as **BRD4187C**. This filters the window for that part. +4. In the left navigation, check **Matter** to show all Matter demos. + The demos are marked as **Demo** and allow you to **Run** them. Projects can be *created*. +5. Choose a demo, and click **Run** to flash it onto your board. +6. Choose a board to by clicking on **Select Device**, you can choose from a connected board or search for one such as **BRD4187C** and on the board. This will filter the window for that part. +7. In the left hand navigation, choose **Matter** to show all the Matter demos. +8. The demos are marked as "demo" and allow you to "run" them. Projects can be "created". +9. Choose the demo you wish to use, and click **Run** to flash it onto your board. #### Silicon Labs GitHub @@ -33,16 +36,25 @@ If you are coming from Simplicity Studio, you may have already installed the dem ### Building the Matter Image File -There are two ways to build a Matter Accessory Device image file. You can build it using the Silicon Labs Matter GitHub Repo or you can build it using Simplicity Studio. The entire build process for Simplicity Studio is covered in the [Matter Over Thread Quick Start Guide](/matter/{build-docspace-version}/matter-light-switch-example/02-thread-light-switch-example). -There are two ways to build a Matter Accessory Device image file. You can build it using the Silicon Labs Matter GitHub Repo or you can build it using Simplicity Studio. The entire build process for Simplicity Studio is covered in the [Matter Over Thread Quick Start Guide](/matter/{build-docspace-version}/matter-light-switch-example/02-thread-light-switch-example). - -- [Build Using the Matter GitHub Repo](https://github.com/project-chip/connectedhomeip/tree/master/examples/lighting-app/silabs) -- [Build Using Simplicity Studio](/matter/{build-docspace-version}/matter-light-switch-example/02-thread-light-switch-example) + The entire build process for Simplicity Studio is covered in the [Matter over Thread QuickStart Demo](/matter/{build-docspace-version}/matter-quick-start-demo/02-thread-quick-start-demo.md#step-1-create-a-matter-sample-project). ## Step 2: Flash the Matter Accessory Device -For more information on how to flash your Silicon Labs development platform, see the following instructions: [How to Flash a Silicon Labs Device](/matter/{build-docspace-version}/matter-references/flash-silabs-device). -For more information on how to flash your Silicon Labs development platform, see the following instructions: [How to Flash a Silicon Labs Device](/matter/{build-docspace-version}/matter-references/flash-silabs-device). +There are a few ways to flash a device using Simplicity Studio. + +1. [Flash from VS Code](/matter/{build-docspace-version}/matter-quick-start-demo/02-thread-quick-start-demo.md#step-3-flash-the-device) +2. Flash from Commander GUI: + 1. In Simplicity Studio, click **Tools**, click **Commander**, and then click **Open Tool**. + The stand-alone Commander GUI opens. + 2. Select the board, click **Flash**, and then click **Browse** to find the image file and flash it. + + ![Commander GUI](./resources/studio-6-commander-gui.png) + 2. This will open the stand alone Commander GUI. From here select the board and then click on the flash tab. Browse to the image file and flash it. + + ![Commander Flash](./resources/studio-6-commander-flash-tab.png) + +3. [Flash from Commander CLI](https://docs.silabs.com/simplicity-commander/latest/simplicity-commander-commands/device-flashing-commands) +4. [Flash using Simplicity Device Manager](https://docs.silabs.com/device-manager/latest/device-manager-work-in/devices) Once your Matter Accessory Device has been flashed, it should show a QR code on the LCD. If no QR Code is present, it may be that you need to add a bootloader to your device. Bootloader images are provided on the [Matter Artifacts page](/matter/{build-docspace-version}/matter-prerequisites/matter-artifacts). diff --git a/sld251-matter-thread/demo-overview.md b/sld251-matter-thread/demo-overview.md deleted file mode 100644 index dca95bb..0000000 --- a/sld251-matter-thread/demo-overview.md +++ /dev/null @@ -1,2 +0,0 @@ -# Matter over Thread Example - diff --git a/sld251-matter-thread/matter-rcp.md b/sld251-matter-thread/matter-rcp.md index f2a330a..118d50a 100644 --- a/sld251-matter-thread/matter-rcp.md +++ b/sld251-matter-thread/matter-rcp.md @@ -1,6 +1,6 @@ # How to Build and Flash the Radio Co-Processor (RCP) -The Radio Co-Processor is a 15.4 stack image flashed onto a Silicon Labs development kit or Thunderboard Sense 2. The 15.4 stack on the development kit communicates with the higher layers of the Thread stack running on the Raspberry Pi over a USB connection. +The Radio Co-Processor is a 15.4 stack image flashed onto a Silicon Labs development kit. The 15.4 stack on the development kit communicates with the higher layers of the Thread stack running on the Raspberry Pi over a USB connection. A complete list of supported hardware for the RCP is provided on the [Matter Hardware Requirements](/matter/{build-docspace-version}/matter-prerequisites/hardware-requirements) page. @@ -20,7 +20,11 @@ RCP image files for all demo boards are accessible through the [Matter Artifacts ### Building the Image File from Simplicity Studio -RCP Images can be built from Simplicity Studio. Select **File > New > Silicon Labs Project Wizard**, look through the **Example Projects**, and then select the **Openthread - RCP Project**. Once the project is generated, you can build and flash the RCP. You can follow along in the [Simplicity Studio Getting Started Guide](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-getting-started/start-a-project) for more information. +RCP Images can be built from Simplicity Studio. + +Click **Home**. Next to **Start a New Project**, click **all projects & demos**, look through the **Example Projects & Demos**, and then select the **OpenThread - RCP** project. + +Once the project is generated, you can build and flash the RCP. You can follow along in the [Light Switch Example](/matter/{build-docspace-version}/matter-light-switch-example/02-thread-light-switch-example.md#setting-up-the-matter-hub) for more information. ### Building the Image File from the ot-efr32 Repository @@ -63,7 +67,7 @@ The output of the build process puts all the image files in the following locati ## Step 2: Flash the RCP -Once you get the RCP image, either by downloading a prebuilt image or building the image file, you can flash it to your device. This is done directly from your laptop and not through the Raspberry Pi, so make sure that the device is connected directly over USB to your laptop. You can flash your RCP using Simplicity Studio or using standalone Simplicity Commander. +Once you get the RCP image, either by downloading a prebuilt image or building the image file, you can flash it to your device. This is done directly from your laptop and not through the Raspberry Pi, so make sure that the device is connected directly over USB to your laptop. You can flash your RCP using Simplicity Studio or using standalone Simplicity Commander (see [How to Build and Flash the Matter Accessory Device](/matter/{build-docspace-version}/matter-thread/build-flash-mad.md#step-2-flash-the-matter-accessory-device)). Once you have flashed the image, the device becomes the RCP. Disconnect it from you laptop and connect it via USB to the Raspberry Pi. diff --git a/sld251-matter-thread/matter-thread.md b/sld251-matter-thread/matter-thread.md deleted file mode 100644 index 4de752e..0000000 --- a/sld251-matter-thread/matter-thread.md +++ /dev/null @@ -1,3 +0,0 @@ -# Introduction - - diff --git a/sld251-matter-thread/resources/studio-6-commander-flash-tab.png b/sld251-matter-thread/resources/studio-6-commander-flash-tab.png new file mode 100644 index 0000000..04b89f4 Binary files /dev/null and b/sld251-matter-thread/resources/studio-6-commander-flash-tab.png differ diff --git a/sld251-matter-thread/resources/studio-6-commander-gui.png b/sld251-matter-thread/resources/studio-6-commander-gui.png new file mode 100644 index 0000000..0bf48bb Binary files /dev/null and b/sld251-matter-thread/resources/studio-6-commander-gui.png differ diff --git a/sld253-matter-wifi/images/wifi-9116-gpio-connections.png b/sld253-matter-wifi/images/wifi-9116-gpio-connections.png deleted file mode 100644 index 9907009..0000000 Binary files a/sld253-matter-wifi/images/wifi-9116-gpio-connections.png and /dev/null differ diff --git a/sld253-matter-wifi/images/wifi-9116-powermeter-wifimodule.png b/sld253-matter-wifi/images/wifi-9116-powermeter-wifimodule.png deleted file mode 100644 index 6becba3..0000000 Binary files a/sld253-matter-wifi/images/wifi-9116-powermeter-wifimodule.png and /dev/null differ diff --git a/sld253-matter-wifi/images/wifi-9116-powerprofiler.png b/sld253-matter-wifi/images/wifi-9116-powerprofiler.png deleted file mode 100644 index 0cfc4cf..0000000 Binary files a/sld253-matter-wifi/images/wifi-9116-powerprofiler.png and /dev/null differ diff --git a/sld290-matter-wifi-getting-started-example/getting-started-efx32-ncp.md b/sld290-matter-wifi-getting-started-example/getting-started-efx32-ncp.md index 2bb2035..5260209 100644 --- a/sld290-matter-wifi-getting-started-example/getting-started-efx32-ncp.md +++ b/sld290-matter-wifi-getting-started-example/getting-started-efx32-ncp.md @@ -15,9 +15,9 @@ The following hardware devices are required for executing Matter over Wi-Fi: - For Network Co-Processor (NCP) variants, - Silicon Labs EFR32 - is used as a host processor and, with the WF200, provides Bluetooth LE capabilities - Silicon Labs Wi-Fi Processor - - RS9116 development kit - WF200 expansion board - SiWx917 NCP expansion board + - **MG24 boards** - BRD4186C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@10dBm @@ -27,18 +27,10 @@ The following hardware devices are required for executing Matter over Wi-Fi: - [XG24-RB4187C](https://www.silabs.com/development-tools/wireless/xg24-rb4187c-efr32xg24-wireless-gecko-radio-board) - MG24 with WSTK : [xG24-PK6010A](https://www.silabs.com/development-tools/wireless/efr32xg24-pro-kit-20-dbm?tab=overview) - >**Note:** A custom board binary can also be generated. The configuration file `sl_spidrv_eusart_exp_config` for RS9116 and `sl_spidrv_exp_config` for 917NCP and WF200 should have the SPI pin and port defines enabled. The configuration file `sl_custom_board.h` contains the SPI pins, which should be updated according to the custom board's pin configuration. + >**Note**: A custom board binary can also be generated. The configuration file `sl_spidrv_exp_config` for 917NCP and WF200 should have the SPI pin and port defines enabled. The configuration file `sl_custom_board.h` contains the SPI pins, which should be updated according to the custom board's pin configuration. - **Wi-Fi Dev Kits & boards** - - **RS9116** - - SB-EVK1 / Single Band Wi-Fi Development Kit / 2.4GHz - - [RS9116X-SB-EVK1](https://www.silabs.com/development-tools/wireless/wi-fi/rs9116x-sb-evk-development-kit) - - SB-EVK2 / Single Band Wi-Fi Development Kit / 2.4GHz - - [RS9116X-SB-EVK2](https://www.silabs.com/development-tools/wireless/wi-fi/rs9116x-sb-evk2-development-kit) - - DB-EVK1 / Dual Band Wi-Fi Development Kit / 2.4GHz & 5GHz - - [RS9116X-DB-EVK1](https://www.silabs.com/development-tools/wireless/wi-fi/rs9116x-db-evk-development-kit) - **Note:** Matter is only supported over 2.4GHz on this Dev kit. - **SiWx917** - SiWx917 NCP Mode / Wi-Fi Expansion Board / 2.4GHz - BRD8045A (B0 Expansion v2.0) @@ -53,8 +45,6 @@ The following hardware devices are required for executing Matter over Wi-Fi: - Raspberry Pi with a >32 GB SD Card - Access Point with Internet Access - Interconnect board (included in the Wi-Fi kits) -- SPI Cable (included in the RS9116 kit) -- Jumper Cables (included in the RS9116 kit) ### Software Requirements @@ -71,10 +61,9 @@ Below are the software tools, packages, and images required for executing Matter ### Software Packages -- Simplicity SDK v2024.x +- Simplicity SDK v2025.x - WiSeConnect SDK - - For RS9116 use WiSeConnect SDK v2.x - - For SiWx917 use WiSeConnect SDK v3.x + - For SiWx917 use WiSeConnect SDK v4.x ### Firmware Images @@ -111,28 +100,35 @@ If Simplicity Studio does not detect the EFR32 radio board, try the following: This section describes how to create a project for the EFR32 boards. -1. In Simplicity Studio, click **Example Projects and Demos**, select a project, and click **Create**. +1. In Simplicity Studio, click **Matter**, under **Example Projects and Demos**, select a project, and click **Create**. + + ![Example Projects and Demos](images/studio-home-tab.png) + ![Example Projects and Demos](images/studio-create-project.jpeg) - ![Example Projects and Demos](images/create-project-select-efx-example.png) +2. In the Project Configuration window, after selecting the board, click **Next**. + - Set - + - Solution and Project Name. + - Select Target IDE. + - Click **Finish**. -2. In the New Project Wizard window, click **Finish**. + ![Finish project](images/studio-project-configuration.jpeg) - ![Finish project](images/create-project-click-finish.png) +3. Once the project is created, click the **Open in VS Code** option on the top right corner. + ![Open project in VS Code](images/studio-open-vscode.png) -3. Once the project is created, right-click the project and select **Build Project** in the Project Explorer tab. +4. In VS Code, click the Studio Extension on the left panel and select **Build** option (Hammer Icon) in the Workspace tab. - ![Project Created](images/project-created-efx32.png) + ![Project Created](images/vscode-build-flash.png) -4. Once the project is compiled successfully, go to the Project Explorer view and expand the binaries folder to flash the binary. +4. Once the project is compiled successfully, the binaries can be flashed either using the **Simplicity Commander** from the tools or using the **Flash** option beside the **Build**. - ![Binaries folder](images/select-binary-to-flash-efx32.png) + ![Flash Project](images/vscode-flash.jpeg) -5. Right-click the selected *.s37* binary and click **Flash to Device**. +5. When using Commander, select the kit and click on the **Flash** option in the left panel. Click on **Erase chip**. - ![Flash to Device](images/siwx917-soc-flashtodevice.png) +6. Select the path for the project's *.s37* binary and click **Flash**. -6. The Flash programmer window opens. Click **Erase** and then **Program** to start flashing. + ![Flash to Device](images/commander-flash-project.png) - ![Flash binary](images/flash-binary-to-efx32-device.png) **Note:** Output of the EFR32 NCP Host application will be displayed on the J-Link RTT Viewer. diff --git a/sld290-matter-wifi-getting-started-example/getting-started-siwx917-rcp.md b/sld290-matter-wifi-getting-started-example/getting-started-siwx917-rcp.md index c7bf58d..283f330 100644 --- a/sld290-matter-wifi-getting-started-example/getting-started-siwx917-rcp.md +++ b/sld290-matter-wifi-getting-started-example/getting-started-siwx917-rcp.md @@ -139,4 +139,4 @@ The following hardware devices are required for this example: $ ./chip-tool onoff on 1 ``` -For more information about the RCP documentation, refer to the [RCP driver documentation]( https://docs.silabs.com/wifi91xrcp/2.10.1/wifi91xrcp-getting-started/). +For more information about the RCP documentation, refer to the [RCP driver documentation]( https://docs.silabs.com/wifi91xrcp/latest/wifi91xrcp-getting-started/). diff --git a/sld290-matter-wifi-getting-started-example/getting-started-with-soc.md b/sld290-matter-wifi-getting-started-example/getting-started-with-soc.md index 4479df2..002b4af 100644 --- a/sld290-matter-wifi-getting-started-example/getting-started-with-soc.md +++ b/sld290-matter-wifi-getting-started-example/getting-started-with-soc.md @@ -36,8 +36,8 @@ Below are the software tools, packages, and images required for executing Matter ### Software Packages -- Simplicity SDK v2024.x -- WiSeConnect SDK v3.x +- Simplicity SDK v2025.x +- WiSeConnect SDK v4.x ### Firmware Images @@ -68,52 +68,36 @@ If Simplicity Studio does not detect the SiWx917 SoC board, try the following: ## Building the 917 SoC Matter Accessory Devices Using Simplicity Studio -In Simplicity Studio 5, create the Light Matter Accessory Devices (MAD): +In Simplicity Studio 6, create the Light Matter Accessory Devices (MAD): -1. [Download](https://www.silabs.com/developers/simplicity-studio) and Install Simplicity Studio 5. -2. To install the software packages for Simplicity Studio, refer to the [Software Package Installation Section](/matter/{build-docspace-version}/matter-wifi-getting-started-example/software-installation#installation-of-software-packages). -3. Switch to the Launcher view (if not already in it). +1. In Simplicity Studio, click on **Matter**, under **Example Projects and Demos**, select a project, and click **Create**. - ![SoC Launcher tab](./images/siwx917-soc-launcher-tab.png) + ![Example Projects and Demos](images/studio-home-tab.png) + ![Example Projects and Demos](images/studio-create-project.jpeg) -4. Go to **All Products** in the Launcher tab, and select one compatible board from the following list of supported SiWx917 SOC dev boards. +2. In the Project Configuration window, Select the board and click **Next**. + ![Select Board](images/studio-select-board.png) + - Set - + - Solution and Project Name. + - Select Target IDE. + - Click **Finish**. + + ![Finish project](images/studio-project-configuration.jpeg) - - BRD4338A (Common Flash) +3. Once the project is created, click the **Open in VS Code** option on the top right corner. + ![Open project in VS Code](images/studio-open-vscode.png) - ![SoC board selection](images/siwx917-soc-boardselection.png) +4. In VS Code, click the Studio Extension on the left panel and select **Build** option (Hammer Icon) in the Workspace tab. -5. Once the board shows up in the Debug Adapters view, select it. + ![Project Created](images/vscode-build-flash.png) - ![SoC debug adapter](images/siwx917-soc-debugadapter.png) +4. Once the project is compiled successfully, the binaries can be flashed either using the **Simplicity Commander** from the tools or using the **Flash** option beside the **Build**. -6. Open the Example Projects and Demos tab, select the **Matter** filter, and enter *Wi-Fi* in **Filter on keywords**. Click **CREATE**. + ![Flash Project](images/vscode-flash.jpeg) - ![Create project](images/siwx917-soc-create-wifiprojects.png) +5. When using Commander, select the kit and click the **Flash** option in the left panel. Click **Erase chip**. -7. Optionally rename the project, and click **Finish**. +6. Select the path for the project's *.s37* binary and click **Flash**. - ![Project wizard](images/siwx917-soc-projectwizard.png) - -8. Once the project is created, right-click the project and select **Build Project** in the Project Explorer tab. - - ![Build project](images/siwx917-soc-build-wifiproject.png) - -9. To flash the application, connect the compatible dev board to the PC if not yet done. -10. Once the project is compiled successfully, go to the Project Explorer view and select the binary to be flashed. - - ![binary selection](images/siwx917-soc-isp-binaryselection.png) - -11. Right-click the selected *_isp.bin* binary and click **Flash to Device**. - - ![Flash to device](images/siwx917-soc-flashtodevice.png) - -12. The Flash programmer window opens. Click **Program** to start flashing. - - ![Flash program window](images/siwx917-soc-flashprogram.png) - - **Note:** Output of the SiWX917 SoC application will be displayed on the J-Link RTT Viewer. - -13. In order to debug your Matter application, right-click the selected **Matter Project** and click **Debug As**. - - ![Debug](images/siwx917-socdebug.png) + ![Flash to Device](images/commander-flash-project.png) diff --git a/sld290-matter-wifi-getting-started-example/images/add-extension-button.png b/sld290-matter-wifi-getting-started-example/images/add-extension-button.png new file mode 100644 index 0000000..ce1261c Binary files /dev/null and b/sld290-matter-wifi-getting-started-example/images/add-extension-button.png differ diff --git a/sld290-matter-wifi-getting-started-example/images/add-extension-path.png b/sld290-matter-wifi-getting-started-example/images/add-extension-path.png new file mode 100644 index 0000000..db227ca Binary files /dev/null and b/sld290-matter-wifi-getting-started-example/images/add-extension-path.png differ diff --git a/sld290-matter-wifi-getting-started-example/images/add-sdk-button.png b/sld290-matter-wifi-getting-started-example/images/add-sdk-button.png index 076d8dc..b06d936 100644 Binary files a/sld290-matter-wifi-getting-started-example/images/add-sdk-button.png and b/sld290-matter-wifi-getting-started-example/images/add-sdk-button.png differ diff --git a/sld290-matter-wifi-getting-started-example/images/add-the-sdk-path.png b/sld290-matter-wifi-getting-started-example/images/add-the-sdk-path.png index 1bea8b8..9fedc8a 100644 Binary files a/sld290-matter-wifi-getting-started-example/images/add-the-sdk-path.png and b/sld290-matter-wifi-getting-started-example/images/add-the-sdk-path.png differ diff --git a/sld290-matter-wifi-getting-started-example/images/commander-flash-project.png b/sld290-matter-wifi-getting-started-example/images/commander-flash-project.png new file mode 100644 index 0000000..9da63d9 Binary files /dev/null and b/sld290-matter-wifi-getting-started-example/images/commander-flash-project.png differ diff --git a/sld290-matter-wifi-getting-started-example/images/simplicity-installer.png b/sld290-matter-wifi-getting-started-example/images/simplicity-installer.png new file mode 100644 index 0000000..35511a5 Binary files /dev/null and b/sld290-matter-wifi-getting-started-example/images/simplicity-installer.png differ diff --git a/sld290-matter-wifi-getting-started-example/images/sisdk-trust-popup.png b/sld290-matter-wifi-getting-started-example/images/sisdk-trust-popup.png new file mode 100644 index 0000000..bffd014 Binary files /dev/null and b/sld290-matter-wifi-getting-started-example/images/sisdk-trust-popup.png differ diff --git a/sld290-matter-wifi-getting-started-example/images/studio-create-project.jpeg b/sld290-matter-wifi-getting-started-example/images/studio-create-project.jpeg new file mode 100644 index 0000000..5b58cc1 Binary files /dev/null and b/sld290-matter-wifi-getting-started-example/images/studio-create-project.jpeg differ diff --git a/sld290-matter-wifi-getting-started-example/images/studio-home-tab.png b/sld290-matter-wifi-getting-started-example/images/studio-home-tab.png new file mode 100644 index 0000000..9fcc465 Binary files /dev/null and b/sld290-matter-wifi-getting-started-example/images/studio-home-tab.png differ diff --git a/sld290-matter-wifi-getting-started-example/images/studio-installation-wizard.png b/sld290-matter-wifi-getting-started-example/images/studio-installation-wizard.png new file mode 100644 index 0000000..02c6928 Binary files /dev/null and b/sld290-matter-wifi-getting-started-example/images/studio-installation-wizard.png differ diff --git a/sld290-matter-wifi-getting-started-example/images/studio-open-vscode.png b/sld290-matter-wifi-getting-started-example/images/studio-open-vscode.png new file mode 100644 index 0000000..646cdc2 Binary files /dev/null and b/sld290-matter-wifi-getting-started-example/images/studio-open-vscode.png differ diff --git a/sld290-matter-wifi-getting-started-example/images/studio-project-configuration.jpeg b/sld290-matter-wifi-getting-started-example/images/studio-project-configuration.jpeg new file mode 100644 index 0000000..d850220 Binary files /dev/null and b/sld290-matter-wifi-getting-started-example/images/studio-project-configuration.jpeg differ diff --git a/sld290-matter-wifi-getting-started-example/images/studio-sdk-install.png b/sld290-matter-wifi-getting-started-example/images/studio-sdk-install.png new file mode 100644 index 0000000..074fb88 Binary files /dev/null and b/sld290-matter-wifi-getting-started-example/images/studio-sdk-install.png differ diff --git a/sld290-matter-wifi-getting-started-example/images/studio-select-board.png b/sld290-matter-wifi-getting-started-example/images/studio-select-board.png new file mode 100644 index 0000000..c88f00b Binary files /dev/null and b/sld290-matter-wifi-getting-started-example/images/studio-select-board.png differ diff --git a/sld290-matter-wifi-getting-started-example/images/studio-sisdk-install.png b/sld290-matter-wifi-getting-started-example/images/studio-sisdk-install.png new file mode 100644 index 0000000..2b4f596 Binary files /dev/null and b/sld290-matter-wifi-getting-started-example/images/studio-sisdk-install.png differ diff --git a/sld290-matter-wifi-getting-started-example/images/studio-wcsdk-install.png b/sld290-matter-wifi-getting-started-example/images/studio-wcsdk-install.png new file mode 100644 index 0000000..1534c07 Binary files /dev/null and b/sld290-matter-wifi-getting-started-example/images/studio-wcsdk-install.png differ diff --git a/sld290-matter-wifi-getting-started-example/images/vscode-build-flash.png b/sld290-matter-wifi-getting-started-example/images/vscode-build-flash.png new file mode 100644 index 0000000..8c237b2 Binary files /dev/null and b/sld290-matter-wifi-getting-started-example/images/vscode-build-flash.png differ diff --git a/sld290-matter-wifi-getting-started-example/images/vscode-flash.jpeg b/sld290-matter-wifi-getting-started-example/images/vscode-flash.jpeg new file mode 100644 index 0000000..72baa0d Binary files /dev/null and b/sld290-matter-wifi-getting-started-example/images/vscode-flash.jpeg differ diff --git a/sld290-matter-wifi-getting-started-example/images/wcsdk-trust-popup.png b/sld290-matter-wifi-getting-started-example/images/wcsdk-trust-popup.png new file mode 100644 index 0000000..7dd7c49 Binary files /dev/null and b/sld290-matter-wifi-getting-started-example/images/wcsdk-trust-popup.png differ diff --git a/sld290-matter-wifi-getting-started-example/images/wifi-9116-gpio-connections.png b/sld290-matter-wifi-getting-started-example/images/wifi-9116-gpio-connections.png deleted file mode 100644 index 9907009..0000000 Binary files a/sld290-matter-wifi-getting-started-example/images/wifi-9116-gpio-connections.png and /dev/null differ diff --git a/sld290-matter-wifi-getting-started-example/images/wifi-9116-powermeter-wifimodule.png b/sld290-matter-wifi-getting-started-example/images/wifi-9116-powermeter-wifimodule.png deleted file mode 100644 index 6becba3..0000000 Binary files a/sld290-matter-wifi-getting-started-example/images/wifi-9116-powermeter-wifimodule.png and /dev/null differ diff --git a/sld290-matter-wifi-getting-started-example/images/wifi-9116-powerprofiler.png b/sld290-matter-wifi-getting-started-example/images/wifi-9116-powerprofiler.png deleted file mode 100644 index 0cfc4cf..0000000 Binary files a/sld290-matter-wifi-getting-started-example/images/wifi-9116-powerprofiler.png and /dev/null differ diff --git a/sld290-matter-wifi-getting-started-example/index.md b/sld290-matter-wifi-getting-started-example/index.md index 04be159..0c8a1dc 100644 --- a/sld290-matter-wifi-getting-started-example/index.md +++ b/sld290-matter-wifi-getting-started-example/index.md @@ -8,7 +8,7 @@ To get started with Matter over Wi-Fi, download the latest version of Simplicity ## Setting up the Matter over Wi-Fi Development Environment -Refer to the [Release Notes](https://github.com/SiliconLabs/matter_extension/releases/tag/v2.6.1) to know more about the latest releases from Silicon Labs. +Refer to the [Release Notes](https://github.com/SiliconLabs/matter_extension/releases/tag/v2.8.0) to know more about the latest releases from Silicon Labs. To control the Matter Accessory Device, a controller is required which is termed as **chip-tool**. The chip-tool can be set up in two ways: diff --git a/sld290-matter-wifi-getting-started-example/software-installation.md b/sld290-matter-wifi-getting-started-example/software-installation.md index 5b6bdc8..b9683b7 100644 --- a/sld290-matter-wifi-getting-started-example/software-installation.md +++ b/sld290-matter-wifi-getting-started-example/software-installation.md @@ -21,143 +21,133 @@ These are the generic software tools required for both NCP and SoC devices. The following packages will be installed during the installation of Simplicity Studio: -### Gecko SDK Extension +### Simplicity SDK Extension -If you already selected the Gecko SDK extension while installing Studio, you may skip this section. You may install Gecko SDK by following these steps: +While installing Simplicity Studio, the Simplicity Installer by default installs the latest Simplicity SDK and extensions. -- Installation Manager (recommended) -- Manage SDKs Window +>**Note:** Version numbers mentioned in the screenshots might be outdated. Install the latest packages available with the studio. -**Note:** Version numbers mentioned in the screenshot might be outdated. Install the latest packages available with the studio. +#### Install Simplicity SDK Through the Simplicity Installer -#### Install Gecko SDK Through the Installation Manager +- **Using Package Manager:** + 1. In the Simplicity Studio home page, select **Packages** from the left panel. The Simplicity Installer will open. -1. Log in to Simplicity Studio. + 2. Select the **Package Manager** option. + + ![Manage installed packages](images/simplicity-installer.png) -2. In the Simplicity Studio home page, select **Install > Manage installed packages**. -![Manage installed packages](images/install-gecko-sdk-step-1.png) + 3. Select the **Simplicity SDKs** option in the left panel and click **Add new SDK**. Ensure to check the Simplicity SDK, Matter Extension and WiseConnect boxes. + + ![Installation step 2](images/studio-sdk-install.png) -3. Select the **SDKs** tab. +- **Using Installation Wizard:** + 1. In the Simplicity Studio home page, select **Packages** from the left panel. The Simplicity Installer will open. -4. Next to the Gecko SDK version, click the three dots button. -![Installation step 2](images/install-gecko-sdk-step-2.png) + 2. Select the **Installation Wizard** option. + + ![Manage installed packages](images/simplicity-installer.png) -5. Select **Change Version** and select **New Version** from the dropdown to install, and click **Finish**. -![Installation step 3](images/install-gecko-sdk-step-3.png) + 3. Click **Advanced**. -#### Install the Gecko SDK Through the "Manage SDK" Window + ![Installation Wizard](images/studio-installation-wizard.png) -1. Download the Gecko SDK v4.x source code from the following URL after substituting 4.x.x with the desired release version: + 4. From the list, select the **Simplicity SDK** version you want to install. + 5. Check the checkbox at the bottom for Terms of Service and License Agreement. - [https://github.com/SiliconLabs/gecko_sdk.git](https://github.com/SiliconLabs/gecko_sdk.git) + ![Simplicity SDK Installation](images/studio-sisdk-install.png) - If you don't know the release version, go to the GitHub releases page and select the version to download. + 6. Click **Install** to begin the installation. + +#### Install the Simplicity SDK Through the "Manage SDK" Window -2. Unzip the downloaded Gecko SDK-4.x.x.zip file. +1. Download the Simplicity SDK v2025.x source code from the following URL after substituting 2025.x with the desired release version: -3. Launch Simplicity Studio and log in. + [https://github.com/SiliconLabs/simplicity_sdk.git](https://github.com/SiliconLabs/simplicity_sdk) -4. In the **Debug Adapters** panel, select the radio board. + If you don't know the release version, go to the GitHub releases page and select the version to download. -5. In the **General Information** section, click **Manage SDKs**. +2. Unzip the downloaded Simplicity SDK zip file. - ![Manage SDKs](images/click-manage-sdks-efx-board.png) +3. Launch Simplicity Studio. -6. The Preferences window will be opened in the SDKs section. +4. In the **Settings** panel, select **SDKs**. -7. Select **Add SDK**. +5. Select **Add SDK**. ![Add SDK](images/add-sdk-button.png) -8. In the **Add SDK Extensions** window, click **Browse**. - - ![Browse](images/click-browse.png) +6. In the **Add SDK** window, click **Browse**. -9. Locate and select the Gecko SDK sub-folder extracted in step 2 above, which contains the source code. +7. Locate and select the Simplicity SDK sub-folder extracted in step 2 above, which contains the source code. -10. Studio will detect the Gecko SDK extension. +8. Studio will detect the Simplicity SDK extension. -11. Select the detected extension and click **OK**. +9. Select the detected extension and click **Finish**. ![Add SDK path](images/add-the-sdk-path.png) -12. If a **Verify SDK Extension** popup is displayed, click **Trust**. - - ![Trust pop-up](images/install-wiseconnect-3-ext-manage-sdks-trust-popup.png) - -13. The selected SiSDK extension will be displayed. - - ![Selected SiSDK](images/selected-gsdk.png) - -14. Click **Apply** and **Close**. +10. If a **Verify SDK** popup is displayed, click **Trust**. -### Install WiSeConnect SDK v2.x or v3.x Extension + ![Trust pop-up](images/sisdk-trust-popup.png) -If you already selected the WiSeConnect extension while installing SImplicity Studio, you may skip this section. +11. The selected SiSDK extension will be displayed. -Before installing the WiSeConnect SDK v2.x or v3.x extension, if necessary, upgrade to a compatible SiSDK version by following the steps above. +### Install WiSeConnect SDK v4.x Extension -Install WiSeConnect SDK v2.x or v3.x through one of the following alternative paths: +If you already selected the WiSeConnect extension while installing Simplicity Studio, you may skip this section. -- Installation Manager (recommended) -- Manage SDKs Window +Before installing the WiSeConnect SDK v4.x extension, if necessary, upgrade to a compatible SiSDK version by following the steps above. -#### Install WiSeConnect SDK Through the Installation Manager +Install WiSeConnect SDK v4.x extension through Installation Manager. -1. Log in to Simplicity Studio if not already done. +#### Install WiSeConnect SDK Through the Simplicity Installer +1. In the Simplicity Studio home page, select **Packages** from the left panel. The Simplicity Installer will open. -2. In the Simplicity Studio home page, select **Install > Manage installed packages**. +2. Select the **Installation Wizard** option. + + ![Manage installed packages](images/simplicity-installer.png) - ![WiseConnect step1](images/install-wiseconnect-sdk-step-1.png) +3. Click **Advanced**. + + ![Installation Wizard](images/studio-installation-wizard.png) -3. Select the **SDKs** tab. +4. From the list, select the **WiseConnect SDK** version you want to install. +5. Check the checkbox at the bottom for Terms of Service and License Agreement. + + ![Simplicity SDK Installation](images/studio-wcsdk-install.png) -4. Next to the WiSeConnect SDK v2.x or v3.x extension, click **Install**. - - ![WiseConnect step2](images/install-wiseconnect-sdk-step-2.png) +6. Click **Install** to begin the installation. #### Install WiSeConnect SDK Through the Manage SDKs Window -1. Download the WiSeConnect v3.x source code from the following URL after substituting 3.x.x with the desired release version: +1. Download the WiSeConnect v4.x source code from the following URL after substituting 4.x.x with the desired release version: - [https://github.com/SiliconLabs/wiseconnect/archive/refs/tags/v3.x.x.zip](https://github.com/SiliconLabs/wiseconnect/archive/refs/tags/v3.x.x.zip) + [https://github.com/SiliconLabs/wiseconnect.git](https://github.com/SiliconLabs/wiseconnect) If you don't know the release version, go to the GitHub releases page and select the version to download. -2. Unzip the downloaded wiseconnect-3.x.x.zip file. - -3. Launch Simplicity Studio and log in. - -4. In the **Debug Adapters** pane, select your radio board. - -5. In the **General Information** section, click **Manage SDKs**. - - ![Manage SDKs](images/click-manage-sdks-efx-board.png) - -6. The **Preferences** window will be opened in the **SDKs** section. - -7. Select Gecko SDK Suite vx.x.x and click **Add Extension**. +2. Unzip the downloaded wiseconnect zip file. - ![Add Extension](images/click-add-extensions.png) +3. Launch Simplicity Studio. -8. In the Add SDK Extensions window, click **Browse**. +4. In the **Settings** panel, select **SDKs**. - ![Browse](images/click-browse.png) +5. Select the SDK where you want to add the Extension. Click **Add Extension**. -9. Locate and select the WiSeConnect SDK v2.x or v3.x sub-folder extracted in step 2 above, which contains the source code. + ![Add SDK](images/add-extension-button.png) -10. Studio will detect the WiSeConnect 3 SDK extension. +6. In the **Add SDK Extension** window, click **Browse**. -11. Select the detected extension and click **OK**. +7. Locate and select the WiseConnect SDK sub-folder extracted in step 2 above, which contains the source code. - ![Add extension](images/install-wc3-ext-add-sdk-extensions-window.png) +8. Studio will detect the WiseConnect SDK extension. -12. If a Verify SDK Extension popup is displayed, click **Trust**. +9. Select the detected extension and click **Finish**. - ![Trust pop up](images/install-wiseconnect-3-ext-manage-sdks-trust-popup.png) + ![Add SDK path](images/add-extension-path.png) -13. The selected WiSeConnect SDK v2.x or v3.x extension will be displayed. +10. If a **Verify SDK** popup is displayed, click **Trust**. - ![Extension displays](images/selected-sdk.png) + ![Trust pop-up](images/wcsdk-trust-popup.png) -14. Click **Apply and Close**. +11. The selected SiSDK extension will be displayed. \ No newline at end of file diff --git a/sld291-matter-wifi-run-demo/application-debug.md b/sld291-matter-wifi-run-demo/application-debug.md index 968c58d..7dc50f0 100644 --- a/sld291-matter-wifi-run-demo/application-debug.md +++ b/sld291-matter-wifi-run-demo/application-debug.md @@ -1,29 +1,38 @@ # Debug the Application -1. In the Project Explorer pane, select the project name. - -2. To Enable GNU Debugger, select **Preferences** in the **Launcher** tab. - -3. Expand the **Simplicity Studio** tab, and click **Debuggers**. Select **GNU Debugger** and click **Apply and Close**. - - ![Select GNU Debugger](./images/enable-gnu-debugger.png) - -4. From the menu bar, select **Run > Debug As > 1 Silicon Labs ARM Program**. - - ![Switch to debug mode](./images/debug-application-switch-to-debug-mode.png) - -5. Simplicity Studio will switch to debug mode and halt execution at the main() function in your application. - -6. Add a break point in the desired location of the code, and click the **Resume** button (having an icon with a rectangular bar and play button). - -7. Execution will halt at the break point. - -8. Use the following debug functions to direct the execution of the code: - - - Step In button (having an icon with a arrow pointing between two dots). - - Step Over button (having an icon with an arrow going over a dot). - - Step Out button (having an icon with an arrow pointing out from between two dots). - - ![Debug options](./images/debug-application-debug-options.png) - -9. View the standard output or enter input data as needed. +1. In the VS Code Extension, click the **Debug** icon beside your Project Name in Workspace. + + ![VS Code Debug Icon](./images/vscode-debug-icon.png) + +2. When the debug section starts successfully, the **Run and Debug** view displays. Click **Start Debugging** icon. + + ![Start Debugging Session](./images/vscode-start-debug.png) + +3. When starting a debug session for the first time, you’ll be prompted to choose one of two startup modes: Run Directly (default) or Device Reset. + + ![Select Debug Type](./images/vscode-select-debug.png) + +4. The debug session will start and it will halt execution at the main() function in your application. + +5. Add a break point in the desired location of the code using the yellow arrow beside line number, and click the **Continue** button (having an icon with a bar and play button). + + ![Adding Breakpoint](./images/vscode-debug-breakpoint.png) + +6. Execution will halt at the break point. + +7. Use the following debug functions to direct the execution of the code: + + ![Debug options](./images/vscode-debug-options.png) + + | # | Option Name | Description | + |----|----------------------|-----------------------------------------------------------------| + | 1 | **Restart** | Restarts the debug session. | + | 2 | **Continue** | Resumes program execution. | + | 3 | **Step Over** | Executes next line, skips functions. | + | 4 | **Step Into** | Steps into function calls. | + | 5 | **Step Out** | Exits current function scope. | + | 6 | **Reset Device** | Resets the target hardware. | + | 7 | **Stop** | Terminates debugging session. | + | 8 | **Select Instance** | Switch between instances when running multiple debug instances. | + +> **Note:** For more detailed documentation, refer to [Studio VS Code Extension Docs](https://docs.silabs.com/ss-vscode/latest/ss-vscode-getting-started-overview/explore-vscode-extension). diff --git a/sld291-matter-wifi-run-demo/build-efx32-application-using-studio.md b/sld291-matter-wifi-run-demo/build-efx32-application-using-studio.md index a86c5fe..71e80c8 100644 --- a/sld291-matter-wifi-run-demo/build-efx32-application-using-studio.md +++ b/sld291-matter-wifi-run-demo/build-efx32-application-using-studio.md @@ -6,53 +6,33 @@ This page provides a detailed description on how to create a Wi-Fi NCP project f 2. To install the software packages for Simplicity Studio, refer to [Software Package Installation](/matter/{build-docspace-version}/matter-prerequisites/software-requirements#installation-of-software-packages). -3. Log in to Simplicity Studio and connect the EFR32 WSTK board to the computer. +3. In Simplicity Studio, click **Matter**, under **Example Projects and Demos**, select a project, and click **Create**. -4. Go to the **All Products** section. + ![Example Projects and Demos](images/studio-home-tab.png) + ![Example Projects and Demos](images/studio-create-project.jpeg) - ![All Products](images/ncp-all-products.png) +4. In the Project Configuration window, after selecting the board, click **Next**. + - Set - + - Solution and Project Name. + - Select Target IDE. + - Click **Finish**. -5. Search and select the radio board from the displayed list and select **Start**. + ![Finish project](images/studio-project-configuration.jpeg) - ![Select the radio board](images/ncp-board-selection.png) +5. Once the project is created, click the **Open in VS Code** option on the top right corner. + ![Open project in VS Code](images/studio-open-vscode.png) -6. The Launcher page will display the selected radio board's details. +6. In VS Code, click the Studio Extension on the left panel and select **Build** option (Hammer Icon) in the Workspace tab. - ![Overview tab](images/overview-tab-efx32.png) + ![Project Created](images/vscode-build-flash.png) -7. Verify the following in the General Information section: +7. Once the project is compiled successfully, the binaries can be flashed either using the **Simplicity Commander** from the tools or using the **Flash** option beside the **Build**. - - The Debug Mode is Onboard Device (MCU). - - The Preferred SDK is the version you selected earlier. + ![Flash Project](images/vscode-flash.jpeg) - ![Verify SDK](images/create-project-verify-efx-general-information.png) +8. When using Commander, select the kit and click the **Flash** option in the left panel. Click **Erase chip**. -8. Open the **Example Projects and Demos** tab, select a project, and click **Create Project**. +9. Select the path for the project's *.s37* binary and click **Flash**. - ![Create Project](images/ncp-proj-create.png) + ![Flash to Device](images/commander-flash-project.png) -9. In the New Project Wizard window, click **Finish**. - - ![Finish project](images/ncp-proj-config.png) - -10. If you are creating an application for a BRD4357a NCP board, open the project slcp file, and then select **Software Components**, search for "siwx917 NCP Extension", and click **Install**. - - ![Install software component](images/ncp-brd4357a-component.png) - -11. Once the solution is created, right-click the project and select **Build Project** in the Project Explorer tab. - - ![Build project](images/ncp-build-proj.png) - -12. Once the project is compiled successfully, go to the Project Explorer view and expand the binaries folder to flash the binary. - - ![Select binary](images/ncp-binary-selection.png) - -13. Right-click the selected '.s37' binary and click **flash to device**. - - ![flash to device](images/ncp-flash-binary.png) - -14. The Flash programmer window opens. Click **Erase** and then **Program** to start flashing. - - ![Flash binary](images/ncp-flash-binary-efr32.png) - ->**Note:** Output of the EFR32 NCP Host application will be displayed on the J-Link RTT Viewer. diff --git a/sld291-matter-wifi-run-demo/build-soc-application-using-studio.md b/sld291-matter-wifi-run-demo/build-soc-application-using-studio.md index 3be6be0..d096793 100644 --- a/sld291-matter-wifi-run-demo/build-soc-application-using-studio.md +++ b/sld291-matter-wifi-run-demo/build-soc-application-using-studio.md @@ -1,57 +1,34 @@ # Building the 917 SoC Matter Accessory Devices (MADs) using Simplicity Studio -In Simplicity Studio 5, create the Light MAD: +In Simplicity Studio 6, create the Light MAD: -1. [Download](https://www.silabs.com/developers/simplicity-studio) and Install Simplicity Studio 5. -2. To install the software packages for Simplicity Studio, refer to the [Software Package Installation section](/matter/{build-docspace-version}/matter-wifi-getting-started-example/software-installation#installation-of-software-packages). +1. In Simplicity Studio, click **Matter**, under **Example Projects and Demos**, select a project, and click **Create**. -3. Switch to the Launcher view (if not already in it). + ![Example Projects and Demos](images/studio-home-tab.png) + ![Example Projects and Demos](images/studio-create-project.jpeg) - ![Silicon Labs - design](images/siwx917-launcher.png) +2. In the Project Configuration window, Select the board and click **Next**. + ![Select Board](images/studio-select-board.png) + - Set - + - Solution and Project Name. + - Select Target IDE. + - Click **Finish**. -4. Go to **All Products** in the **Launcher** tab and select a compatible board from the supported SiWx917 SOC dev boards. + ![Finish project](images/studio-project-configuration.jpeg) - ```shell - BRD4338A (Common Flash) - ``` +3. Once the project is created, click the **Open in VS Code** option on the top right corner. + ![Open project in VS Code](images/studio-open-vscode.png) - ![Silicon Labs - design](images/siwx917-board.png) +4. In VS Code, click the Studio Extension on the left panel and select **Build** option (Hammer Icon) in the Workspace tab. -5. Once it shows up in the **Debug Adapters** view, select it. + ![Project Created](images/vscode-build-flash.png) - ![Silicon Labs - design](images/siwx917-soc-debugadapter.png) +5. Once the project is compiled successfully, the binaries can be flashed either using the **Simplicity Commander** from the tools or using the **Flash** option beside the **Build**. -6. Open the **Example Projects and Demos** tab, select the **Matter** filter, and enter _Wi-Fi_ in **Filter on keywords** and click **CREATE**. + ![Flash Project](images/vscode-flash.jpeg) - ![Silicon Labs - design](images/siwx917-project-create.png) +6. When using Commander, select the kit and click the **Flash** option in the left panel. Click **Erase chip**. -7. Rename the Project Name if you wish, and click **Finish**. +7. Select the path for the project's *.rps* binary and click **Flash**. - ![Silicon Labs - design](images/siwx917-proj-config.png) - -8. Once the project is created, right-click on the project and select **Build Project** in the **Project Explorer** tab. - - ![Silicon Labs - design](images/siwx917-build-proj.png) - -9. To flash the application, connect the compatible dev board to the machine or PC if not yet done. - -10. Once the project is compiled successfully, go to the Project Explorer view and select the binary to be flashed. - - ![Silicon Labs - design](images/siwx917-binary-selection.png) - -11. Right-click the selected _\_isp.bin_ or _.rps_ binary file and click on **Flash to Device**. - - ![Silicon Labs - design](images/siwx917-flash.png) - - **Note**: SiWX917 SoC device will support both **\_isp.bin** and **.rps** file format to flash. - Users must not use **.s37** files for flashing. - -12. The Flash programmer window will open. Click the **Program** button to start the flashing. - - ![Silicon Labs - design](images/siwx917-flash-programmer.png) - - **Note**: Output of the SiWX917 SoC application will be displayed on the J-Link RTT Viewer. - -13. In order to debug Matter Application, right-click the selected _\_isp.bin_ binary and click on **Debug As**. - - ![Silicon Labs - design](images/siwx917-debug-page.png) + ![Flash to Device](images/commander-flash-project.png) \ No newline at end of file diff --git a/sld291-matter-wifi-run-demo/flashing-using-commander.md b/sld291-matter-wifi-run-demo/flashing-using-commander.md index 04f5dcd..2dda8bf 100644 --- a/sld291-matter-wifi-run-demo/flashing-using-commander.md +++ b/sld291-matter-wifi-run-demo/flashing-using-commander.md @@ -5,10 +5,9 @@ To flash the application for EFR32 and SiWx917 SoC Board Simplicity Commander so Before flashing the application for EFR32 Boards, flash **bootloader images** as per board variants: - **BRD4186C Board** - - For MG24 + RS9116: Internal Bootloader (bootloader-storage-internal-single-512k-BRD4186C-gsdk4.1) - For MG24 + WF200: External Bootloader (bootloader-storage-spiflash-single-1024k-BRD4186C-gsdk4.1) + - **BRD4187C Board** - - For MG24 + RS9116: Internal Bootloader (bootloader-storage-internal-single-512k-BRD4187C-gsdk4.1) - For MG24 + WF200: External Bootloader (bootloader-storage-spiflash-single-1024k-BRD4187C-gsdk4.1) Bootloader binaries are available in the respective path of codebase **third_party/silabs/matter_support/matter/efr32/bootloader_binaries** folder. Silicon Labs recommends always flashing the latest bootloader binaries from the codebase. @@ -19,9 +18,9 @@ Bootloader binaries are available in the respective path of codebase **third_par 1. On the Simplicity Studio home page, click **Tools**. -2. In the Tools dialog, select **Simplicity Commander** and click **OK**. +2. In the Tools tab, select **Commander** and click **Open Tool**. - ![Select Commander](./images/select-commander.png) + ![Select Commander](./images/studio-tools-commander.png) 3. In the Simplicity Commander window, click **Select Kit** and choose your radio board. @@ -41,9 +40,9 @@ Bootloader binaries are available in the respective path of codebase **third_par 1. On the Simplicity Studio home page, click **Tools**. -2. In the **Tools** dialog, select **Simplicity Commander** and click **OK**. +2. In the Tools tab, select **Commander** and click **Open Tool**. - ![Select Commander](./images/select-commander.png) + ![Select Commander](./images/studio-tools-commander.png) 3. In the Simplicity Commander window, click **Select Kit** and choose your radio board. @@ -83,9 +82,9 @@ SiWx917 SoC device support is available in the latest [Simplicity Commander](htt 5. On the Simplicity Studio home page, click **Tools**. -6. In the Tools dialog, select **Simplicity Commander** and click **OK**. +6. In the Tools tab, select **Commander** and click **Open Tool**. - ![Select Commander](./images/select-commander.png) + ![Select Commander](./images/studio-tools-commander.png) 7. In the Simplicity Commander window, click **Select Kit** and choose your radio board. diff --git a/sld291-matter-wifi-run-demo/images/commander-flash-project.png b/sld291-matter-wifi-run-demo/images/commander-flash-project.png new file mode 100644 index 0000000..9da63d9 Binary files /dev/null and b/sld291-matter-wifi-run-demo/images/commander-flash-project.png differ diff --git a/sld291-matter-wifi-run-demo/images/rs916-board.png b/sld291-matter-wifi-run-demo/images/rs916-board.png deleted file mode 100644 index 39b7ecf..0000000 Binary files a/sld291-matter-wifi-run-demo/images/rs916-board.png and /dev/null differ diff --git a/sld291-matter-wifi-run-demo/images/studio-create-project.jpeg b/sld291-matter-wifi-run-demo/images/studio-create-project.jpeg new file mode 100644 index 0000000..5b58cc1 Binary files /dev/null and b/sld291-matter-wifi-run-demo/images/studio-create-project.jpeg differ diff --git a/sld291-matter-wifi-run-demo/images/studio-home-tab.png b/sld291-matter-wifi-run-demo/images/studio-home-tab.png new file mode 100644 index 0000000..9fcc465 Binary files /dev/null and b/sld291-matter-wifi-run-demo/images/studio-home-tab.png differ diff --git a/sld291-matter-wifi-run-demo/images/studio-open-vscode.png b/sld291-matter-wifi-run-demo/images/studio-open-vscode.png new file mode 100644 index 0000000..646cdc2 Binary files /dev/null and b/sld291-matter-wifi-run-demo/images/studio-open-vscode.png differ diff --git a/sld291-matter-wifi-run-demo/images/studio-project-configuration.jpeg b/sld291-matter-wifi-run-demo/images/studio-project-configuration.jpeg new file mode 100644 index 0000000..d850220 Binary files /dev/null and b/sld291-matter-wifi-run-demo/images/studio-project-configuration.jpeg differ diff --git a/sld291-matter-wifi-run-demo/images/studio-select-board.png b/sld291-matter-wifi-run-demo/images/studio-select-board.png new file mode 100644 index 0000000..c88f00b Binary files /dev/null and b/sld291-matter-wifi-run-demo/images/studio-select-board.png differ diff --git a/sld291-matter-wifi-run-demo/images/studio-tools-commander.png b/sld291-matter-wifi-run-demo/images/studio-tools-commander.png new file mode 100644 index 0000000..c1193c9 Binary files /dev/null and b/sld291-matter-wifi-run-demo/images/studio-tools-commander.png differ diff --git a/sld291-matter-wifi-run-demo/images/vscode-build-flash.png b/sld291-matter-wifi-run-demo/images/vscode-build-flash.png new file mode 100644 index 0000000..8c237b2 Binary files /dev/null and b/sld291-matter-wifi-run-demo/images/vscode-build-flash.png differ diff --git a/sld291-matter-wifi-run-demo/images/vscode-debug-breakpoint.png b/sld291-matter-wifi-run-demo/images/vscode-debug-breakpoint.png new file mode 100644 index 0000000..a0b24fa Binary files /dev/null and b/sld291-matter-wifi-run-demo/images/vscode-debug-breakpoint.png differ diff --git a/sld291-matter-wifi-run-demo/images/vscode-debug-icon.png b/sld291-matter-wifi-run-demo/images/vscode-debug-icon.png new file mode 100644 index 0000000..68c31cf Binary files /dev/null and b/sld291-matter-wifi-run-demo/images/vscode-debug-icon.png differ diff --git a/sld291-matter-wifi-run-demo/images/vscode-debug-options.png b/sld291-matter-wifi-run-demo/images/vscode-debug-options.png new file mode 100644 index 0000000..8d1190c Binary files /dev/null and b/sld291-matter-wifi-run-demo/images/vscode-debug-options.png differ diff --git a/sld291-matter-wifi-run-demo/images/vscode-flash.jpeg b/sld291-matter-wifi-run-demo/images/vscode-flash.jpeg new file mode 100644 index 0000000..72baa0d Binary files /dev/null and b/sld291-matter-wifi-run-demo/images/vscode-flash.jpeg differ diff --git a/sld291-matter-wifi-run-demo/images/vscode-select-debug.png b/sld291-matter-wifi-run-demo/images/vscode-select-debug.png new file mode 100644 index 0000000..c4928a3 Binary files /dev/null and b/sld291-matter-wifi-run-demo/images/vscode-select-debug.png differ diff --git a/sld291-matter-wifi-run-demo/images/vscode-start-debug.png b/sld291-matter-wifi-run-demo/images/vscode-start-debug.png new file mode 100644 index 0000000..7362d37 Binary files /dev/null and b/sld291-matter-wifi-run-demo/images/vscode-start-debug.png differ diff --git a/sld291-matter-wifi-run-demo/images/wifi-9116-gpio-connections.png b/sld291-matter-wifi-run-demo/images/wifi-9116-gpio-connections.png deleted file mode 100644 index 9907009..0000000 Binary files a/sld291-matter-wifi-run-demo/images/wifi-9116-gpio-connections.png and /dev/null differ diff --git a/sld291-matter-wifi-run-demo/images/wifi-9116-powermeter-wifimodule.png b/sld291-matter-wifi-run-demo/images/wifi-9116-powermeter-wifimodule.png deleted file mode 100644 index 6becba3..0000000 Binary files a/sld291-matter-wifi-run-demo/images/wifi-9116-powermeter-wifimodule.png and /dev/null differ diff --git a/sld291-matter-wifi-run-demo/images/wifi-9116-powerprofiler.png b/sld291-matter-wifi-run-demo/images/wifi-9116-powerprofiler.png deleted file mode 100644 index 0cfc4cf..0000000 Binary files a/sld291-matter-wifi-run-demo/images/wifi-9116-powerprofiler.png and /dev/null differ diff --git a/sld291-matter-wifi-run-demo/loading-firmware-for-ncp-and-soc-boards.md b/sld291-matter-wifi-run-demo/loading-firmware-for-ncp-and-soc-boards.md index c39a0f4..1f16691 100644 --- a/sld291-matter-wifi-run-demo/loading-firmware-for-ncp-and-soc-boards.md +++ b/sld291-matter-wifi-run-demo/loading-firmware-for-ncp-and-soc-boards.md @@ -8,29 +8,7 @@ Silicon Labs recommends that an upgrade of the NCP combos connectivity firmware ## Upgrading the Connectivity Firmware on NCP devices -The SiWx917 NCP or RS9116 EVK connectivity firmware can be upgraded using Tera Term or kermit. - -### Connectivity Firmware Upgrade Using Tera Term - -#### Firmware Upgrade On RS9116 - -1. Connect the EVK to PC using the USB interface labeled **UART** as identified below. - - ![Switch Position before firmware flash](./images/rs916-board.png) - -2. If this is the first time connecting the EVK to your PC, verify that it is properly detected by the PC. The EVK will appear to the PC as a COM port labeled **USB Serial Port (COMx)**. - -3. Configure your terminal application with the following settings: - - - Configure the serial port settings to 115200 baud / 8-bit data / No parity / 1 stop bit - - Enable local echo - - Set receive and transmit new-line characters to CR+LF - -4. Refer to [Setup Tera Term and Updating the Firmware](https://docs.silabs.com/rs9116/wiseconnect/2.0/tera-term-setup). - -5. Once firmware flashing is done, the console displays **Loading...** followed by **Loading Done**. - -#### Firmware Upgrade On SIWx917 NCP +### Firmware Upgrade On SIWx917 NCP SiWx917 NCP connectivity firmware can be upgraded using Simplicity Commander. @@ -50,9 +28,9 @@ SiWx917 NCP connectivity firmware can be upgraded using Simplicity Commander. 7. On the Simplicity Studio home page, click **Tools**. -8. In the Tools dialog, select **Simplicity Commander** and click **OK**. +8. In the Tools tab, select **Commander** and click **Open Tool**. - ![Silicon Labs - design](./images/select-commander.png) + ![Select Commander](./images/studio-tools-commander.png) The Simplicity Commander window is displayed. @@ -107,9 +85,9 @@ If the firmware update fails, try the following: 1. On the Simplicity Studio home page, click **Tools**. -2. In the Tools dialog, select **Simplicity Commander** and click **OK**. +2. In the Tools tab, select **Commander** and click **Open Tool**. - ![Silicon Labs - design](./images/select-commander.png) + ![Select Commander](./images/studio-tools-commander.png) 3. In the Simplicity Commander window, click **Select Kit** and choose your radio board. diff --git a/sld292-matter-wifi-enabling-features/build-soc-application-using-studio.md b/sld292-matter-wifi-enabling-features/build-soc-application-using-studio.md index 93e1ea7..d096793 100644 --- a/sld292-matter-wifi-enabling-features/build-soc-application-using-studio.md +++ b/sld292-matter-wifi-enabling-features/build-soc-application-using-studio.md @@ -1,58 +1,34 @@ # Building the 917 SoC Matter Accessory Devices (MADs) using Simplicity Studio -In Simplicity Studio 5, create the Light MAD: +In Simplicity Studio 6, create the Light MAD: -1. [Download](https://www.silabs.com/developers/simplicity-studio) and Install Simplicity Studio 5. +1. In Simplicity Studio, click **Matter**, under **Example Projects and Demos**, select a project, and click **Create**. -2. To install the software packages for Simplicity Studio, refer to the [Software Package Installation Section](/matter/{build-docspace-version}/matter-wifi-getting-started-example/software-installation#installation-of-software-packages). + ![Example Projects and Demos](images/studio-home-tab.png) + ![Example Projects and Demos](images/studio-create-project.jpeg) -3. Switch to the Launcher view (if not already in it). +2. In the Project Configuration window, Select the board and click **Next**. + ![Select Board](images/studio-select-board.png) + - Set - + - Solution and Project Name. + - Select Target IDE. + - Click **Finish**. - ![Silicon Labs - design](images/siwx917-soc-launcher-tab.png) + ![Finish project](images/studio-project-configuration.jpeg) -4. Go to **All Products** in the **Launcher** tab and select one compatible board from the below supported list of SiWx917 SOC dev boards. +3. Once the project is created, click the **Open in VS Code** option on the top right corner. + ![Open project in VS Code](images/studio-open-vscode.png) - ```shell - BRD4338A (Common Flash) - ``` +4. In VS Code, click the Studio Extension on the left panel and select **Build** option (Hammer Icon) in the Workspace tab. - ![Silicon Labs - design](images/siwx917-soc-boardselection.png) + ![Project Created](images/vscode-build-flash.png) -5. Once it shows up in the **Debug Adapters** view, select it. +5. Once the project is compiled successfully, the binaries can be flashed either using the **Simplicity Commander** from the tools or using the **Flash** option beside the **Build**. - ![Silicon Labs - design](images/siwx917-soc-debugadapter.png) + ![Flash Project](images/vscode-flash.jpeg) -6. Open the **Example Projects and Demos** tab, select the **Matter** filter, enter "*Wi-Fi*" in **Filter on keywords**, and click **CREATE**. +6. When using Commander, select the kit and click the **Flash** option in the left panel. Click **Erase chip**. - ![Silicon Labs - design](images/siwx917-soc-create-wifiprojects.png) +7. Select the path for the project's *.rps* binary and click **Flash**. - **Note**:- Make sure Installed Simplicity Studio is having IDE/GNU ARM v12.2.x version. - -7. Rename the **Project Name** if you wish, and click **Finish**. - - ![Silicon Labs - design](images/siwx917-soc-projectwizard.png) - -8. Once the project is created, right-click the project and select **Build Project** in the **Project Explorer** tab. - - ![Silicon Labs - design](images/siwx917-soc-build-wifiproject.png) - -9. To flash the application, connect the compatible dev board to the machine or PC if not yet done. - -10. Once the project is compiled successfully, go to the Project Explorer view and select the binary to be flashed. - - ![Silicon Labs - design](images/siwx917-soc-isp-binaryselection.png) - -11. Right-click the selected *_isp.bin* binary and click **flash to device**. - - ![Silicon Labs - design](images/siwx917-soc-flashtodevice.png) - -12. The Flash programmer window will open. Click the **Program** button to start the flashing. - - ![Silicon Labs - design](images/siwx917-soc-flashprogram.png) - - **Note:** - Output of the SiWX917 SoC application will be displayed on the J-Link RTT Viewer. - -13. In order to debug Matter Application, right-click the selected *_isp.bin* binary and click **Debug As**. - - ![Silicon Labs - design](images/siwx917-socdebug.png) + ![Flash to Device](images/commander-flash-project.png) \ No newline at end of file diff --git a/sld292-matter-wifi-enabling-features/dic-wifi.md b/sld292-matter-wifi-enabling-features/dic-wifi.md deleted file mode 100644 index 94c9800..0000000 --- a/sld292-matter-wifi-enabling-features/dic-wifi.md +++ /dev/null @@ -1,3 +0,0 @@ -# Matter Wi-Fi Direct Internet Connectivity - -See the [Matter over Wi-Fi DIC page](/matter/{build-docspace-version}/matter-wifi-dic). diff --git a/sld292-matter-wifi-enabling-features/images/commander-flash-project.png b/sld292-matter-wifi-enabling-features/images/commander-flash-project.png new file mode 100644 index 0000000..9da63d9 Binary files /dev/null and b/sld292-matter-wifi-enabling-features/images/commander-flash-project.png differ diff --git a/sld292-matter-wifi-enabling-features/images/studio-create-project.jpeg b/sld292-matter-wifi-enabling-features/images/studio-create-project.jpeg new file mode 100644 index 0000000..5b58cc1 Binary files /dev/null and b/sld292-matter-wifi-enabling-features/images/studio-create-project.jpeg differ diff --git a/sld292-matter-wifi-enabling-features/images/studio-home-tab.png b/sld292-matter-wifi-enabling-features/images/studio-home-tab.png new file mode 100644 index 0000000..9fcc465 Binary files /dev/null and b/sld292-matter-wifi-enabling-features/images/studio-home-tab.png differ diff --git a/sld292-matter-wifi-enabling-features/images/studio-open-vscode.png b/sld292-matter-wifi-enabling-features/images/studio-open-vscode.png new file mode 100644 index 0000000..646cdc2 Binary files /dev/null and b/sld292-matter-wifi-enabling-features/images/studio-open-vscode.png differ diff --git a/sld292-matter-wifi-enabling-features/images/studio-project-configuration.jpeg b/sld292-matter-wifi-enabling-features/images/studio-project-configuration.jpeg new file mode 100644 index 0000000..d850220 Binary files /dev/null and b/sld292-matter-wifi-enabling-features/images/studio-project-configuration.jpeg differ diff --git a/sld292-matter-wifi-enabling-features/images/studio-select-board.png b/sld292-matter-wifi-enabling-features/images/studio-select-board.png new file mode 100644 index 0000000..c88f00b Binary files /dev/null and b/sld292-matter-wifi-enabling-features/images/studio-select-board.png differ diff --git a/sld292-matter-wifi-enabling-features/images/studio-tools-energy-profiler.jpeg b/sld292-matter-wifi-enabling-features/images/studio-tools-energy-profiler.jpeg new file mode 100644 index 0000000..b5a6035 Binary files /dev/null and b/sld292-matter-wifi-enabling-features/images/studio-tools-energy-profiler.jpeg differ diff --git a/sld292-matter-wifi-enabling-features/images/vscode-build-flash.png b/sld292-matter-wifi-enabling-features/images/vscode-build-flash.png new file mode 100644 index 0000000..8c237b2 Binary files /dev/null and b/sld292-matter-wifi-enabling-features/images/vscode-build-flash.png differ diff --git a/sld292-matter-wifi-enabling-features/images/vscode-flash.jpeg b/sld292-matter-wifi-enabling-features/images/vscode-flash.jpeg new file mode 100644 index 0000000..72baa0d Binary files /dev/null and b/sld292-matter-wifi-enabling-features/images/vscode-flash.jpeg differ diff --git a/sld292-matter-wifi-enabling-features/images/wifi-9116-gpio-connections.png b/sld292-matter-wifi-enabling-features/images/wifi-9116-gpio-connections.png deleted file mode 100644 index 9907009..0000000 Binary files a/sld292-matter-wifi-enabling-features/images/wifi-9116-gpio-connections.png and /dev/null differ diff --git a/sld292-matter-wifi-enabling-features/images/wifi-9116-powermeter-wifimodule.png b/sld292-matter-wifi-enabling-features/images/wifi-9116-powermeter-wifimodule.png deleted file mode 100644 index 6becba3..0000000 Binary files a/sld292-matter-wifi-enabling-features/images/wifi-9116-powermeter-wifimodule.png and /dev/null differ diff --git a/sld292-matter-wifi-enabling-features/images/wifi-9116-powerprofiler.png b/sld292-matter-wifi-enabling-features/images/wifi-9116-powerprofiler.png deleted file mode 100644 index 0cfc4cf..0000000 Binary files a/sld292-matter-wifi-enabling-features/images/wifi-9116-powerprofiler.png and /dev/null differ diff --git a/sld292-matter-wifi-enabling-features/index.md b/sld292-matter-wifi-enabling-features/index.md index a6dbf17..c3abd2b 100644 --- a/sld292-matter-wifi-enabling-features/index.md +++ b/sld292-matter-wifi-enabling-features/index.md @@ -2,10 +2,10 @@ Matter Over Wi-Fi supports the following features on NCP and SoC variants. -- [**Intermittently Connected Devices (ICD), formerly Sleepy End Devices (SED)**](./wifi-sleepy-end-device) -- [**Direct Internet Connectivity (DIC)**](./dic-wifi) -- [**Interoperability with Ecosystems**](./ecosystem-setup) -- [**Optimization of Memory Usage**](./optimizing-memory-usage) -- [**Reducing Power Consumption for ICD End Devices**](./optimizing-power-sleepy-device) +- [**Intermittently Connected Devices (ICD), formerly Sleepy End Devices (SED)**](./wifi-sleepy-end-device.md) +- [**Matter + AWS**](/matter/{build-docspace-version}/matter-aws-feature/index) +- [**Interoperability with Ecosystems**](./ecosystem-setup.md) +- [**Optimization of Memory Usage**](./optimizing-memory-usage.md) +- [**Reducing Power Consumption for ICD End Devices**](./optimizing-power-sleepy-device.md) - [**Developing a Custom Matter Device**](/matter/{build-docspace-version}/matter-references/custom-matter-device) -- [**JLink RTT SOC Support**](./jlink-soc-setup) +- [**JLink RTT SOC Support**](./jlink-soc-setup.md) diff --git a/sld292-matter-wifi-enabling-features/wifi-sleepy-end-device.md b/sld292-matter-wifi-enabling-features/wifi-sleepy-end-device.md index 02ca4c9..f028a7e 100644 --- a/sld292-matter-wifi-enabling-features/wifi-sleepy-end-device.md +++ b/sld292-matter-wifi-enabling-features/wifi-sleepy-end-device.md @@ -62,15 +62,9 @@ To enable ICD functionality for Wi-Fi, the `ICD Management` cluster/component ne - For SiWx917 SOC, click on **Replace Subscription Timeout Resumption**. Sleepy support is enabled; build the project. Sleep support on M4 and TA can be enabled by installing `matter_icd_core` component. -- For rs9116 and WF200: `matter_icd_management` component is installed by default for lock-app. For thermostat and window, you need to install the mentioned cluster/component to enable sleepy. -- For 917NCP: `matter_icd_management` component is installed by default for lock-app. For thermostat and window, you need to install the mentioned cluster/component to enable sleepy. - -### EFR32 + RS9116 Setup for ICDs (Sleepy Devices) +- For WF200: `matter_icd_management` component is installed by default for lock-app. For thermostat and window, you need to install the mentioned cluster/component to enable sleepy. -- The following GPIO pins should be connected for 9116 and Host handshakes. -pin 7 and pin 9 to UULP_2 and UULP_0 respectively. - -![Power measurement GPIO pin connection for 9116](./images/wifi-9116-gpio-connections.png) +- For 917NCP: `matter_icd_management` component is installed by default for lock-app. For thermostat and window, you need to install the mentioned cluster/component to enable sleepy. ## Power Measurements for Wi-Fi Devices @@ -82,15 +76,15 @@ After flashing the Matter application to the module, Energy profiler or a power ![Power measurement connection overview](./images/wifi-powersave-overview.png) -In Simplicity Studio, click **Tools** on the toolbar, select **Energy Profiler**, and click **OK**. +In Simplicity Studio, click **Tools** on the left panel, select **Energy Profiler**, and click **Open Tool**. -![Power measurement PowerProfiler](./images/wifi-powerprofiler.png) +![Power measurement PowerProfiler](./images/studio-tools-energy-profiler.jpeg) From the Quick Access or Profiler menu, select **Start Energy Capture**. ![Power measurement using PowerProfiler](./images/wifi-powerprofiler-start.png) -**Note**: A quick-start guide on the Energy Profiler user interface is in the Simplicity Studio User's Guide's [Energy Profiler User Interface section](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-tools-energy-profiler/energy-profiler-user-interface). +**Note**: A quick-start guide on the Energy Profiler user interface is in the Simplicity Studio User's Guide's [Energy Profiler User Interface section](https://docs.silabs.com/energy-profiler/latest/energy-profiler-start/). ### Power Consumption Measurement Using Energy Profiler for Wi-Fi Devices @@ -100,10 +94,6 @@ Analyze the power values using Energy Profiler. ### Power Consumption Measurement Using a Power Meter -Power consumption measurement pins for RS9116 Evk Boards: - -![Power measurement pins for NCP mode](./images/wifi-9116-powermeter-wifimodule.png) - Power consumption measurement pins for EXP Boards: ![Power measurement pins for NCP mode](./images/siwx917-ncp-powermeasurement-pins.png) @@ -111,5 +101,3 @@ Power consumption measurement pins for EXP Boards: The power meter's negative probe is used for pin-1 and the positive probe is used for pin-2. Analyze the power values using the power meter. - -![Power measurement for 9116/917 using power meter](./images/wifi-9116-powerprofiler.png) diff --git a/sld295-matter-api-reference/attributes.md b/sld295-matter-api-reference/attributes.md index eea82b9..4e6654d 100644 --- a/sld295-matter-api-reference/attributes.md +++ b/sld295-matter-api-reference/attributes.md @@ -4,7 +4,7 @@ Attributes represent the current state of a device. For instance if the device i ## Attribute Changes -When a ZCL attribute is updated in the data model, the framework will call the `postAttributeChangeCallback`. If this callback is implemented by the device it will be informed of the attribute change. The device may react to the attribute change. For example, in the [MatterPostAttributeChangeCallback](https://github.com/SiliconLabs/matter_extension/blob/main/examples/onoff-plug-app/src/ZclCallbacks.cpp#L38), say we want to add some custom handler code to control an RGB LED when on/off attribute in the `On-Off` Cluster changes: +When a ZCL attribute is updated in the data model, the framework will call the `postAttributeChangeCallback`. If this callback is implemented by the device it will be informed of the attribute change. The device may react to the attribute change. For example, in `MatterPostAttributeChangeCallback` in `DataModelCallbacks.cpp` in [onoff-plug-app/src](https://github.com/SiliconLabs/matter_extension/tree/main/examples/onoff-plug-app/src), say we want to add some custom handler code to control an RGB LED when on/off attribute in the `On-Off` Cluster changes: ```cpp void MatterPostAttributeChangeCallback(const chip::app::ConcreteAttributePath & attributePath, diff --git a/sld295-matter-api-reference/cluster.md b/sld295-matter-api-reference/cluster.md index 202f8ef..b7747aa 100644 --- a/sld295-matter-api-reference/cluster.md +++ b/sld295-matter-api-reference/cluster.md @@ -13,4 +13,4 @@ For more details see: [Matter Data Model](../sld288-matter-fundamentals-data-mod The header file below contains namespaces and IDs of Clusters. In Simplicity Studio, this will be generated in the autogen/zap-generated/ folder of the matter project. -- [Cluster](https://github.com/SiliconLabs/matter_extension/blob/main/third_party/matter_sdk/zzz_generated/app-common/app-common/zap-generated/ids/Clusters.h) +- [Cluster](https://github.com/project-chip/connectedhomeip/blob/master/zzz_generated/app-common/app-common/zap-generated/ids/Clusters.h) \ No newline at end of file diff --git a/sld296-matter-ecosystems/amazon-ecosystem-setup.md b/sld296-matter-ecosystems/amazon-ecosystem-setup.md index 7374e1a..0027371 100644 --- a/sld296-matter-ecosystems/amazon-ecosystem-setup.md +++ b/sld296-matter-ecosystems/amazon-ecosystem-setup.md @@ -19,15 +19,96 @@ As part of partnership with Amazon, the following link contains information requ In the context of MSS for Wi-Fi, the provisionee, or commissionee, is the device that is to be automatically set up. If you want to make your device eligible to be an MSS commissionee, you must satisfy the following: -1. Configure the device to beacon over Bluetooth LE (BLE) with specific fields needed for MSS for Wi-Fi (detailed below). +1. Create an Amazon Developer Account -2. Onboard your device via the FFS developer portal by creating a Matter new device type. On the developer portal, you will manage your FFS onboarding lifecycle tasks, like managing your test devices and manufacturing data and submitting for certification. + Sign up for an Amazon Developer account at https://developer.amazon.com/ if you don't already have one. -3. Integrate a unique barcode on your device packaging. You can also use an existing unique barcode on your packaging, such as a serial number, or MAC address. +2. Create a Test Product in the Developer Console -4. Share your device control log data with Amazon services. Control Logs are a mechanism that allows manufacturers to provide Amazon with unique device identifiers and authentication material, such as the Matter passcode, that are critical to ensure a frictionless customer setup. The unique package barcode is associated with your device identifier through the control logs. See the Matter Control Logs section for more details. + In the Amazon Developer Console, create a new test product for Matter Simple Setup (MSS). + + Reference: https://developer.amazon.com/docs/frustration-free-setup/matter-simple-setup-getting-started.html#create-your-product + +3. Generate and Upload Control Logs + + This step involves three parts: generating control logs, uploading them to Amazon and downloading the feedback form. + + a. Generate Control Logs + + Follow Option 1 in the Amazon documentation: https://developer.amazon.com/docs/frustration-free-setup/matter-simple-setup-getting-started.html#generating-control-logs + + 1. Install Gradle. + 2. Run the following command (replace placeholder values with your actual values): + + ```bash + gradle run --args="-apid APID -dsn DeviceSerialNumber -vid MatterVendorID -pid MatterProductID -p MatterDevicePasscode -a MATTER_V0 -d MatterDeviceDiscriminator -udid Base64EncodedUniqueDeviceId -pk "PublicKeyOfProduct" + ``` + + Command Inputs: + + - `-apid`: Amazon-provided Advertised Product ID (Go to FFS Console → Products -> -> Advertised Product ID) + - `-dsn`: Serial Number of the Amazon Echo Device + - `-vid`: Vendor ID + - `-pid`: Product ID + - `-p`: Matter device passcode + - `-a`: Matter encryption algorithm + - `-d`: Device discriminator + - `-udid`: Base64-encoded Unique Device ID + - `-pk`: Public key of your Amazon product (FFS Console → Products → → Device Cryptographic Material) + + b. Upload Control Logs to Amazon + + - Follow the documentation steps to upload the generated control logs : https://developer.amazon.com/docs/frustration-free-setup/matter-simple-setup-getting-started.html#uploading-control-logs + + c. Download Feedback logs from Amazon + + - Follow the steps given in : https://developer.amazon.com/docs/frustration-free-setup/matter-simple-setup-getting-started.html#getting-control-log-feedback-files + + +4. Pre-Register Test Devices + + Pre-register your test devices by following the instructions here: + + https://developer.amazon.com/docs/frustration-free-setup/matter-simple-setup-getting-started.html#test-devices + +5. Verify Amazon Account Settings + + - Open your account settings: https://www.amazon.com/hz/mycd/preferences/myx#/home/settings/payment + - Ensure Country/Region is set to United States (US). + - Confirm that Simple Sign-In and Frustration-Free Setup automations are enabled. + + +6. Barcode Specification + + Integrate a unique barcode on your device packaging. You can also use an existing unique barcode on your packaging, such as a serial number, or MAC address. Refer to this link for more details: + + https://developer.amazon.com/docs/frustration-free-setup/matter-simple-setup-for-wifi-overview.html#packaging-barcode + +7. Complete Frustration-Free Setup Certification + + The certification process given by Amazon can be found here: + + https://developer.amazon.com/docs/frustration-free-setup/provisionee-certification.html + +8. Amazon ASIN Onboarding + + For configuring the Amazon Standard Identification Number (ASIN), refer to the documentation given by Amazon here: + + https://developer.amazon.com/docs/frustration-free-setup/asin-configuration.html + +**Changes that should be made in the application:** + +Amazon FFS requires use of an optional feature in Matter called additional advertising. This can be enabled in a Matter Studio project by adding the **GATT Additional Advertising** component to the project. In a GN based build, it can be included by adding the two optional build arguments to the GN build: + +``` +chip_enable_additional_data_advertising=true +chip_enable_rotating_device_id=true +``` + +Ensure that the device advertises the fields mentioned in this link over BLE: + +https://developer.amazon.com/docs/frustration-free-setup/matter-simple-setup-for-wifi-overview.html#ble-beaconing -5. Complete Frustration-Free Setup certification and Amazon ASIN onboarding. Review the certification section below for more information. ### Amazon Alexa MSS (Matter Simple Setup) - Thread diff --git a/sld296-matter-ecosystems/images/wifi-9116-gpio-connections.png b/sld296-matter-ecosystems/images/wifi-9116-gpio-connections.png deleted file mode 100644 index 9907009..0000000 Binary files a/sld296-matter-ecosystems/images/wifi-9116-gpio-connections.png and /dev/null differ diff --git a/sld296-matter-ecosystems/images/wifi-9116-powermeter-wifimodule.png b/sld296-matter-ecosystems/images/wifi-9116-powermeter-wifimodule.png deleted file mode 100644 index 6becba3..0000000 Binary files a/sld296-matter-ecosystems/images/wifi-9116-powermeter-wifimodule.png and /dev/null differ diff --git a/sld296-matter-ecosystems/images/wifi-9116-powerprofiler.png b/sld296-matter-ecosystems/images/wifi-9116-powerprofiler.png deleted file mode 100644 index 0cfc4cf..0000000 Binary files a/sld296-matter-ecosystems/images/wifi-9116-powerprofiler.png and /dev/null differ diff --git a/sld297-matter-wifi-dic/aws-configuration-registration.md b/sld297-matter-wifi-dic/aws-configuration-registration.md deleted file mode 100644 index 33424cd..0000000 --- a/sld297-matter-wifi-dic/aws-configuration-registration.md +++ /dev/null @@ -1,73 +0,0 @@ -# Amazon Web Services (AWS) - -Amazon Web Services offers reliable, scalable, and inexpensive cloud computing services. Refer to [AWS Documentation](https://aws.amazon.com/what-is-aws/) for more details. - -## AWS CA Certificate Registration - -1. Create a CA certificate, a CA verification certificate, a client certificate, and a client key using the [Openssl Certificate Creation](./openssl-certificate-creation.md) documentation. -2. Open [AWS](https://aws.amazon.com/). -3. Log in using your AWS credentials. -4. Register the CA Certificate in AWS: - - Go to **Security > Certificate Authorities** and **Register CA Certificate**. - - Select **Register CA** in the Single account mode. - - Choose the CA certificate (CA.crt) that you previously created above. - - Choose the CA verification certificate (verification_cert.pem) that you previously created above. - - Register the CA. - -5. Go to **Security > Policies** and select **Create Policy**. Enter the policy name (ex: _DIC_POLICY_) and, in the policy statements, select **JSON** and replace the contents with the JSON provided below: - - ```shell - { - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Action": "*", - "Resource": "*" - } - ] - } - ``` - -6. Once done, select **Create**. - -7. Steps to generate the certificate for your Matter application to use in the `dic_nvm_cert.cpp` source file: - - - Go to **All Devices > Things** and select **Create Things**. - - Select **Create Single Thing** and click **Next**. - - Specify thing properties in **Info > Give the thing a name** (Note: Client ID) and click **Next**. - - Configure the device certificate (optional) in **Info > Use my certificate**. - - In Certificate details, choose **CA is registered with AWS IOT** and select the CA registered with AWS in Step 4. - - In **Certificate > Choose file** (Choose Client certificate generated in Openssl Certificate Creation ex: `device.crt`), set the certificate status to **Active**. Click **Next**. - - Use the policy (ex: _DIC_POLICY_) created in AWS Certificate creation. - -8. 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.crt`). - - **Note**: Thing name must be unique as it will be used as CLIENT ID. - -9. Copy the contents of [AWS_CA CERT](https://www.amazontrust.com/repository/AmazonRootCA1.pem) and create a .pem file to use as a SERVER CERTIFICATE in MQTT Explorer. - -## How to Create AWS OTA JOB - -1. Go to AWS Amazon: https://aws.amazon.com/. -2. Log in with Amazon Credentials. -3. Click **Services** and select **IOT Core**. -4. On the side menu in the **Manage** section, click **Remote Actions** and click **jobs**. -5. Click **Create Job** and select Job type as a Create FreeRTOS OTA update job. -6. Enter a unique Job name without spaces. -7. In the **Devices to update** dropdown, select your Certificates which are configured above. for example:- SQA_DIC_C2, SQA_DIC_C3, DIC_2 -8. Select **MQTT** as the protocol for file transfer. -9. In **File Section**, select **New/Previously/Custom** signed **gbl(For EFR32)** and **.rps(For 917 SOC)** file. - - - If the **gbl or rps** file is newly created, then select **Sign a new file for me**. - - If the **gbl or rps** file is already uploaded to AWS, then select **Choose a previously signed file**. - - If the **gbl or rps** file is custom modified, then select **Use my custom signed file**. - -10. In **Existing code signing profile**, select **dic_ota_codesign**. Refer to [AWS Code Signing Certificate Creation](https://docs.aws.amazon.com/freertos/latest/userguide/ota-code-sign-cert.html). -11. For uploading the **gbl or rps** file, follow step 9 above. To create a **gbl** refer to [Matter OTA](/matter/{build-docspace-version}/matter-ota) and for **rps** file, refer to [Matter OTA Software Update](/matter/{build-docspace-version}/matter-ota/04-ota-software-update-soc). -12. In the File upload location in S3 select, S3 URL as ota_demo. Refer to [AWS S3 Bucket Creation](https://docs.aws.amazon.com/freertos/latest/userguide/dg-ota-bucket.html). -13. In **Path name of file on device**, give any file name (file.txt). -14. Select **ota_demo** as **IAM role** and click **Next**. -15. Click **create job**. - -Note: For more details, Refer to [AWS OTA prerequisites](https://docs.aws.amazon.com/freertos/latest/userguide/ota-prereqs.html). diff --git a/sld297-matter-wifi-dic/build-dic.md b/sld297-matter-wifi-dic/build-dic.md deleted file mode 100644 index 334e8db..0000000 --- a/sld297-matter-wifi-dic/build-dic.md +++ /dev/null @@ -1,59 +0,0 @@ -# Build Procedure For Wi-Fi Direct Internet Connectivity (DIC) - -The following components are common for all apps and should be modified in the corresponding app specific .slcp file. - -## How to Add the DIC Component - -To add the DIC component, modify the corresponding app specific .slcp file. - -```shell - - id: matter_dic - from: matter -``` - -## How to Add the DIC AWS OTA Component - -To add the DIC AWS OTA component, modify the corresponding app specific .slcp file. - -```shell - - id: aws_ota_wifi_dic - from: matter -``` - -Note: Building with aws_ota_wifi_dic component enables matter_dic component by default. - -## Building DIC Application - -- After modification in the **.slcp** Project file as above step, refresh the **matter-extension** in Simplicity Studio. - -- Select **Preferences** in the **Launcher** tab. - - ![Select Preferences](images/select-preferences.png) - -- Expand Simplicity Studio section and click on **SDKs** Tab. - - ![Select SDK](images/select-studio-sdk-option.png) - -- Expand **Simplicity SDK** and click the **Refresh** button from side menu. - - ![Select Refresh](images/select-refresh-option.png) - -- Build the DIC application using Simplicity Studio - - [Build EFx32 Application Using Studio](/matter/{build-docspace-version}/matter-wifi-run-demo/build-efx32-application-using-studio) - - [Build SOC Application Using Studio](/matter/{build-docspace-version}/matter-wifi-run-demo/build-soc-application-using-studio) - -## Compile Using New/Different Certificates - -- Two devices should not use the same `DIC_CLIENT_ID`. To use a different Client ID for your second connection, do the following: -- If using AWS, change the following file `matter_extension/examples/platform/silabs/DIC/matter_abs_interface/src/dic_nvm_cert.cpp` under `#if USE_AWS`. - - Use `DIC_SERVER_HOST` name with your Server host name. - - For Example: a2m21kovu9tcsh-ats.iot.ap-southeast-1.amazonaws.com - - Use AWS CA certificate as ca_certificate, device_certificate and device_key with your device cert and device key. - - Use `DIC_CLIENT_ID` macro value with your Client ID in `matter_extension/examples/platform/silabs/DIC/matter_abs_interface/inc/dic_config.h` - - The preferred certificate type to use in the application is ECDSA. -- If using mosquitto, change the following file `matter_extension/examples/platform/silabs/DIC/matter_abs_interface/src/dic_nvm_cert.cpp` enable `USE_MOSQUITTO` and disable `USE_AWS`. - - Under `#if USE_MOSQUITTO` - - Use `DIC_SERVER_HOST` name with your Server host name where Mosquitto Broker is running. - - Use OpenSSL CA certificate as ca_certificate, device_certificate and device_key. - - `DIC_CLIENT_ID` is not required here but `DIC_CLIENT_USER` and `DIC_CLIENT_PASS` in `matter_extension/examples/platform/silabs/DIC/matter_abs_interface/inc/dic_config.h` needs to be updated as per your Mosquitto password file. - - The preferred certificate type to use in the application is ECDSA. diff --git a/sld297-matter-wifi-dic/images/all-products-selection.png b/sld297-matter-wifi-dic/images/all-products-selection.png deleted file mode 100644 index 524db94..0000000 Binary files a/sld297-matter-wifi-dic/images/all-products-selection.png and /dev/null differ diff --git a/sld297-matter-wifi-dic/images/dic-aws-ota.png b/sld297-matter-wifi-dic/images/dic-aws-ota.png deleted file mode 100644 index 418ae23..0000000 Binary files a/sld297-matter-wifi-dic/images/dic-aws-ota.png and /dev/null differ diff --git a/sld297-matter-wifi-dic/images/dic-control-part.png b/sld297-matter-wifi-dic/images/dic-control-part.png deleted file mode 100644 index 8cfe46e..0000000 Binary files a/sld297-matter-wifi-dic/images/dic-control-part.png and /dev/null differ diff --git a/sld297-matter-wifi-dic/images/dic-flow.png b/sld297-matter-wifi-dic/images/dic-flow.png deleted file mode 100644 index 6624cd1..0000000 Binary files a/sld297-matter-wifi-dic/images/dic-flow.png and /dev/null differ diff --git a/sld297-matter-wifi-dic/images/dic-status-sharing.png b/sld297-matter-wifi-dic/images/dic-status-sharing.png deleted file mode 100644 index 037e931..0000000 Binary files a/sld297-matter-wifi-dic/images/dic-status-sharing.png and /dev/null differ diff --git a/sld297-matter-wifi-dic/images/select-efx-board.png b/sld297-matter-wifi-dic/images/select-efx-board.png deleted file mode 100644 index 8e11766..0000000 Binary files a/sld297-matter-wifi-dic/images/select-efx-board.png and /dev/null differ diff --git a/sld297-matter-wifi-dic/images/select-preferences.png b/sld297-matter-wifi-dic/images/select-preferences.png deleted file mode 100644 index 5a11e89..0000000 Binary files a/sld297-matter-wifi-dic/images/select-preferences.png and /dev/null differ diff --git a/sld297-matter-wifi-dic/images/select-refresh-option.png b/sld297-matter-wifi-dic/images/select-refresh-option.png deleted file mode 100644 index cfcd321..0000000 Binary files a/sld297-matter-wifi-dic/images/select-refresh-option.png and /dev/null differ diff --git a/sld297-matter-wifi-dic/images/select-studio-sdk-option.png b/sld297-matter-wifi-dic/images/select-studio-sdk-option.png deleted file mode 100644 index 31ce859..0000000 Binary files a/sld297-matter-wifi-dic/images/select-studio-sdk-option.png and /dev/null differ diff --git a/sld297-matter-wifi-dic/images/wifi-9116-gpio-connections.png b/sld297-matter-wifi-dic/images/wifi-9116-gpio-connections.png deleted file mode 100644 index 9907009..0000000 Binary files a/sld297-matter-wifi-dic/images/wifi-9116-gpio-connections.png and /dev/null differ diff --git a/sld297-matter-wifi-dic/images/wifi-9116-powermeter-wifimodule.png b/sld297-matter-wifi-dic/images/wifi-9116-powermeter-wifimodule.png deleted file mode 100644 index 6becba3..0000000 Binary files a/sld297-matter-wifi-dic/images/wifi-9116-powermeter-wifimodule.png and /dev/null differ diff --git a/sld297-matter-wifi-dic/images/wifi-9116-powerprofiler.png b/sld297-matter-wifi-dic/images/wifi-9116-powerprofiler.png deleted file mode 100644 index 0cfc4cf..0000000 Binary files a/sld297-matter-wifi-dic/images/wifi-9116-powerprofiler.png and /dev/null differ diff --git a/sld297-matter-wifi-dic/index.md b/sld297-matter-wifi-dic/index.md deleted file mode 100644 index f113ef8..0000000 --- a/sld297-matter-wifi-dic/index.md +++ /dev/null @@ -1,143 +0,0 @@ -# Matter Wi-Fi Direct Internet Connectivity - -Direct Internet Connectivity (DIC) is a Silicon Labs-only feature to connect Matter devices to proprietary cloud solutions (e.g., AWS, GCP, Apple) directly. As such, a Matter Wi-Fi device must support connecting locally on the Matter Fabric, via IPv6, and connecting to the Internet via IPv4. - -- Matter devices can be controlled by chip-tool or controller, and the respective status of the attribute modified will be published to the cloud. -- Remote users can install the cloud-specific application to get the notifications on the attribute status and to control the device. - -## DIC Feature Diagram - -The following diagram illustrates the end-to-end flow for Direct Internet Connectivity. - -![Silicon Labs - DIC design](images/dic-flow.png) - -## Prerequisites - -### Hardware Requirements - -For the hardware required for the DIC feature to run on the Silicon Labs Platform, refer to [Matter Hardware Requirements](/matter/{build-docspace-version}/matter-prerequisites/hardware-requirements). - -### Software Requirements - -To run the DIC feature, refer to [Software Requirements](/matter/{build-docspace-version}/matter-prerequisites/software-requirements). - -## End-to-End Set-Up Bring Up - -### Message Queuing Telemetry Transport (MQTT) - -MQTT is an OASIS standard messaging protocol for the Internet of Things (IoT). It is designed as an extremely lightweight publish/subscribe messaging transport that is ideal for connecting remote devices with a small code footprint and minimal network bandwidth. Refer to [https://mqtt.org/](https://mqtt.org/) for more details. - -### Configuring the MQTT server - -To set up and configure AWS or Mosquitto for DIC support, see the following documentation: - -- [AWS installation](./aws-configuration-registration.md) -- [Mosquitto installation](./mosquitto-setup.md) - -### Remote User Setup (MQTT Explorer) - -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). - -### Building Matter DIC Application using Simplicity Studio - -1. Follow instructions in [Build DIC](./build-dic.md) to enable the DIC feature in code. - -2. After enabling DIC in the Matter extension code, click **Preferences** and then click **SDKs** in Simplicity Studio. - - ![Extension refresh in tab](images/dic-extension-refresh.png) - -3. In the **SDKs** tab, click **Simplicity SDK** and click **Refresh**. It will refresh the Matter extension code for changes made in step 1. - - ![Extension refresh](images/dic-extension-refresh-1.png) - -4. After refreshing the Matter extension, create and build a project for the Silicon Labs Device Platform. Refer to the following: - - - [Creating and Building Project for NCP Board](/matter/{build-docspace-version}/matter-wifi-getting-started-example/getting-started-efx32-ncp#building-and-flashing-an-application) - - [Creating and Building Project for SoC Board](/matter/{build-docspace-version}/matter-wifi-getting-started-example/getting-started-with-soc#building-the-917-soc-matter-accessory-devices-using-simplicity-studio) - -**Note**: Matter extension code is located at the following location: `C:\Users\system_name\SimplicityStudio\SDKs\simplicity_sdk\extension`. - -## End-to-End Test of DIC Application - -User Setup (MQTT Explorer): - -- Sharing status of device to cloud - - The following diagram shows the end-to-end flow for sharing status from a Matter device to the Cloud. - -![Silicon Labs - DIC design](images/dic-status-sharing.png) - - **Note**: For reference, Lighting App commands are given in the above image. Other application commands also can be passed. - -- 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). -- Below are the application-specific attributes or states shared to the cloud: - - For Lighting App, On/Off Attributes - - For Lock App, lock/unlock Attributes - - For Windows App, lift/tilt Attributes - - For Thermostat App, SystemMode/CurrentTemp/LocalTemperature/OccupiedCoolingSetpoint/OccupiedHeatingSetpoint Attributes - - For On/off Plug App, On/Off Attributes - - Application status would be updated on the mqtt_explorer UI, as shown in below image. - - ![DIC status update](images/mqtt-explorer-4.png) - -- Control of the device through cloud interface - - The diagram below shows the end-to-end flow for control of the Matter device through a cloud interface. - - ![Silicon Labs - DIC design](images/dic-control-part.png) - - **Note**: For reference, Lighting App commands are shown in the above image. Similarly, other application commands also can be passed. - - - 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). - - For controlling the device, set topic name and the commands to be executed in the mqtt_explorer for the following applications. - -```shell - - Lighting App - - Topic: command - - Commands: - - toggle - - on - - off - - Onoff-plug App - - Topic: command - - Commands: - - toggle - - on - - off - - Lock App - - Topic: command - - Commands: - - lock - - unlock - - Thermostat App - - Topic: command - - Commands: - - SetMode/value(value need to provide 1,2,3,4 ex:SetMode/1) - - Heating/value(value need to provide 2500,2600 ex:HeatingSetPoint/2500) - - Cooling/value(value need to provide 2500,2600 ex:CoolingSetPoint/2500) - - Window App - - Topic: command - - Commands: - - Lift/value(value need to provide in range 1000 to 10000) - - Tilt/value(value need to provide in range 1000 to 10000) -``` - -- Click **Publish** to execute the command. - -![Silicon Labs - DIC design](images/control-device-through-cloud.png) - -- Download AWS OTA Image through a cloud interface. - - - The diagram below provides the end to end flow of the firmware upgrade feature through AWS. - - ![Silicon Labs - DIC design](images/dic-aws-ota.png) - - - 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). - - - Make sure the device is connected to the MQTT Server successfully. - - - Create an AWS OTA Job on the AWS website. Refer to [How to create AWS OTA job](./aws-configuration-registration.md). - - - Trigger the OTA command through MQTT Explorer like below. - - - Click **Publish** to execute the AWS OTA command. - - ![Silicon Labs - DIC design](images/download-aws-ota-through-cloud.png) diff --git a/sld297-matter-wifi-dic/mosquitto-setup.md b/sld297-matter-wifi-dic/mosquitto-setup.md deleted file mode 100644 index 1fd0697..0000000 --- a/sld297-matter-wifi-dic/mosquitto-setup.md +++ /dev/null @@ -1,33 +0,0 @@ -# Mosquitto - -Mosquitto is a lightweight open source (EPL/EDL licensed) message broker that implements the MQTT protocol. Refer to the [Mosquitto site](https://Mosquitto.org/) for more details. - -## Set Up the Mosquitto Connection - -### Linux Environment - -1. Install Mosquitto, using the command --> `sudo apt install Mosquitto`. -2. Copy file from https://github.com/eclipse/Mosquitto/blob/master/Mosquitto.conf and paste in linux machine. -3. Open the Mosquitto.conf file and include password_file (Mosquitto.pwd) in **General configuration**. -4. The password file contains the username and password in hashed format. To create your own username and password for Mosquitto, use the following [link](http://surl.li/gnmwr). -5. In the **Listeners** section, change listener to ` `. -6. In the same section, find **#protocol mqtt** and uncomment it. -7. Follow [Openssl Certificate Creation](./openssl-certificate-creation.md) to create certificates. -8. Provide the required certificates path in the **Certificate based SSL/TLS support** and, in the same section, set the flag require_certification to **true**. -9. In the **Security** section, uncomment the flag **allow_anonymous** false. -10. Now that your configuration file is set, save it and run the following command in terminal to run Mosquitto: - - - `Mosquitto -v -c Mosquitto.conf` - -### Windows Environment - -1. Install Mosquitto using the [mosquitto download](https://Mosquitto.org/download/). -2. Open the Mosquitto.conf file and include password_file (Mosquitto.pwd) in **General configuration**. -3. The password file contains the username and password in hashed format. To create your own username and password for Mosquitto, use the following [link](http://surl.li/gnmwr). -4. In the **Listeners** section, change listener to ` `. -5. In the same section, find **#protocol mqtt** and uncomment it. -6. Follow [Openssl Certificate Creation](./openssl-certificate-creation.md) to create certificates. -7. Provide the required certificates path in **Certificate based SSL/TLS support** and, in the same section, set the flag require_certification to **true**. -8. In the **Security** section, uncomment the flag **allow_anonymous** false. -9. Now that your configuration file is set, save it and run the following command in terminal(command prompt) to run Mosquitto: - - `Mosquitto -v -c Mosquitto.conf` diff --git a/sld297-matter-wifi-dic/openssl-certificate-creation.md b/sld297-matter-wifi-dic/openssl-certificate-creation.md deleted file mode 100644 index 7364fdc..0000000 --- a/sld297-matter-wifi-dic/openssl-certificate-creation.md +++ /dev/null @@ -1,46 +0,0 @@ -# OpenSSL Certificate Creation - -An SSL certificate is an important way to secure user information and protect against hackers. - -## OpenSSL Installation (In ubuntu) - -1. To install OpenSSL, run `sudo apt install openssl`. - -## Certificates Creation - -The following commands are used to generate certificates: - -1. To generate CA key: - - - `openssl ecparam -name prime256v1 -genkey -noout -out CA.key` - -2. To generate CA certificate: - - - `openssl req -new -x509 -days 1826 -key CA.key -out CA.crt` - -3. To generate Client key: - - - `openssl ecparam -name prime256v1 -genkey -noout -out device.key` - -4. To generate Client certificate (ex: `device.crt` and `device.key`) using CA certificate: - - - `openssl req -new -out device.csr -key device.key` - - `openssl x509 -req -in device.csr -CA CA.crt -CAkey CA.key -CAcreateserial -out device.crt -days 360` - -5. To generate CA verification certificate key: - - - `openssl genrsa -out verification_cert.key 2048` - -6. To generate Certificate Signing Request (CSR) file: - - - `openssl req -new -key verification_cert.key -out verification_cert_csr.csr` - - **NOTE**: The information that the openssl command prompts you for is shown in the following example. Except for the Common Name field, you can enter your own values or keep them blank. In the Common Name field, paste the registration code from the Verification certificate container of the AWS IoT console. Reference image below to add registration code. - - ![registration code](images/openssl-csr-common-name-ref.png) - -7. To generate CA verification certificate: - - - `openssl x509 -req -in verification_cert_csr.csr -CA CA.crt -CAkey CA.key -CAcreateserial -out verification_cert.pem -days 500 -sha256` - -8. Repeat step 3 and 4 to create an additional set of certificate to use in MQTT explorer (ex: `explorer.crt` and `explorer.key`). (Create with different name for Identification). diff --git a/sld388-matter-new-features/index.md b/sld388-matter-new-features/index.md index 581072b..d7e07b5 100644 --- a/sld388-matter-new-features/index.md +++ b/sld388-matter-new-features/index.md @@ -1,5 +1,37 @@ # New Features +## New Features for v2.8.0-1.5 + +- Quality-tested Matter 1.5 solution for Thread MG24 / MG26 / MG30, Wi-Fi SiWG917 SoC and SiWN917 NCP mode, and Wi-Fi MG24/WF200 +- Works with Simplicity SDK v2025.12.0 and WiseConnect SDK v4.0.0 +- Added support for Amazon Matter Simple Setup (MSS) with 917SoC +- Enabled support for Matter + AWS (formerly DIC) on 917 NCP - Alpha Quality +- Added Closure App for Thread and Wi-Fi (SiWG917 SoC) +- Added Matter demo for an Oven and Range Hood App +- Added further optimizations in LwIP timers (both IPv4 and IPv6) for improved power efficiency for Wi-Fi Devices +- Added Memory Manager support with SiWG917 +- Added RGB LED support for Thread +- Added Platform Template app +- Removed the Matter Wi-Fi support for MG24 + RS9116 +- Improved build times for Matter projects +- Miscellaneous bug fixes and improvements +- Added support for TrustZone for EFR32 MG2x for Matter projects + +## New Features for v2.7.0-1.4 + +- Quality-tested Matter 1.4.2 solution for Thread MG24 / MG26, Wi-Fi SiWx917 SoC and NCP mode, Wi-Fi MG24/WF200 and Wi-Fi MG24/RS9116 (non-sleepy). +- Provides GA support for Matter Wi-Fi SiWx917 +- Enabled Matter + AWS (previously known as DIC) support (Alpha Quality). +- Provides support for Matter Thread and CMP with SiMG301x. +- Support for Scenes in Matter added with Matter 1.4.2. +- Fixed the mDNS and CASE session timeouts seen on Wi-Fi SiWx917. +- Added Optimized LwIP package in the Matter Extension for Power Improvement in WiFi Devices. +- Deprecation notice for Wi-Fi MG24/RS9116. +- Removal of the Experimental option to use the TCP/IP NetX stack. +- Works with Simplicity SDK v2025.6.2 and WiSeConnect SDK v3.5.2. +- RGB LED support with the SiWG917 DevKit. +- Miscellaneous bug fixes and improvements. + ## New Features for v2.6.1-1.4 - Quality-tested Matter 1.4.1 solution for Thread MG24 / MG26, Wi-Fi SiWx917 SoC and NCP mode, Wi-Fi MG24/WF200 and Wi-Fi MG24/RS9116 (non-sleepy). diff --git a/sld389-matter-device-dev-prereqs/index.md b/sld389-matter-device-dev-prereqs/index.md index 01713a1..03fb482 100644 --- a/sld389-matter-device-dev-prereqs/index.md +++ b/sld389-matter-device-dev-prereqs/index.md @@ -8,7 +8,7 @@ Your organization must be an associate member or better to get your product cert - Official resources to assist you in developing Matter products. -- Authorization to contribute to the [Matter Github repository](https://github.com/project-chip/connectedhomeip). +- Authorization to contribute to the [CSA Matter Github repository](https://github.com/project-chip/connectedhomeip). - Once approved, the Connectivity Standards Alliance will reserve a unique Vendor ID (VID) chosen by your organization. This VID will be needed to provision your device. diff --git a/sld392-matter-securing-prod-devices/index.md b/sld392-matter-securing-prod-devices/index.md deleted file mode 100644 index f1af477..0000000 --- a/sld392-matter-securing-prod-devices/index.md +++ /dev/null @@ -1,2 +0,0 @@ -# Matter Securing Production Devices - diff --git a/sld406-matter-light-switch-example/01-wifi-light-switch-example.md b/sld406-matter-light-switch-example/01-wifi-light-switch-example.md index b41573a..5a6fdec 100644 --- a/sld406-matter-light-switch-example/01-wifi-light-switch-example.md +++ b/sld406-matter-light-switch-example/01-wifi-light-switch-example.md @@ -46,7 +46,7 @@ To run the Light and Switch Example on SiWx917 SOC, software must be installed. **Note**: Switch application is not supported for NCP devices. -1. In Simplicity Studio 5, create the Light MAD: +1. In Simplicity Studio 6, create the Light MAD: 1. Switch to the Launcher view (if not already in it). diff --git a/sld406-matter-light-switch-example/02-thread-light-switch-example.md b/sld406-matter-light-switch-example/02-thread-light-switch-example.md index 1eff3e6..579db34 100644 --- a/sld406-matter-light-switch-example/02-thread-light-switch-example.md +++ b/sld406-matter-light-switch-example/02-thread-light-switch-example.md @@ -4,23 +4,31 @@ 1. Prepare a compatible development board to become your Matter hub's ot-rcp: - 1. Start Simplicity Studio 5 with the latest SiSDK and Silicon Labs Matter SiSDK Extension installed (see details in the [Overview](/matter/{build-docspace-version}/matter-overview#software-requirements)). + 1. Start Simplicity Studio with the latest SiSDK and Silicon Labs Matter SiSDK Extension installed (see details in the [Overview](/matter/{build-docspace-version}/matter-overview#software-requirements)). - ![the Matter extension](./resources/image1.png) + ![the Matter extension](./resources/matter-sdk-version.png) 2. Connect the dev board to your development computer. - 3. Once it shows up in the Debug Adapters view, select it. + 3. Once it displays in the **Devices** panel, select it. - ![Debug Adapters view](resources/image2.png) + ![Devices view](resources/matter-ssv6-connected-devices.png) - 4. Go to the Example Projects and Demos tab. Select the **OpenThread** filter and enter *openthread rcp* in the **Filter on keywords** box. Select the **OpenThread - RCP** example and click **Run**. + The device page opens. + 4. Click **Create New Project**. + The **Example Projects & Demos** tab displays. + 5. Enter *openthread rcp* in the **Filter on keywords** box. + 6. Select the **OpenThread - RCP** example and click **Create**. - ![Example projects and demos view](resources/image3.png) + ![Example projects and demos view](resources/ssv6-ot-rcp-demo.png) - 5. Disconnect the dev board and connect it to your RPi4B. + 7. Now build & flash the ot-rcp project using the Simplicity Studio VS Code Extension (for a detailed breakdown of these steps, see the [Matter over Thread QuickStart Demo](/matter/{build-docspace-version}/-matter-quick-start-demo/02-thread-quick-start-demo.md#step-1-create-a-matter-sample-project). + This example shows a Matter Lighting device but the steps are identical for an RCP project). + 8. Once the RCP firmware has been built and flashes, disconnect the dev board and connect it to your Raspberry Pi. -2. Prepare the Raspberry Pi 4B (RPi4B) to become a Matter hub: + > Note: The Matter hub OpenThread RCP (ot-rcp) must be programmed with a bootloader and firmware image to act as the ot-rcp for the Raspberry Pi. You can obtain a copy of the latest version here: [Silicon Labs Matter Artifacts](/matter/{build-docspace-version}/matter-prerequisites/matter-artifacts). + +2. Prepare the Raspberry Pi (RPi4B in this example) to become a Matter hub: 1. Download and extract the Matter hub Raspberry Pi image (see details under [Software requirements](/matter/{build-docspace-version}/matter-overview#software-requirements)). @@ -64,52 +72,27 @@ You now have a working Matter hub. Keep the PuTTY session open for the following ## Creating the Matter Accessory Devices (MADs) -1. In Simplicity Studio 5, create the light MAD: - - 1. Switch to the Launcher view (if not already in it). - - 2. Connect one compatible dev board to your development computer. This example uses a BRD4186C. - - 3. Once it shows up in the Debug Adapters view, select it. - - 4. Go to the Example Projects and Demos tab, turn off **Demos**, check the **Matter** filter under **Wireless Technology**, and enter *thread* in the **Filter on keywords** box. Select the **Matter - SoC Lighting over Thread with external Bootloader Solution** and click **Create**. - - ![Select the example project](resources/example-project.png) - - 5. Name your project and click **Finish** (no other changes are required at this time). - - ![Create the project](resources/create-project.png) - - 6. Once the solution is created, select it in the Project Explorer view and click the hammer icon to build. This will begin building both the bootloader and application images. - - ![Build the project](resources/build-project.png) - - 7. Once the compilation is done, right-click the dev board in the Debug Adapters view and select **Upload application**. - - ![Upload application](resources/image13.png) +1. In Simplicity Studio, create the light MAD: - 8. Select the **Application image path** for your newly compiled solution application. The resulting application image will be within the **artifact** directory inside the solution project. This image has both the bootloader and application binaries combined into one image. Check **Erase chip before uploading image**. Bootloader images are also provided in the zip file referenced on the [Silicon Labs Matter Artifacts page](/matter/{build-docspace-version}/matter-prerequisites/matter-artifacts). Unzip and reference the extracted location if electing to use these default bootloader images. + 1. Connect one compatible dev board to your development computer. This example uses a BRD4187C. - ![Application image upload](resources/image-upload.png) + 2. Once it displays in the **Devices** panel, select it. - **Note**: If you are unsure of the path for the newly created binary, you can find the project’s path in the project’s *Properties* window under *Resource*. The binary is typically located in: - >*{solution folder}\|{project name folder}\|{GNU ARM v??? folder}\|{project name binary}.s37* + 3. This will bring up the Example Projects and Demos tab, check the **Matter** filter under **Wireless Technology**, and enter *lighting* in the **Filter on keywords** box. Select the **Matter - SoC Lighting over Thread with external Bootloader Solution** and click **Create**. - For example, you will find the binary for a Matter light over Thread project with the default name here: - >*{solution folder}/MatterLightOverThread/GNU ARM v12.2.1 - Default/MatterLightOverThread.s37* + ![Select the example project](resources/studio-6-matter-thread-demo-lighting-projects.png) - The combined binary (bootloader and application image) will be located in: - >*{solution folder}/MatterLightOverThread/artifact/MatterLightOverThreadSolution-full.s37* + 4. Name your project and click **Finish** (no other changes are required at this time). - **Note**: You should only need to upload a bootloader image and erase the chip once. Subsequent application uploads do not need the bootloader image or chip erasure. + 5. Once the solution is created, you will be redirected to the Projects view with the MatterLightOverThread.slcp file open. If not simply open the file yourself. - ![Image location](resources/image-location.png) + ![Build the project](resources/studio-6-matter-project-demo.png) - 9. If you are using a dev board with a WSTK, you should now see a QR code displayed on the WSTK's LCD. + 6. Building & flashing is done in Visual Studio Code using the Silicon Labs extension. For a detailed breakdown of these steps, see the [Matter over Thread QuickStart Demo](/matter/{build-docspace-version}/matter-quick-start-demo/02-thread-quick-start-demo.md#step-1-create-a-matter-sample-project). - 10. Disconnect the dev board from your development computer. + 7. If you are using a dev board with a WSTK, you should now see a QR code displayed on the WSTK's LCD. - 11. **Optional**: you may want to label this device as your light or switch, as appropriate, to make it easier to identify later. + 8. Disconnect the dev board from your development computer. 2. Repeat the process above with the second dev board but selecting the *Matter - SoC Light Switch over Thread* example instead. diff --git a/sld406-matter-light-switch-example/resources/image1.png b/sld406-matter-light-switch-example/resources/image1.png deleted file mode 100644 index 36fab61..0000000 Binary files a/sld406-matter-light-switch-example/resources/image1.png and /dev/null differ diff --git a/sld406-matter-light-switch-example/resources/matter-sdk-version.png b/sld406-matter-light-switch-example/resources/matter-sdk-version.png new file mode 100644 index 0000000..3d50f3c Binary files /dev/null and b/sld406-matter-light-switch-example/resources/matter-sdk-version.png differ diff --git a/sld406-matter-light-switch-example/resources/matter-ssv6-connected-devices.png b/sld406-matter-light-switch-example/resources/matter-ssv6-connected-devices.png new file mode 100644 index 0000000..7bec5a9 Binary files /dev/null and b/sld406-matter-light-switch-example/resources/matter-ssv6-connected-devices.png differ diff --git a/sld406-matter-light-switch-example/resources/ssv6-ot-rcp-demo.png b/sld406-matter-light-switch-example/resources/ssv6-ot-rcp-demo.png new file mode 100644 index 0000000..eb0bce4 Binary files /dev/null and b/sld406-matter-light-switch-example/resources/ssv6-ot-rcp-demo.png differ diff --git a/sld406-matter-light-switch-example/resources/studio-6-build.png b/sld406-matter-light-switch-example/resources/studio-6-build.png new file mode 100644 index 0000000..5a01c6a Binary files /dev/null and b/sld406-matter-light-switch-example/resources/studio-6-build.png differ diff --git a/sld406-matter-light-switch-example/resources/studio-6-matter-launcher.png b/sld406-matter-light-switch-example/resources/studio-6-matter-launcher.png new file mode 100644 index 0000000..bf1de4d Binary files /dev/null and b/sld406-matter-light-switch-example/resources/studio-6-matter-launcher.png differ diff --git a/sld406-matter-light-switch-example/resources/studio-6-matter-project-demo.png b/sld406-matter-light-switch-example/resources/studio-6-matter-project-demo.png new file mode 100644 index 0000000..74786d1 Binary files /dev/null and b/sld406-matter-light-switch-example/resources/studio-6-matter-project-demo.png differ diff --git a/sld406-matter-light-switch-example/resources/studio-6-matter-thread-demo-board-selector.png b/sld406-matter-light-switch-example/resources/studio-6-matter-thread-demo-board-selector.png new file mode 100644 index 0000000..52820c5 Binary files /dev/null and b/sld406-matter-light-switch-example/resources/studio-6-matter-thread-demo-board-selector.png differ diff --git a/sld406-matter-light-switch-example/resources/studio-6-matter-thread-demo-lighting-projects.png b/sld406-matter-light-switch-example/resources/studio-6-matter-thread-demo-lighting-projects.png new file mode 100644 index 0000000..3b0aeb7 Binary files /dev/null and b/sld406-matter-light-switch-example/resources/studio-6-matter-thread-demo-lighting-projects.png differ diff --git a/sld406-matter-light-switch-example/resources/studio-6-select-device.png b/sld406-matter-light-switch-example/resources/studio-6-select-device.png new file mode 100644 index 0000000..20f5a40 Binary files /dev/null and b/sld406-matter-light-switch-example/resources/studio-6-select-device.png differ diff --git a/sld406-matter-light-switch-example/resources/studio-connect-device-brd4186c.png b/sld406-matter-light-switch-example/resources/studio-connect-device-brd4186c.png new file mode 100644 index 0000000..fbb05bf Binary files /dev/null and b/sld406-matter-light-switch-example/resources/studio-connect-device-brd4186c.png differ diff --git a/sld406-matter-light-switch-example/resources/studio-create-project-thread-rcp.jpeg b/sld406-matter-light-switch-example/resources/studio-create-project-thread-rcp.jpeg new file mode 100644 index 0000000..f38e949 Binary files /dev/null and b/sld406-matter-light-switch-example/resources/studio-create-project-thread-rcp.jpeg differ diff --git a/sld406-matter-light-switch-example/resources/studio-sdk-install.png b/sld406-matter-light-switch-example/resources/studio-sdk-install.png new file mode 100644 index 0000000..074fb88 Binary files /dev/null and b/sld406-matter-light-switch-example/resources/studio-sdk-install.png differ diff --git a/sld407-matter-ota/01-ota-bootloader.md b/sld407-matter-ota/01-ota-bootloader.md index eabf25b..d839f39 100644 --- a/sld407-matter-ota/01-ota-bootloader.md +++ b/sld407-matter-ota/01-ota-bootloader.md @@ -2,7 +2,7 @@ The Matter OTA Software Update functionality on EFR32 devices requires the use of a Gecko Bootloader built with correct configuration parameters. The key parameters are the storage slot size and (in case of internal storage) storage slot address. The current document lists the steps required to build the Gecko Bootloader for Matter OTA Update and discusses the configuration parameter selection. For a detailed discussion of Gecko Bootloader refer to *UG489: Silicon Labs Gecko Bootloader User's Guide for GSDK 4.0 and Higher*. -The Gecko Bootloader is built with Silicon Labs Simplicity Studio. These instructions assume that you have installed Simplicity Studio 5, the Simplicity Commander tool (installed by default with Simplicity Studio), the GSDK and associated utilities, and that you are familiar with generating, compiling, and flashing an example application in the relevant version. +The Gecko Bootloader is built with Silicon Labs Simplicity Studio. These instructions assume that you have installed Simplicity Studio 6, the Simplicity Commander tool (installed by default with Simplicity Studio), the GSDK and associated utilities, and that you are familiar with generating, compiling, and flashing an example application in the relevant version. ## Bootloader Project In Studio @@ -33,7 +33,7 @@ Build the project by clicking on the hammer icon in the Studio toolbar. Flash th ## Internal Bootloader: Image Size, Selecting Storage Slot Address and Size -The internal storage bootloader for Matter OTA Software Update is supported on MG24/MG26 boards. In this use case, both the running image and the downloadable update image must fit on the internal flash at the same time. This in turn requires that both images are built with a reduced feature set such as disabled logging and Matter shell (see [here](./02-ota-software-update.md#Internal-Storage-Bootloader) for the list of features). Using LZMA compression when building the GBL file further reduces the downloaded image size. +The internal storage bootloader for Matter OTA Software Update is supported on MG24/MG26 boards. In this use case, both the running image and the downloadable update image must fit on the internal flash at the same time. This in turn requires that both images are built with a reduced feature set such as disabled logging and Matter shell (see [here](./02-ota-software-update.md#Internal-Storage-Bootloader) for the list of features). See [Code Savings Guide](/matter/{build-docspace-version}/matter-overview-guides/code-size-savings) for a general guide on reducing the application image size. Using LZMA compression when building the GBL file further reduces the downloaded image size. When building an internal storage bootloader, the two key configuration parameters are the **Slot Start Address** and **Slot Size** in the **Bootloader Storage Slot** component. The storage slot must not overlap with the running image and the NVM section of the flash. In other words, the slot start address must be greater than the end of the running image address and the sum of the start address and the slot size must be less than the address of the NVM section. diff --git a/sld407-matter-ota/02-ota-software-update.md b/sld407-matter-ota/02-ota-software-update.md index 4d00ff3..87d7c20 100644 --- a/sld407-matter-ota/02-ota-software-update.md +++ b/sld407-matter-ota/02-ota-software-update.md @@ -125,7 +125,7 @@ With this configuration the device will query the OTA-Provider for an available ## Internal Storage Bootloader -Internal storage bootloader for Matter OTA software update is supported on MG24/MG26 boards. In this use case, both the running image and the downloadable update image must fit on the internal flash at the same time. This in turn requires that both images are built with a reduced feature set, such as disabled logging and Matter shell. See [Creating the Bootloader for Use in Matter OTA](01-ota-bootloader.md) for more details. +Internal storage bootloader for Matter OTA software update is supported on MG24/MG26 boards. In this use case, both the running image and the downloadable update image must fit on the internal flash at the same time. This in turn requires that both images are built with a reduced feature set, such as disabled logging and Matter shell. See [Creating the Bootloader for Use in Matter OTA](01-ota-bootloader.md) for more details. See [Code Savings Guide](/matter/{build-docspace-version}/matter-overview-guides/code-size-savings) for a general guide on reducing the application image size. Installing the Lower Power Mode component in the project's Software Components tool in Simplicity Studio will uninstall the following optional components and reduce the image size: diff --git a/sld407-matter-ota/03-ota-software-update-soc.md b/sld407-matter-ota/03-ota-software-update-soc.md index 0aae2f6..746c9b9 100644 --- a/sld407-matter-ota/03-ota-software-update-soc.md +++ b/sld407-matter-ota/03-ota-software-update-soc.md @@ -202,7 +202,7 @@ First combined image is formed from M4 and TA images using **Combined Image(TA+M **Encrypted Image Upgrade** -The TLV encryption will be controlled by the `--enc_enable` and `--input_ota_key` parameters passed to the `ota_multi_image_tool.py` script. The AES key will be programmed to the device by the Silicon Labs Matter Provisioning Tool (see https://docs.silabs.com/matter/2.2.0/matter-overview-guides/matter-provisioning and https://confluence.silabs.com/display/MATTER/Matter+Provisioning). The `ota_key` argument to the provision script should be used to provision the AES key to the device for decrypting OTA payload. +The TLV encryption will be controlled by the `--enc_enable` and `--input_ota_key` parameters passed to the `ota_multi_image_tool.py` script. The AES key will be programmed to the device by the Silicon Labs Matter Provisioning Tool (see [Matter Provisioning](/matter/{build-docspace-version}/matter-provisioning/)). The `ota_key` argument to the provision script should be used to provision the AES key to the device for decrypting OTA payload. ```shell Example command:./provision.py write -ok diff --git a/sld407-matter-ota/04-build-ota-application-using-studio.md b/sld407-matter-ota/04-build-ota-application-using-studio.md index b472877..2f3f96e 100644 --- a/sld407-matter-ota/04-build-ota-application-using-studio.md +++ b/sld407-matter-ota/04-build-ota-application-using-studio.md @@ -10,97 +10,66 @@ In the Matter OTA Software Update scenario, the running image (OTA-A) and the up 2. To install the software packages for Simplicity Studio, refer [Software Package Installation](/matter/{build-docspace-version}/matter-wifi-getting-started-example/software-installation#installation-of-software-packages) -3. Log in to Simplicity Studio and connect the board to the computer. +3. In Simplicity Studio, click on **Matter**, under **Example Projects and Demos**, select a project, and click **Create**. -4. Go to the **All Products** section. - - ![Silicon Labs - design](images/all-products-selection.png) - -5. Type and select the radio board from the displayed list and select **Start**. - - ![Silicon Labs - design](images/select-efx-board.png) - -6. The Launcher page will display the selected radio board's details. - - ![Silicon Labs - design](images/overview-tab-efx32.png) - -7. Verify the following in the **General Information** section: - - The Debug Mode is Onboard Device (MCU). - - The Preferred SDK is the version you selected earlier. - - ![Silicon Labs - design](images/create-project-verify-efx-general-information.png) + ![Example Projects and Demos](images/studio-home-tab.png) + ![Example Projects and Demos](images/studio-create-project.jpeg) -8. Click **Example Projects and Demos**, select a project, and then click **Create**. - - ![Silicon Labs - design](images/create-project-select-efx-example.png) +4. In the Project Configuration window, Select the board and click **Next**. + ![Select Board](images/studio-select-board.png) + - Set - + - Solution and Project Name. + - Select Target IDE. + - Click **Finish**. + + ![Finish project](images/studio-project-configuration.jpeg) -9. In the **New Project Wizard** window, click **Finish**. - - ![Silicon Labs - design](images/create-project-click-finish.png) +5. Once the project is created, click the **Open in VS Code** option on the top right corner. + ![Open project in VS Code](images/studio-open-vscode.png) -10. Once the project is created, right-click the project and select **Build Project** in the Project Explorer tab. - - ![Silicon Labs - design](images/project-created-efx32.png) +6. In VS Code, click the Studio Extension on the left panel and select **Build** option (Hammer Icon) in the Workspace tab. -11. Once the project is compiled successfully, go to the Project Explorer view and expand binaries folder to flash the binary. - - ![Silicon Labs - design](images/select-binary-to-flash-efx32.png) + ![Project Created](images/vscode-build-flash.png) -12. Right-click the selected *.s37* binary and click **Flash to Device**. +7. Once the project is compiled successfully, the binaries can be flashed either using the **Simplicity Commander** from the tools or using the **Flash** option beside the **Build**. - >**Note**: For EFR32 devices, *.s37* binary is used and for SiWx917 SOC, select *.rps* binary and click **Flash to Device**. + ![Flash Project](images/vscode-flash.jpeg) - ![Silicon Labs - design](images/siwx917-soc-flashtodevice.png) +8. When using Commander, select the kit and click the **Flash** option in the left panel. Click **Erase chip**. -13. The Flash programmer window opens. Click **Erase** and then **Program** to start the flashing. - - ![Silicon Labs - design](images/flash-binary-to-efx32-device.png) +9. Select the path for the project's **.s37** or **.rps** binary and click **Flash**. + ![Flash to Device](images/commander-flash-project.png) -**Note:** By default, device logs are enabled on UART (serial terminal). +> **Note:** By default, device logs are enabled on UART (serial terminal). ## Create and build Project for matter OTA-B application - Matter OTA-B application will be used to create gbl for EFR32MG2x & *.rps* for SiWx917 SOC OTA file and OTA-A will be used to flash to the matter device. - For Matter OTA-B application need to change Version in *sl_matter_config.h* file before building. -1. [Download](https://www.silabs.com/developers/simplicity-studio) and Install Simplicity Studio. - -2. To install the software packages for Simplicity Studio, refer [Software Package Installation](/matter/{build-docspace-version}/software-installation.md#installation-of-software-packages) - -3. Log in to Simplicity Studio and connect the board to the computer. - -4. Click **All Products**. - - ![Silicon Labs - design](images/all-products-selection.png) - -5. Type and select the radio board from the displayed list and click **Start**. - - ![Silicon Labs - design](images/select-efx-board.png) +. In Simplicity Studio, click on **Matter**, under **Example Projects and Demos**, select a project, and click **Create**. -6. The Launcher page will display the selected radio board's details. - - ![Silicon Labs - design](images/overview-tab-efx32.png) + ![Example Projects and Demos](images/studio-home-tab.png) + ![Example Projects and Demos](images/studio-create-project.jpeg) -7. Verify the following in the General Information section: - - The Debug Mode is Onboard Device (MCU). - - The Preferred SDK is the version you selected earlier. - - ![Silicon Labs - design](images/create-project-verify-efx-general-information.png) +2. In the Project Configuration window, Select the board and click **Next**. + ![Select Board](images/studio-select-board.png) + - Set - + - Solution and Project Name. + - Select Target IDE. + - Click **Finish**. + + ![Finish project](images/studio-project-configuration.jpeg) -8. Click **Example Projects and Demos**, select a project, and then click **Create**. - - ![Silicon Labs - design](images/create-project-select-efx-example.png) +3. In the newly created project, navigate to **Software Components > Silicon Labs Matter > Stack > Matter Core Components**, click **Configure**, and set the **Device software version** and **Device software version string** parameters to **2**. -9. In the N**ew Project Wizard** window, click **Finish**. - - ![Silicon Labs - design](images/create-project-click-finish.png) +4. Once the modification is done for Software version, click the **Open in VS Code** option on the top right corner. + ![Open project in VS Code](images/studio-open-vscode.png) -10. In the newly created project, navigate to **Software Components > Silicon Labs Matter > Stack > Matter Core Components**, click **Configure**, and set the **Device software version** and **Device software version string** parameters to **2**. +5. In VS Code, click the Studio Extension on the left panel and select **Build** option (Hammer Icon) in the Workspace tab. -11. Once the modification is done for Software version, right-click the project and select **Build Project** in the Project Explorer tab. - - ![Silicon Labs - design](images/project-created-efx32.png) + ![Project Created](images/vscode-build-flash.png) -12. Once the project is compiled successfully, go to the Project Explorer view and expand the OTA-B project binaries folder. Using the application *.s37*_ file, create a .gbl file using Simplicity commander. +6. Once the project is compiled successfully, go to the Project Explorer view and expand the OTA-B project binaries folder. Using the application **.s37** file, create a **.gbl** file using Simplicity commander. -13. After Creation of OTA-B application, run the OTA Scenario. +7. After Creation of OTA-B application, run the OTA Scenario. diff --git a/sld407-matter-ota/images/commander-flash-project.png b/sld407-matter-ota/images/commander-flash-project.png new file mode 100644 index 0000000..9da63d9 Binary files /dev/null and b/sld407-matter-ota/images/commander-flash-project.png differ diff --git a/sld407-matter-ota/images/studio-create-project.jpeg b/sld407-matter-ota/images/studio-create-project.jpeg new file mode 100644 index 0000000..5b58cc1 Binary files /dev/null and b/sld407-matter-ota/images/studio-create-project.jpeg differ diff --git a/sld407-matter-ota/images/studio-home-tab.png b/sld407-matter-ota/images/studio-home-tab.png new file mode 100644 index 0000000..9fcc465 Binary files /dev/null and b/sld407-matter-ota/images/studio-home-tab.png differ diff --git a/sld407-matter-ota/images/studio-open-vscode.png b/sld407-matter-ota/images/studio-open-vscode.png new file mode 100644 index 0000000..646cdc2 Binary files /dev/null and b/sld407-matter-ota/images/studio-open-vscode.png differ diff --git a/sld407-matter-ota/images/studio-project-configuration.jpeg b/sld407-matter-ota/images/studio-project-configuration.jpeg new file mode 100644 index 0000000..d850220 Binary files /dev/null and b/sld407-matter-ota/images/studio-project-configuration.jpeg differ diff --git a/sld407-matter-ota/images/studio-select-board.png b/sld407-matter-ota/images/studio-select-board.png new file mode 100644 index 0000000..c88f00b Binary files /dev/null and b/sld407-matter-ota/images/studio-select-board.png differ diff --git a/sld407-matter-ota/images/studio-tools-commander.png b/sld407-matter-ota/images/studio-tools-commander.png new file mode 100644 index 0000000..c1193c9 Binary files /dev/null and b/sld407-matter-ota/images/studio-tools-commander.png differ diff --git a/sld407-matter-ota/images/vscode-build-flash.png b/sld407-matter-ota/images/vscode-build-flash.png new file mode 100644 index 0000000..8c237b2 Binary files /dev/null and b/sld407-matter-ota/images/vscode-build-flash.png differ diff --git a/sld407-matter-ota/images/vscode-flash.jpeg b/sld407-matter-ota/images/vscode-flash.jpeg new file mode 100644 index 0000000..72baa0d Binary files /dev/null and b/sld407-matter-ota/images/vscode-flash.jpeg differ diff --git a/sld407-matter-ota/images/wifi-9116-gpio-connections.png b/sld407-matter-ota/images/wifi-9116-gpio-connections.png deleted file mode 100644 index 9907009..0000000 Binary files a/sld407-matter-ota/images/wifi-9116-gpio-connections.png and /dev/null differ diff --git a/sld407-matter-ota/images/wifi-9116-powermeter-wifimodule.png b/sld407-matter-ota/images/wifi-9116-powermeter-wifimodule.png deleted file mode 100644 index 6becba3..0000000 Binary files a/sld407-matter-ota/images/wifi-9116-powermeter-wifimodule.png and /dev/null differ diff --git a/sld407-matter-ota/images/wifi-9116-powerprofiler.png b/sld407-matter-ota/images/wifi-9116-powerprofiler.png deleted file mode 100644 index 0cfc4cf..0000000 Binary files a/sld407-matter-ota/images/wifi-9116-powerprofiler.png and /dev/null differ diff --git a/sld416-matter-certification/index.md b/sld416-matter-certification/index.md index 7c4e23b..b5f2d86 100644 --- a/sld416-matter-certification/index.md +++ b/sld416-matter-certification/index.md @@ -41,16 +41,15 @@ Pre-testing new Matter products using the Matter Test Harness (TH) before sendin - **Support**: If issues are encountered during pre-testing, Silicon Labs can provide more efficient support. - **Test Accuracy**: Occasionally, issues can arise from the test itself rather than the Device Under Test (DUT) firmware. In such cases, additional parameters might be needed to run certain tests successfully. Pre-testing helps identify and address these issues ahead of time. -If your Matter ceritifcation process includes inheritance of our OpenThread Certification Libraries for an SoC product, you will need to provide proof of the use of those libraries using the linker output. To ensure your project generates this, make sure during your pre-testing to do the following (these steps assume the use of Simplicity Studio v5): +If your Matter certification process includes inheritance of our OpenThread Certification Libraries for an SoC product, you will need to provide proof of the use of those libraries using the linker output. To ensure your project generates this, make sure during your pre-testing to do the following (these steps assume the use of Simplicity Studio v6): + - Add the **OpenThread Certification Libraries** component to your project. + + ![OpenThread Certification Libraries Component](./resources/studio-6-ot-cert-libs-component.png) + - Add the "-WL,-verbose" linker option through gcc (see screenshot below): - - Open the project properties by either right-clicking the project and selecting **Properties** from the **Project Explorer** or from the **Project** menu at the top while the project is selected. - - On the left side, browse to **C/C++ Build** > **Settings**. - - Under **Tool Settings**, browse to **GNU ARM C++ Linker** > **Miscellaneous**. - - Under **Linker Flags**, add a new entry containing "*-Wl,--verbose*" and click **Apply** and **Apply and Close**. - - Finally, from the **Project** menu choose **Clean...** and perform a clean and fresh build. - ![Matter Project SSv5 Wl verbose steps](resources/matter-certification-ssv5-wlverbose-steps.png) + ![Matter Project SSv6 Wl verbose steps](resources/vs-code-verbose-linker-option.png) ## Possible Matter Certification Paths diff --git a/sld416-matter-certification/resources/studio-6-ot-cert-libs-component.png b/sld416-matter-certification/resources/studio-6-ot-cert-libs-component.png new file mode 100644 index 0000000..ade9374 Binary files /dev/null and b/sld416-matter-certification/resources/studio-6-ot-cert-libs-component.png differ diff --git a/sld416-matter-certification/resources/vs-code-verbose-linker-option.png b/sld416-matter-certification/resources/vs-code-verbose-linker-option.png new file mode 100644 index 0000000..a6a226f Binary files /dev/null and b/sld416-matter-certification/resources/vs-code-verbose-linker-option.png differ diff --git a/sld464-matter-smg-migration-guide/index.md b/sld464-matter-smg-migration-guide/index.md deleted file mode 100644 index 0e14cb1..0000000 --- a/sld464-matter-smg-migration-guide/index.md +++ /dev/null @@ -1,44 +0,0 @@ -# Matter Secure Manufacturing - -At Silicon Labs, we prioritize security by providing manufacturing solutions that enable customers to ensure that the integrity and security of their Matter devices is kept. This page explores the requirements set by the Connectivity Standards Alliance (CSA), which establish the standard for secure Matter IoT device production. Our goal is to contribute to the creation of a safer, more intelligent and connected world. - -When manufacturing a Matter product you must follow the Matter Security Requirements defined by the CSA. A number of these requirements are mandatory and others are recommended. We provide the following most relevant requirements to help our customers in their Production Journey. - -## Matter Manufacturing - -What should your Matter device include? - -- Device Attestation Credential (DAC) and private key unique to your device. This private key must be protected from unauthorized access. -- Onboarding Payload (Vendor ID (VID), Product ID (PID), discriminator, and passcode) -- Certification Declaration (CD) -- Product Attestation Intermediate (PAI) - ->Note: For more details on the data injected, refer to [Device Attestation](/matter/{build-docspace-version}/matter-device-attestation/). - -- DAC Private Key stored as securely as the part will allow: - - - For **Secure Vault™ High** parts: Private DAC Key is Physical Unclonable Functions (PUF) wrapped which protects it against Remote Logical attacks and Local Physical attacks - - - For **Secure Vault™ Mid** parts: Private DAC Key is in Flash behind a Trusted Execution Environment (TEE) which protects it from Remote Logical attacks - -## Matter Commissioning - -- The certificate chain (Product Attestation Authority (PAA), PAI, and DAC) must be verified to ensure only authentic Matter devices can be commissioned. -- Matter Onboarding Payload must be checked against the Distributed Compliance Ledger (DCL) and CD to ensure that only authentic Matter devices are commissioned into the network. - -## Device Communication - -- Communication between Matter devices must be secured and encrypted using cryptographic keys and a Password-Based Key Derivation Function (PBKDF). See [NIST 800-132](https://csrc.nist.gov/pubs/sp/800/132/final) for details on PBKDF. -- Authentication and encryption keys must be generated by a “Deterministic Random Bit Generator” seeded by a True Random Number Generator (TRNG). See [NIST 800-90B](https://csrc.nist.gov/pubs/sp/800/90/b/final) for details on TRNG. - -## Other Recommended Security Specifications - -- Software updates: Devices must support secure OTA firmware updates to allow vulnerabilities to be patched. -- Debug interfaces should be disabled to only allow authorized access (fusing). For more information on the different functionalities available by Silicon Labs, refer to [AN1190: Series 2 Secure Debug](https://www.silabs.com/documents/public/application-notes/an1190-efr32-secure-debug.pdf). -- Devices should have a verified boot process based on a root of trust to ensure firmware authenticity. Silicon Labs offers Secure Boot to ensure firmware authenticity. For further information on Secure Boot, refer to [AN1218: Series 2 Secure Boot with RTSL](https://www.silabs.com/documents/public/application-notes/an1218-secure-boot-with-rtsl.pdf). -- DACs and operational private key confidentiality should be protected from remote attacks. -- The software should be encrypted at rest to prevent unauthorized access to core IP. -- Devices should be protected against physical attacks to prevent tampering, side-channel, or debug glitching attacks. [AN1247: Anti-Tamper Protection Configuration and Use](https://www.silabs.com/documents/public/application-notes/an1247-efr32-secure-vault-tamper.pdf). -- Devices should have the capability to perform a factory reset and remove all their security and privacy-related data after commissioning. - -Silicon Labs offers services to comply with all the mandatory and recommended security best practices to ensure that your Matter device is Secure. We have partnered with Kudelski to generate and deliver Matter Device Attestation Certificates (DAC) for our [Custom Part Manufacturing Service (CPMS)](/matter/{build-docspace-version}/matter-using-cpms). For more information on the security features that CPMS offers, refer to [Custom Part Manufacturing Service](https://docs.silabs.com/iot-security/latest/iot-security-cpms/). diff --git a/sld477-matter-quick-start-demo/01-wifi-quick-start-demo.md b/sld477-matter-quick-start-demo/01-wifi-quick-start-demo.md index 4529068..93a40f9 100644 --- a/sld477-matter-quick-start-demo/01-wifi-quick-start-demo.md +++ b/sld477-matter-quick-start-demo/01-wifi-quick-start-demo.md @@ -4,7 +4,7 @@ This Quick-Start Guide will demo the out-of-box experience for adding an SiWx917 ## Software Requirements -- Simplicity Studio v5 with SiSDK - 2025.6.1 + Silicon Labs Matter - 2.6.1 + WiSeConnect - 3.5.1 +- Simplicity Studio v6 with SiSDK - 2025.12.0 + Silicon Labs Matter - 2.8.0 + WiSeConnect - 4.0.0 - Simplicity Connect mobile App on Smartphone ## Hardware Requirements @@ -30,18 +30,16 @@ This Quick-Start Guide will demo the out-of-box experience for adding an SiWx917 ### Step 2: Launch Simplicity Studio -If the following screen does not appear automatically, select the Launcher icon on the top right of the window. The SiWx917 SoC will appear in the **Connected Devices** tab. +The SiWx917 SoC will appear in the **Devices** tab. -![Simplicity Studio Launcher](./images/studio-launcher-wifi.png) +![Studio Devices](./images/studio-device-brd4338a.jpeg) -Click the start button and the following screen will appear. Navigate to the **Example Projects & Demos** tab and filter for *Matter*. +Click the **Example Projects & Demos** tab and filter for *Matter*. -![Simplicity Studio Example Projects & Demos](./images/studio-demos-wifi.png) +![Simplicity Studio Example Projects & Demos](./images/wifi-light-demo.png) For this quick start guide, select the **Matter - SoC Siwx917 Lighting Example over Wi-Fi** demo. A number of other apps are also available including a Lock, Thermostat, Appliance, and Window Covering. When ready, click **Run** to flash the device. When the device is flashed, a QR code will appear on the WSTK screen. If no QR appears on the screen, the connectivity firmware may need to be updated. Follow the steps here for [Upgrading the Connectivity Firmware on SoC Devices](https://docs.silabs.com/matter/latest/matter-wifi-run-demo/loading-firmware-for-ncp-and-soc-boards#upgrading-the-connectivity-firmware-on-so-c-devices). -![Simplicity Studio Run Demo](./images/studio-run-demo-wifi.png) - ### Step 3: Prepare the Device for Commissioning Hold **BTN0** on the WSTK for 6 seconds to factory reset the device. You will notice **LED0** will blink 3 times. The device is now ready to be commissioned to an ecosystem via the appropriate smartphone app. @@ -78,30 +76,31 @@ Once commissioning completes, the Apple Home app prompts you to select one room ## Taking it Further -After successfully running the Matter Lighting app to the ecosystem, the next step is to create, build, and flash a Matter sample project from Simplicity Studio. +After successfully running the Matter Lighting app to the ecosystem, the next step is to create, build, and flash a Matter sample project from Simplicity Studio. This section describes creating a new Matter project, building it in the Silicon Labs Extension for the Visual Studio Code IDE, and flashing it to the EFR32 SoC device. + +For instructions on installing Simplicity Studio and the Silicon Labs Extension for the Visual Studio Code IDE, refer to the [Simplicity Studio 6 Getting Started Guide](https://docs.silabs.com/ssv6ug/latest/ssv6ug-overview/) and [Simplicity Studio Extension for VS Code](https://docs.silabs.com/ss-vscode/latest/ss-vscode-start/). ### Step 1: Create a Matter Sample Project -1. Open Simplicity Studio and select **Create New Project**. -2. Filter for *Matter* and select the **Matter - SoC SiWx917 Lighting Example over Wi-Fi** sample application and select **Next**. -3. Click **Finish**. - Simplicity Studio will create a new Solution called **MatterLightOverWiFiSolution** with the **MatterLightOverWiFi** project inside. -4. Open the project. +1. Open Simplicity Studio and repeat the same steps as [above](#flashing-the-siwx917-soc-matter-accessory-device). +2. Instead of selecting **Run** for the demo, click **Create** for the **Matter - SoC Lighting over WiFi** example. +3. Review the Project Configuration and click **Finish**. Simplicity Studio creates a new Solution called MatterLightOverWiFiolution with the MatterLightOverWiFi project inside the workspace. +4. After the project is created, click the **Open in VS Code** button to open the project in the Silicon Labs Extension for the Visual Studio Code IDE. + +### Step 2: Build the Project in the Silicon Labs Extension for the Visual Studio Code IDE + +1. Once the MatterLightOverWiFiSolution is open, hover over the solution and click the **Build** button. -### Step 2: Build the Project + ![Building the project](./images/studio-6-build.png) -1. Once the project is open, click the **Build** button in the toolbar. 2. Ensure that the build completes successfully without any errors. ### Step 3: Flash the Device -1. After building the project, the output will include an `.rps` file in the GNU ARM v12.2.1 - Default folder. -2. Connect the Silabs WSTK + SiWx917 SoC to the PC via USB. -3. Navigate to **Tools** and open Simplicity Commander. -4. Select the desired board according to its serial number and navigate to the **Flash** tab. -5. Click **Browse** and select the `.rps` file from the build output. -6. Click **Flash** to flash the device. +1. After building the project, the output will include an `.rps` file in the artifact folder. +2. Connect the Silabs WSTK + 917 SoC to the PC via USB. +3. Hover over either of the binaries in the Binaries folder to reveal the Flash button. One of these is only the application while the other includes the application and the external bootloader. Click **Flash** to flash the device. -Once the device is flashed, it will be ready for commissioning and further testing. +Once the device is flashed, it is ready for commissioning and further testing. > **Note:** By default, device logs are enabled on UART (serial terminal). Refer to [Logging Configurations](/matter/{build-docspace-version}/matter-overview-guides/matter-logging-configuration) to configure the logging destination to JLink or UART. diff --git a/sld477-matter-quick-start-demo/02-thread-quick-start-demo.md b/sld477-matter-quick-start-demo/02-thread-quick-start-demo.md index 90e6e25..7cd7a5b 100644 --- a/sld477-matter-quick-start-demo/02-thread-quick-start-demo.md +++ b/sld477-matter-quick-start-demo/02-thread-quick-start-demo.md @@ -1,18 +1,18 @@ # Matter over Thread Quick-Start Demo -This Quick-Start Guide will demo the out-of-box experience for adding an EFR32MG24 Matter Accessory Device to ecosystems. +This Quick-Start Guide demonstrates the out-of-box experience for adding an EFR32MG24 Matter Accessory Device to ecosystems. Other boards are also supported. For the full list of Matter capable hardware, refer to the [Silicon Labs Matter Selector Guide](https://www.silabs.com/wireless/matter/selector-guide). This demo uses the **Matter - SoC Lighting over Thread** example application available in Simplicity Studio. The guide walks through flashing the EFR32 SoC device, commissioning it to an ecosystem using the Simplicity Connect mobile app, and controlling it from either Google Home or Apple Home apps. ## Software Requirements -- Simplicity Studio v5 with SiSDK - 2025.6.1 + Silicon Labs Matter - 2.6.1 +- Simplicity Studio v6 with SiSDK - 2025.12.0 + Silicon Labs Matter - 2.8.0 - Simplicity Connect mobile App on Smartphone ## Hardware Requirements - Android smartphone OR iPhone -- 1 x Silabs WSTK + EFR32MG24 2.4 GHz 20 dBm RB (BRD4161A) +- 1 x Silabs WSTK + EFR32MG24 2.4 GHz 20 dBm RB (BRD4187C) ->**Note:** Refer to [EFR32MG24 Tech Docs](https://www.silabs.com/development-tools/wireless/efr32xg24-pro-kit-20-dbm?tab=techdocs) for more details. +>**Note**: Refer to [EFR32MG24 Tech Docs](https://www.silabs.com/development-tools/wireless/efr32xg24-pro-kit-20-dbm?tab=techdocs) for more details. ### (Optional) Ecosystem requirements @@ -30,17 +30,25 @@ This Quick-Start Guide will demo the out-of-box experience for adding an EFR32MG ### Step 2: Launch Simplicity Studio -If the following screen does not appear automatically, select the Launcher icon on the top right of the window. The EFR32MG24 will appear in the **Connected Devices** tab. +If the following screen does not appear automatically, click the **Home** icon If the Matter extension is installed, you should see the Matter tile like in the image below. -![Simplicity Studio Launcher](./images/studio-launcher-thread.png) +Click the Matter tile. The **Example Projects & Demos** tab will appear already filtered for Matter. -Click the start button and the following screen will appear. Navigate to the **Example Projects & Demos** tab and filter for *Matter*. +![Simplicity Studio Launcher](./images/studio-6-matter-launcher.png) -![Simplicity Studio Example Projects & Demos](./images/studio-demos-thread.png) +Click **Select Device** and the connected devices should appear. -For this quick start guide, select the **Matter - SoC Lighting over Thread** demo. A number of other apps are also available including a Lock, Thermostat, Appliance, and Window Covering. When ready, click **Run** to flash the device. When the device is flashed, a QR code will appear on the WSTK screen. +![Simplicity Studio Example Projects & Demos](./images/studio-6-select-device.png) + +Select the appropriate device, in this case BRD4187C. + +![Simplicity Studio Select Device](./images/studio-6-matter-thread-demo-board-selector.png) -![Simplicity Studio Run Demo](./images/studio-run-demo-thread.png) +Type **lighting** into the keyword search and you will see the following screen. + +![Simplicity Studio Example Projects & Demos](./images/studio-6-matter-thread-demo-lighting-projects.png) + +For this quick start guide, select the **Matter - SoC Lighting over Thread** demo. A number of other apps are also available including a Lock, Thermostat, Appliance, and Window Covering. When ready, click **Run** to flash the device. When the device is flashed, a QR code will appear on the WSTK screen. ### Step 3: Prepare the Device for Commissioning @@ -92,34 +100,37 @@ Once commissioning completes, the Apple Home app prompts you to select one room ## Taking it Further -After successfully running the Matter Lighting app to the ecosystem, the next step is to create, build, and flash a Matter sample project from Simplicity Studio. +After successfully running the Matter Lighting app to the ecosystem, the next step is to create, build, and flash a Matter sample project from Simplicity Studio. This section describes creating a new Matter project, building it in the Silicon Labs Extension for the Visual Studio Code IDE, and flashing it to the EFR32 SoC device. + +For instructions on installing Simplicity Studio and the Silicon Labs Extension for the Visual Studio Code IDE, refer to the [Simplicity Studio 6 Getting Started Guide](https://docs.silabs.com/ssv6ug/latest/ssv6ug-overview/) and [Simplicity Studio Extension for VS Code](https://docs.silabs.com/ss-vscode/latest/ss-vscode-start/). ### Step 1: Create a Matter Sample Project -1. Open Simplicity Studio and select **Create New Project**. -2. Filter for *Matter* and select the **Matter - SoC Lighting over Thread with external Bootloader** sample application and select **Create**. -3. Click **Finish**. - Simplicity Studio will create a new Solution called MatterLightOverWiFiSolution with the MatterLightOverThreadSolution project inside. -4. Open the project. +1. Open Simplicity Studio and repeat the same steps as [above](#flashing-the-efr32-soc-matter-accessory-device). +2. Instead of selecting **Run** for the demo, click **Create** for the **Matter - SoC Lighting over Thread with external Bootloader** example. +3. Review the Project Configuration and click **Finish**. Simplicity Studio creates a new Solution called MatterLightOverThreadSolution with the MatterLightOverThread project inside the workspace. + ![Creating a project](./images/studio-6-matter-project-demo.png) +4. After the project is created, click the **Open in VS Code** button to open the project in the Silicon Labs Extension for the Visual Studio Code IDE. - ![Creating a project](./images/studio-project.png) +### Step 2: Build the Project in the Silicon Labs Extension for the Visual Studio Code IDE -### Step 2: Build the Project +1. Once the MatterLightOverThreadSolution is open, hover over the solution and click the **Build** button. -1. Once the project is open, click the **Build** button in the toolbar. -2. Ensure that the build completes successfully without any errors. + ![Building the project](./images/studio-6-build.png) - ![Creating a project](./images/studio-build.png) +2. Ensure that the build completes successfully without any errors. ### Step 3: Flash the Device -1. After building the project, the output will include an `.s37` file in the GNU ARM v12.2.1 - Default folder. +1. After building the project, the output will include an `.s37` file in the Binaries folder. 2. Connect the Silabs WSTK + EFR32 SoC to the PC via USB. -3. Navigate to **Tools** and open Simplicity Commander. -4. Select the desired board according to its serial number and navigate to the **Flash** tab. -5. Click **Browse** and select the `.s37` file from the build output. -6. Click **Flash** to flash the device. +3. Hover over either of the binaries in the Binaries folder to reveal the Flash button. One of these is only the application while the other includes the application and the external bootloader. Click **Flash** to flash the device. + + ![flashing the binary](./images/flashing-studio-6.png) +4. A successful flash will looks like the image below. + + ![successful flash](./images/successful-flash.png) -Once the device is flashed, it will be ready for commissioning and further testing. +Once the device is flashed, it is ready for commissioning and further testing. > **Note:** By default, device logs are enabled on UART (serial terminal). Refer to [Logging Configurations](/matter/{build-docspace-version}/matter-overview-guides/matter-logging-configuration) to configure the logging destination to JLink or UART. diff --git a/sld477-matter-quick-start-demo/images/flashing-studio-6.png b/sld477-matter-quick-start-demo/images/flashing-studio-6.png new file mode 100644 index 0000000..21922f5 Binary files /dev/null and b/sld477-matter-quick-start-demo/images/flashing-studio-6.png differ diff --git a/sld477-matter-quick-start-demo/images/studio-6-build.png b/sld477-matter-quick-start-demo/images/studio-6-build.png new file mode 100644 index 0000000..5a01c6a Binary files /dev/null and b/sld477-matter-quick-start-demo/images/studio-6-build.png differ diff --git a/sld477-matter-quick-start-demo/images/studio-6-matter-launcher.png b/sld477-matter-quick-start-demo/images/studio-6-matter-launcher.png new file mode 100644 index 0000000..bf1de4d Binary files /dev/null and b/sld477-matter-quick-start-demo/images/studio-6-matter-launcher.png differ diff --git a/sld477-matter-quick-start-demo/images/studio-6-matter-project-demo.png b/sld477-matter-quick-start-demo/images/studio-6-matter-project-demo.png new file mode 100644 index 0000000..74786d1 Binary files /dev/null and b/sld477-matter-quick-start-demo/images/studio-6-matter-project-demo.png differ diff --git a/sld477-matter-quick-start-demo/images/studio-6-matter-thread-demo-board-selector.png b/sld477-matter-quick-start-demo/images/studio-6-matter-thread-demo-board-selector.png new file mode 100644 index 0000000..52820c5 Binary files /dev/null and b/sld477-matter-quick-start-demo/images/studio-6-matter-thread-demo-board-selector.png differ diff --git a/sld477-matter-quick-start-demo/images/studio-6-matter-thread-demo-lighting-projects.png b/sld477-matter-quick-start-demo/images/studio-6-matter-thread-demo-lighting-projects.png new file mode 100644 index 0000000..3b0aeb7 Binary files /dev/null and b/sld477-matter-quick-start-demo/images/studio-6-matter-thread-demo-lighting-projects.png differ diff --git a/sld477-matter-quick-start-demo/images/studio-6-select-device.png b/sld477-matter-quick-start-demo/images/studio-6-select-device.png new file mode 100644 index 0000000..20f5a40 Binary files /dev/null and b/sld477-matter-quick-start-demo/images/studio-6-select-device.png differ diff --git a/sld477-matter-quick-start-demo/images/studio-device-brd4186c.png b/sld477-matter-quick-start-demo/images/studio-device-brd4186c.png new file mode 100644 index 0000000..61b8a0b Binary files /dev/null and b/sld477-matter-quick-start-demo/images/studio-device-brd4186c.png differ diff --git a/sld477-matter-quick-start-demo/images/studio-device-brd4338a.jpeg b/sld477-matter-quick-start-demo/images/studio-device-brd4338a.jpeg new file mode 100644 index 0000000..04da54e Binary files /dev/null and b/sld477-matter-quick-start-demo/images/studio-device-brd4338a.jpeg differ diff --git a/sld477-matter-quick-start-demo/images/studio-lighting-thread.jpeg b/sld477-matter-quick-start-demo/images/studio-lighting-thread.jpeg new file mode 100644 index 0000000..8e105bf Binary files /dev/null and b/sld477-matter-quick-start-demo/images/studio-lighting-thread.jpeg differ diff --git a/sld477-matter-quick-start-demo/images/successful-flash.png b/sld477-matter-quick-start-demo/images/successful-flash.png new file mode 100644 index 0000000..d77ce74 Binary files /dev/null and b/sld477-matter-quick-start-demo/images/successful-flash.png differ diff --git a/sld477-matter-quick-start-demo/images/thread-lighting-demo.png b/sld477-matter-quick-start-demo/images/thread-lighting-demo.png new file mode 100644 index 0000000..ac79e1c Binary files /dev/null and b/sld477-matter-quick-start-demo/images/thread-lighting-demo.png differ diff --git a/sld477-matter-quick-start-demo/images/vscode-build-flash.png b/sld477-matter-quick-start-demo/images/vscode-build-flash.png new file mode 100644 index 0000000..8c237b2 Binary files /dev/null and b/sld477-matter-quick-start-demo/images/vscode-build-flash.png differ diff --git a/sld477-matter-quick-start-demo/images/wifi-light-demo.png b/sld477-matter-quick-start-demo/images/wifi-light-demo.png new file mode 100644 index 0000000..0ec1277 Binary files /dev/null and b/sld477-matter-quick-start-demo/images/wifi-light-demo.png differ diff --git a/sld5257-matter-provisioning/images/studio-thread-light.png b/sld5257-matter-provisioning/images/studio-thread-light.png new file mode 100644 index 0000000..0c120e1 Binary files /dev/null and b/sld5257-matter-provisioning/images/studio-thread-light.png differ diff --git a/sld5257-matter-provisioning/images/wifi-9116-gpio-connections.png b/sld5257-matter-provisioning/images/wifi-9116-gpio-connections.png deleted file mode 100644 index 9907009..0000000 Binary files a/sld5257-matter-provisioning/images/wifi-9116-gpio-connections.png and /dev/null differ diff --git a/sld5257-matter-provisioning/images/wifi-9116-powermeter-wifimodule.png b/sld5257-matter-provisioning/images/wifi-9116-powermeter-wifimodule.png deleted file mode 100644 index 6becba3..0000000 Binary files a/sld5257-matter-provisioning/images/wifi-9116-powermeter-wifimodule.png and /dev/null differ diff --git a/sld5257-matter-provisioning/images/wifi-9116-powerprofiler.png b/sld5257-matter-provisioning/images/wifi-9116-powerprofiler.png deleted file mode 100644 index 0cfc4cf..0000000 Binary files a/sld5257-matter-provisioning/images/wifi-9116-powerprofiler.png and /dev/null differ diff --git a/sld5257-matter-provisioning/matter-provisioning.md b/sld5257-matter-provisioning/matter-provisioning.md index 0442461..9c94ce4 100644 --- a/sld5257-matter-provisioning/matter-provisioning.md +++ b/sld5257-matter-provisioning/matter-provisioning.md @@ -55,7 +55,7 @@ The GFW performs the following tasks: - Stores the Attestation Data on the main flash (CD, PAI, DAC) - Stores the size and offsets used to store the Attestation Data, along with the KeyId used to store the private-key. -The provisioning code resides under `extension/matter_extension` in the SiSDK directory tree for the SDK used in your Studio project, for example `SimplicityStudio/SDKs/sisdk_release/extension/matter_extension/provision`. +The provisioning code resides under `provision` folder in the matter extension of the SDK used in your Studio project, for example `C:\Users\\.silabs\slt\installs\conan\p\matte2e08d48896d06\p\provision`. The board support is located under `./support`. Pre-compiled images for the supported chips can be found in `./images`. Backwards-compatibility script files are stored under `./modules/vX_Y` where X.Y matches the targeted version. diff --git a/sld5257-matter-provisioning/provisioning-gui-tool.md b/sld5257-matter-provisioning/provisioning-gui-tool.md index 95a2316..f2d7fe3 100644 --- a/sld5257-matter-provisioning/provisioning-gui-tool.md +++ b/sld5257-matter-provisioning/provisioning-gui-tool.md @@ -1,5 +1,7 @@ # Provisioning GUI Tool +> **Note:** This tool is not available in the latest Simplicity Studio v6 25Q4 release. It will be available in the future ones. + ## Background The Matter Provisioning Tool (MPT) allows you to: diff --git a/sld5257-matter-provisioning/test-matter-certs-for-development.md b/sld5257-matter-provisioning/test-matter-certs-for-development.md index b0776a5..1c3be5d 100644 --- a/sld5257-matter-provisioning/test-matter-certs-for-development.md +++ b/sld5257-matter-provisioning/test-matter-certs-for-development.md @@ -58,7 +58,7 @@ A hands-on example of these provisioning flows will be provided in the following ## Initial Setup -The provisioning code resides under `extension/matter_extension` in the SiSDK directory tree for the SDK used in your Studio project, for example `SimplicityStudio/SDKs/sisdk_release_2/extension/matter_extension/provision`. +The provisioning code resides under `provision` folder in the matter extension of the SDK used in your Studio project, for example `C:\Users\\.silabs\slt\installs\conan\p\matte2e08d48896d06\p\provision`. Within the Studio installation, the chip-cert binary can found at /v5/developer/adapter_packs/cpms/applications. @@ -314,7 +314,7 @@ Incoming(4): #### Create a New Lighting Over Thread Project -![Lighting over Thread example](images/lighting-over-thread-example.png) +![Lighting over Thread example](images/studio-thread-light.png) #### Install Matter Device Attestation Credentials Component diff --git a/sld57-matter-landing-page/index.md b/sld57-matter-landing-page/index.md index bb18010..7b06f88 100644 --- a/sld57-matter-landing-page/index.md +++ b/sld57-matter-landing-page/index.md @@ -4,11 +4,7 @@ The Matter protocol leverages existing IP technologies, including Wi-Fi and Thre Silicon Labs supports Matter on both 802.15.4 (Thread) and 802.11 (Wi-Fi) transport protocols. The Thread development use case differs from Wi-Fi because the Thread protocol requires an OpenThread Border Router (OTBR). -![Silicon Labs Matter Summary](resources/silicon-labs-matter.png) - -Device: SiWx917 SoC - -![Silicon Labs - SiWx917 SoC](resources/silabs-matter-siwx917.png) +![Silicon Labs Matter Summary](resources/silabs-matter.png) ## Path for Development @@ -16,16 +12,44 @@ These pages are for developing Matter applications with the Matter Extension. Th Simplicity Studio is a GUI-based development experience in which you can create production-ready projects from a well-tested library. The Simplicity Studio development path also natively supports development on the Windows operating system. As a result, Windows users should use Simplicity Studio for their development environment. SLC-CLI offers command-line access to application configuration and generation of the Matter Extension. -The [Silicon Labs Matter GitHub repo](https://github.com/SiliconLabs/matter) will no longer be updated to reflect newer Matter versions **after Matter 1.3**. As a result, it is no longer a recommended path for Matter Development of **new products**. +## Getting Started: Development Workflow + +Want to get a Matter application up and running quickly? Here's a high-level overview of the typical workflow from setup to a working commissioned device: + +1. **Understanding the Matter Protocol** + - Read documentation to undertsand the basics of Matter: [Matter Fundamentals](/matter/{build-docspace-version}/matter-fundamentals) + +2. **Install Studio and Setup Development Environment** + - Follow the quick-start guide for overview and setup: [Matter Overview](/matter/{build-docspace-version}/matter-overview) + - Covers hardware and software requirements, Simplicity Studio installation, Matter Extension setup, and tools + +3. **Create Sample Application/Solution** + - Choose Wi-Fi or Thread as desired protocol to create, build, and flash your Matter application + - Follow the quick-start documentation for creating a demo for desired wireless protocol: [Quick-Start Demos](/matter/{build-docspace-version}/matter-quick-start-demo) + + > **Note**: If you plan on implementing custom app behavior, proceed to step 4 after generating project and before building and flashing + +4. **[Optional] Customize Matter App Behavior and Logic** + - Use Project Configurator and other Studio tools to customize your app logic: [Developing with Project Configurator](https://docs.silabs.com/ssv6ug/latest/ssv6-configure-project/) + - If necessary, add custom source files for your application logic + - Follow documentation to develop a custom matter device with ZAP and corresponding callbacks: [Custom Matter Device Development](/matter/{build-docspace-version}/matter-references/custom-matter-device) + +5. **Build and Flash** + - Refer back to documentation for quick-start demo for your desired protocol, and complete steps for building and flashing app + - [Thread Quick-Start Demo](/matter/{build-docspace-version}/matter-quick-start-demo/02-thread-quick-start-demo#step-2-build-the-project) + - [WiFi Quick-Start Demo](/matter/{build-docspace-version}/matter-quick-start-demo/01-wifi-quick-start-demo#step-2-build-the-project) + - Ensure bootloader is present on the device + - Bootloader is included for solution based examples + - If you are not using a solution based example, flash the bootloader from [Matter Software Artifacts](matter/{build-docspace-version}/matter-prerequisites/matter-artifacts#matter-bootloader-binaries) + - Follow Commander instructions for flashing this bootloader through CLI: [Device Flashing](https://docs.silabs.com/simplicity-commander/latest/simplicity-commander-commands/device-flashing-commands) + +6. **Commission** + - Commission your device using a Matter commissioner (e.g. matterhub): [Commissioning](/matter/{build-docspace-version}/matter-overview-guides/matter-commissioning) ## Other Resources -**To see release notes** containing a list of features and known issues, go to [Matter Release Notes on Silicon Labs Matter Extension](https://github.com/SiliconLabs/matter_extension/releases/tag/v2.6.1). +**To see release notes** containing a list of features and known issues, go to [Matter Release Notes on Silicon Labs Matter Extension](https://github.com/SiliconLabs/matter_extension/releases/tag/v2.8.0). **If you are new to Matter** or would like more information about Silicon Labs Matter-based products, see the [Matter content on silabs.com](https://www.silabs.com/wireless/matter). **For background information on the Matter standard**, see the [Connectivity Standard Alliance page](https://csa-iot.org/all-solutions/matter/). - -**To quickly make a simple Matter network**, see the [quick-start guides](/matter/{build-docspace-version}/matter-overview). - -**To develop your own customized applications** with Matter over Thread and Matter over Wi-Fi, see the [Matter Developer's Guide](/matter/{build-docspace-version}/matter-developers-guide-overview). diff --git a/sld57-matter-landing-page/resources/silabs-matter.png b/sld57-matter-landing-page/resources/silabs-matter.png new file mode 100644 index 0000000..d9402b8 Binary files /dev/null and b/sld57-matter-landing-page/resources/silabs-matter.png differ diff --git a/sld601-matter-application-development/.DS_Store b/sld601-matter-application-development/.DS_Store new file mode 100644 index 0000000..98f311d Binary files /dev/null and b/sld601-matter-application-development/.DS_Store differ diff --git a/sld601-matter-application-development/images/ClusterLogic1.png b/sld601-matter-application-development/images/ClusterLogic1.png new file mode 100644 index 0000000..342f07c Binary files /dev/null and b/sld601-matter-application-development/images/ClusterLogic1.png differ diff --git a/sld601-matter-application-development/images/ClusterLogic2.png b/sld601-matter-application-development/images/ClusterLogic2.png new file mode 100644 index 0000000..e028746 Binary files /dev/null and b/sld601-matter-application-development/images/ClusterLogic2.png differ diff --git a/sld601-matter-application-development/images/ClusterLogic3.png b/sld601-matter-application-development/images/ClusterLogic3.png new file mode 100644 index 0000000..4fc4534 Binary files /dev/null and b/sld601-matter-application-development/images/ClusterLogic3.png differ diff --git a/sld601-matter-application-development/images/ClusterLogic4.png b/sld601-matter-application-development/images/ClusterLogic4.png new file mode 100644 index 0000000..b07c4fc Binary files /dev/null and b/sld601-matter-application-development/images/ClusterLogic4.png differ diff --git a/sld601-matter-application-development/images/ClusterLogic5.png b/sld601-matter-application-development/images/ClusterLogic5.png new file mode 100644 index 0000000..8071bab Binary files /dev/null and b/sld601-matter-application-development/images/ClusterLogic5.png differ diff --git a/sld601-matter-application-development/images/ClusterLogic6.jpg b/sld601-matter-application-development/images/ClusterLogic6.jpg new file mode 100644 index 0000000..cc951aa Binary files /dev/null and b/sld601-matter-application-development/images/ClusterLogic6.jpg differ diff --git a/sld601-matter-application-development/images/ClusterLogicModel.jpg b/sld601-matter-application-development/images/ClusterLogicModel.jpg new file mode 100644 index 0000000..8ceea07 Binary files /dev/null and b/sld601-matter-application-development/images/ClusterLogicModel.jpg differ diff --git a/sld601-matter-application-development/images/studio-device-create-project.jpeg b/sld601-matter-application-development/images/studio-device-create-project.jpeg new file mode 100644 index 0000000..f2b5100 Binary files /dev/null and b/sld601-matter-application-development/images/studio-device-create-project.jpeg differ diff --git a/sld601-matter-application-development/images/studio-lock-thread.png b/sld601-matter-application-development/images/studio-lock-thread.png new file mode 100644 index 0000000..ddc25ec Binary files /dev/null and b/sld601-matter-application-development/images/studio-lock-thread.png differ diff --git a/sld601-matter-application-development/index.md b/sld601-matter-application-development/index.md index 4685964..fb23f77 100644 --- a/sld601-matter-application-development/index.md +++ b/sld601-matter-application-development/index.md @@ -1,6 +1,8 @@ # Introduction -This section covers application development topics. Silicon Labs will build out this section over time. For Matter v2.6.1, we provide: +This section covers application development topics. Silicon Labs will build out this section over time. For Matter v2.8.0, we provide: - [Matter Scenes Quick Start Guide](./matter-scenes-quick-start-guide) - [Matter Event and Timer Guide](./matter-event-timer-guide.md) +- [Matter Zigbee Lighting Example (Concurrent Multiprotocol)](https://docs.silabs.com/multiprotocol/latest/concurrent-mp-soc/03-concurrent-multiprotocol-cmp-sample-application-matter-zigbee-light) +- [Implementing Cluster Functionality in an Application](./matter-application-cluster-logic.md) diff --git a/sld601-matter-application-development/matter-application-cluster-logic.md b/sld601-matter-application-development/matter-application-cluster-logic.md new file mode 100644 index 0000000..6f25f04 --- /dev/null +++ b/sld601-matter-application-development/matter-application-cluster-logic.md @@ -0,0 +1,142 @@ +# Matter Application Cluster Logic + +The architecture of a Matter application is structured in layers, with the application layer positioned above network transport layer (such as Thread or Wi-fi). This application layer defines the device's behavior using a structured data model that describes its capabilities. At the core of this model are clusters, which group together related attributes, commands, and events to represent specific features. For example, a cluster might control power (on/off), adjust brightness, or report temperature. These clusters are standardized and reusable, ensuring consistent behavior across different devices and manufacturers. For more information, see the [Matter data model](https://docs.silabs.com/matter/latest/matter-fundamentals-data-model/) documentation. + +![ZCL Cluster Model](./images/ClusterLogicModel.jpg) + +To organize these features within a device, Matter introduces the concept of endpoints. An endpoint represents a specific functional part of the device and can include one or more clusters. For example, a smart light might have an endpoint that includes both the On/Off and Level Control clusters. More complex devices may use multiple endpoints to represent different capabilities, such as a thermostat that also includes a fan controller or a humidity sensor. + +To simplify the process of defining and configuring endpoints and clusters, developers use the ZCL Advanced Platform (ZAP). ZAP offers a user-friendly interface for selecting clusters, assigning them to endpoints, and configuring their attributes and commands. It also generates the necessary code to integrate with the Matter SDK, streamlining development. + +The following sections demonstrate how to extend the functionality of an existing door lock endpoint by adding the On/Off cluster. + +## Step 1: Create the Application + +Before you begin, ensure that Simplicity Studio is installed on your PC and you have downloaded the Simplicity SDK and the Matter extension. For more information on these requirements, see [here](matter/{build-docspace-version}/matter-overview/). + +To create the Matter Door Lock App, launch Simplicity Studio and connect a supported Silicon Labs development board (for example, EFR32MG2x) to your computer via USB. This guide uses MG24 as the platform. Next, navigate to the **Devices** tab, select your connected device, and select the correct SDK. + +![Studio Launcher Window](./images/studio-device-create-project.jpeg) + +Select **Create New Project**, then use the filter to search for "Matter". Locate the "Matter - SoC Lock over Thread with External Bootloader" project. Click **Next**, then select **Finish**. + +![Matter SoC Lock over Thread Project](./images/studio-lock-thread.png) + +The sample application has been successfully created in Simplicity Studio. You can now proceed to Step 2. + +## Step 2: Add and Modify the On/Off Cluster + +After step 1, your project's `.slcp` file should automatically be opened. Navigate to **Configuration Tools**, scroll down to "ZCL Advanced Platform (ZAP)", and click **Open**. + +![ZAP](./images/ClusterLogic3.png) + +This opens the project's .zap configuration file. You should see two endpoints already enabled: +- Endpoint 0: Reserved exclusively for Utility Clusters. These special clusters are specifically used for enclosing a node’s servicing functionality such as the discovery process, addressing, diagnostics, and software updates. +- Endpoint 1: Configured to be a Matter Door Lock. It has mandatory clusters along with the Door Lock cluster (0x0101). + + Click on Endpoint #1 then open the **General Tab**. + +![Endpoint 1 Clusters](./images/ClusterLogic4.png) + +Enable the On/Off cluster (0x0006) as both a Server and Client. This should add mandatory attributes and commands as required by the specification for this cluster. You can view these by selecting the **Configure** icon. + +![On/Off Client & Server](./images/ClusterLogic5.png) + +By configuring both client and server roles for the On/Off cluster, the device can transmit On/Off commands and store On/Off attributes. Normally, a light bulb acts as a server because it stores the On/Off state and responds to commands to change it. A light switch acts as a client because it sends commands to the bulb to turn it on or off but doesn't store the state itself. This guide mainly focuses on attribute storing and manipulation. + +Finally, save the `.zap` file. The tool will automatically generate the necessary code files to reflect your updated cluster configuration. For more information, see [ZCL Advanced Platform (ZAP) Tool for Matter](https://docs.silabs.com/matter/latest/matter-references/matter-zap). + + +## Step 3: Analyze the Auto-generated Code + +Now that the On/Off cluster has been successfully added to the Sample Door Lock project, it's time to leverage the new features/code. Here's a summary of what happens after the cluster is added: + +- Attributes, commands, and events for the cluster are added to your application’s data model. +- Code is generated for attribute storage, command handling, and event notification. +- Callback stubs are generated for you to implement application-specific behavior. +- You interact with the cluster by filling in these stubs and using the generated data structures. + +Additionally, a corresponding component is automatically added to your project. This occurs because enabling a cluster in ZAP updates your project configuration to include the necessary software components and libraries required to support that cluster’s functionality. For clusters, this functionality is implemented in the `/third_party/matter_sdk/src/app/clusters` directory. For the On/Off cluster, the server command handlers and related logic can be found in the `/on-off-server/on-off-server.cpp` file. + +## Step 4: Add Application Logic + +Locate your project's `src/AppTask.cpp` file. This file acts as the central hub for application-specific logic, initialization, and event processing in a Matter application on Silicon Labs platforms. Start by adding two helper functions: a one-shot timer to expire in 10 seconds and the `OnOffTmrExpiryHandler` handler function. + +```C++ +#include "app-common/zap-generated/attributes/Accessors.h" +#include "timers.h" +TimerHandle_t OnOffAttributeChangeTimer; + +void OnOffTmrExpiryHandler(TimerHandle_t xTimer){ + static bool current_state = 1; // Initialize as on + current_state ^= 1; // Toggle the current state of OnOff on timer expiry + SILABS_LOG("OnOff attribute toggled to %d", current_state); + chip::app::Clusters::OnOff::Attributes::OnOff::Set(1, current_state); // Modify the attribute +} + +void OnOffTmrStart(){ + + // Initiate timer + OnOffAttributeChangeTimer = xTimerCreate("OnOffTmr", // timer name + pdMS_TO_TICKS(10000), // == default timer period (mS) + false, // no timer reload (==one-shot) + nullptr, // init timer id = app task obj context + OnOffTmrExpiryHandler); // timer callback handler + + xTimerStart(OnOffAttributeChangeTimer, 1); // Start timer +} +``` + +Make sure to include `app-common/zap-generated/attributes/Accessors.h` in your `AppTask.cpp` file so you can access cluster attributes. + +Next we will need an AppTask function to initiate the timer. Add the following function to your AppTask.cpp file: + +```C++ +void AppTask::OnOffAttributeWriteStartTimer() +{ + OnOffTmrStart(); +} +``` + +This function will have to be defined in AppTask.h as well as part of the AppTask class. + +Now, locate the `MatterPostAttributeChangeCallback()` function in the `src/DataModelCallbacks.cpp` file. This function is invoked by the application framework after an attribute value has been changed. Because you are modifying the OnOff attribute in the `OnOffTmrExpiryHandler()` function, use this callback to re-initiate the timer so that the attribute continues to toggle. To achieve this, call `AppTask::OnOffAttributeWriteStartTimer()`, which is part of the AppTask context. + +To implement this functionality, first obtain the AppTask instance using `AppTask::GetAppTask()`. Modify the `MatterPostAttributeChangeCallback()` function as shown below: + +```C++ +void MatterPostAttributeChangeCallback(const chip::app::ConcreteAttributePath & attributePath, uint8_t type, uint16_t size, + uint8_t * value) +{ + ClusterId clusterId = attributePath.mClusterId; + AttributeId attributeId = attributePath.mAttributeId; + + // Auto-generated code + + if (clusterId == OnOff::Id && attributeId == OnOff::Attributes::OnOff::Id){ + AppTask::GetAppTask().OnOffAttributeWriteStartTimer(); + } + +} +``` +Make sure to #include "AppTask.h" at the top of the `DataModelCallbacks.cpp` file to call the `AppTask::GetAppTask()` function. For more information on the AppTask, refer to AppTask.h. + +Finally, add a call to `OnOffTmrStart()` at the end of the `AppTask::AppInit()` function to start the attribute write sequence. The following image illustrates the code flow: + +![Code Flow](./images/ClusterLogic6.jpg) + +In the flowchart above, `OnOffAttributeWriteStartTimer()` calls `OnOffTmrStart()` to restart the timer. + +## Step 5: Interact with the On/Off Cluster + +After building your project, flash the compiled firmware onto your target board. Once the device is running, you should observe log messages approximately every 10 seconds indicating that the OnOff cluster's OnOff attribute is being written to. This confirms that the cluster is active and functioning as expected. + +Next, commission the device to a Matter hub and begin interacting with the OnOff cluster. To do this, follow the instructions in the **Creating the Matter Network** section of the [Silicon Labs Matter Light Switch Example Guide](matter/{build-docspace-version}/matter-light-switch-example/02-thread-light-switch-example#creating-the-matter-network). + +Once the custom Door Lock node is successfully commissioned to the network, you can read the value of the OnOff attribute using the following command: + +``` +mattertool onoff read on-off 1 +``` + +Replace with the actual node ID assigned to your device during commissioning. \ No newline at end of file diff --git a/sld601-matter-application-development/matter-scenes-quick-start-guide.md b/sld601-matter-application-development/matter-scenes-quick-start-guide.md index d2042ca..1bc9f07 100644 --- a/sld601-matter-application-development/matter-scenes-quick-start-guide.md +++ b/sld601-matter-application-development/matter-scenes-quick-start-guide.md @@ -37,7 +37,7 @@ The following hands-on tutorial walks through the process of storing and recalli ### Requirements -- Gecko SDK 4.4.2 + Matter extension 2.3.0 (or newer) +- Simplicity SDK 2025.12.0 + Matter extension 2.8.0 (or newer) - Raspberry Pi 4 + MatterHub Image - 1x Silabs WTSK EFR32xG21 (BRD4108B) in RCP configuration - 2x [EFR32xG24-DK2601B Dev Kit](https://www.silabs.com/development-tools/wireless/efr32xg24-dev-kit?tab=overview) @@ -77,7 +77,7 @@ The component should look like this: The RGB PWM LED instance that has been created can be found in _MatterLightOverThread/autogen/sl_simple_rgb_pwm_led_instances.h_. -The documentation for the APIs that have been generated can be found here: [Simple RGB PWM LED Driver](https://docs.silabs.com/gecko-platform/5.0.0/platform-driver/simple-rgb-pwm-led#simple-rgb-pwm-led-driver). The file that contains these APIs can be found in the directory: _MatterLightOverThread/simplicity_sdk_xxxx/platform/driver/leddrv/inc/sl_simple_rgb_pwm_led.h_. +The documentation for the APIs that have been generated can be found here: [Simple RGB PWM LED Driver](https://docs.silabs.com/gecko-platform/latest/platform-driver/simple-rgb-pwm-led#simple-rgb-pwm-led-driver). The file that contains these APIs can be found in the directory: _MatterLightOverThread/simplicity_sdk_xxxx/platform/driver/leddrv/inc/sl_simple_rgb_pwm_led.h_. ### Step 2: Add the ColorTransformer Class @@ -165,9 +165,9 @@ public: ### Step 3 Implement Callbacks -Make the following additions to the src/ZclCallbacks.cpp file: +Make the following additions to the src/DataModelCallbacks.cpp file: -:::collapsed{summary="Click to expand and view the ZclCallbacks.cpp file"} +:::collapsed{summary="Click to expand and view the DataModelCallbacks.cpp file"} ```c++ // Color Transformer #include "ColorTransformer.h" @@ -192,7 +192,7 @@ bool xyFlag = false; ``` ::: -Then, inside `MatterPostAttributeChangeCallback` in _src/ZclCallbacks.cpp_, implement the on/off functionality of the LED: +Then, inside `MatterPostAttributeChangeCallback` in _src/DataModelCallbacks.cpp_, implement the on/off functionality of the LED: ```c++ if (clusterId == OnOff::Id && attributeId == OnOff::Attributes::OnOff::Id) diff --git a/sld962-matter-aws-feature/aws-configuration-registration.md b/sld962-matter-aws-feature/aws-configuration-registration.md new file mode 100644 index 0000000..8d91af0 --- /dev/null +++ b/sld962-matter-aws-feature/aws-configuration-registration.md @@ -0,0 +1,79 @@ +# Setting Up AWS Certificates + +AWS IoT Core provides secure, bi-directional communication for Internet-connected devices (such as sensors, actuators, embedded devices, wireless devices, and smart appliances) to connect to the AWS Cloud over MQTT. Refer to [AWS IoT Documentation](https://docs.aws.amazon.com/iot/) for more details. + +## Device Registration and Certificate Generation + +1. Open [AWS](https://aws.amazon.com/). +2. Log in using your AWS credentials. +3. Go to **AWS IoT**. +4. In the left panel, go to **Security > Policies** and select **Create Policy**. + + ![Create Security Policy](./images/security-policy-create-policy.jpeg) + + - Enter the policy name (e.g., `MATTER_AWS_POLICY`). In the policy statements, select **JSON** and replace the contents with the JSON provided below: + + ```shell + { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": "*", + "Resource": "*" + } + ] + } + ``` + +5. Once done, select **Create**. + +6. Create a client CSR certificate and a device key by following the steps in [OpenSSL Certificate Creation](./openssl-certificate-creation.md). + +7. Complete the following steps to create a thing and generate certificates for your Matter application to use in the `MatterAwsNvmCert.cpp` source file: + + - Go to **All Devices > Things** and select **Create Things**. + ![Create Thing](./images/device-create-things.png) + - Select **Create Single Thing** and click **Next**. + - Under **Specific thing properties > Thing properties**, specify the thing name (this will be the `MATTER_AWS_CLIENT_ID` in `MatterAwsConfig.h`), then click **Next**. + ![Add Thing Name](./images/aws-add-thing-name.png) + - Under **Configure device certificate > Device Certificate**, select **Upload CSR**. + - In **Certificate signing request > Choose file** (Choose Client CSR generated by Openssl Certificate Creation in Step 6. e.g., `device.csr`). Click **Next**. + ![Upload CSR](./images/thing-upload-csr.png) + - Select the policy (e.g., `MATTER_AWS_POLICY`) created at Step 4. + ![Attach Policy](./images/thing-attach-policy.png) + - Once the thing is successfully created, click **View certificate**. + ![View Certificate](./images/thing-view-certificate.png) + - Next: + - Activate the certificate. + - Download the certificate. + ![Activate and Download Certificate](./images/thing-activate-download-certificate.png) + +8. Copy the contents of [AWS_CA CERT](https://www.amazontrust.com/repository/AmazonRootCA3.pem) (We are using Amazon Root CA3) and add it as CA certificate in `examples/platform/silabs/matter_aws/matter_aws_interface/include/MatterAwsNvmCert.cpp`. +All the certificate should be added in below format: + + ```cpp + char ca_certificate[] = { + "-----BEGIN CERTIFICATE-----\r\n" + "MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5\r\n" + "MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g\r\n" + "Um9vdCBDQSAzMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG\r\n" + "A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg\r\n" + "Q0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZBf8ANm+gBG1bG8lKl\r\n" + "ui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjrZt6j\r\n" + "QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSr\r\n" + "ttvXBp43rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkr\r\n" + "BqWTrBqYaGFy+uGh0PsceGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteM\r\n" + "YyRIHN8wfdVoOw==\r\n" + "-----END CERTIFICATE-----\r\n" + }; + ``` + + - In `MatterAwsNvmCert.cpp` file are the following: + - char ca_certificate[] - Fill it with AWS_CA CERT (mentioned above). + - char device_certificate[] - Fill it with Device Certificate downloaded from AWS in Step 7. + - char device_key[] - Fill it with Device Key generated in Step 6. + +9. Repeat Step 6 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. + + > **Note**: The thing name must be unique as it will be used as the client ID. diff --git a/sld962-matter-aws-feature/build-matter-aws.md b/sld962-matter-aws-feature/build-matter-aws.md new file mode 100644 index 0000000..b230009 --- /dev/null +++ b/sld962-matter-aws-feature/build-matter-aws.md @@ -0,0 +1,104 @@ +# 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 Component](images/matter-wifi-component.png) + + ![IPV4 Settings Enable](images/matter-aws-ipv4-enable-2.png) + +2. In **Software Components**, search for `aws` and install the Matter AWS component. + + ![Matter + AWS Component](images/aws-component-install.png) + +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 + AWS](images/matter-aws-dependency-1.png) + + ![Public-Key Abstaction Layer for Matter + AWS](images/matter-aws-dependency-2.png) + +### 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 Component](images/tls-prf-component-install.png) + +## 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 Location](images/aws-sdk-location.png) + +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 File](./images/matter-aws-config.png) + +## 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 Settings](images/aws-build-settings.jpg) + +3. Click on **SDKs**, ensure the correct version of the SDK is selected, and then click **Refresh** in the right side menu. + + ![Select Refresh](images/aws-build-sdk-refresh.jpg) + +4. Build the Matter + AWS application using Simplicity Studio as described in [Build SOC Application Using Studio](/matter/{build-docspace-version}/matter-wifi-run-demo/build-soc-application-using-studio). + +5. After building and flashing the app, you can see [MATTER_AWS] logs after device bootup. + + ```console + [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 AWS](./images/aws-device-logs-thermostat-app.png) + +7. You can see the same data in AWS IoT. + + ![AWS IoT App Data](./images/matter-aws-iot-app-data.png) + + > **Note:** + > - The supported certificate type to be used in this PoC is ECDSA. + > - AWS RootCA used in this PoC is + > https://www.amazontrust.com/repository/AmazonRootCA3.pem + +## 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`. + + - Provide the AWS Root CA key (https://www.amazontrust.com/repository/AmazonRootCA3.pem). + - Provide `device_certificate` and `device_key` with your device certificate and device key. For more details, refer to [OpenSSL Device Certificate Creation](./openssl-certificate-creation.md). + +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. diff --git a/sld297-matter-wifi-dic/images/Add-sdk-path.png b/sld962-matter-aws-feature/images/Add-sdk-path.png similarity index 100% rename from sld297-matter-wifi-dic/images/Add-sdk-path.png rename to sld962-matter-aws-feature/images/Add-sdk-path.png diff --git a/sld297-matter-wifi-dic/images/Add-sdk.png b/sld962-matter-aws-feature/images/Add-sdk.png similarity index 100% rename from sld297-matter-wifi-dic/images/Add-sdk.png rename to sld962-matter-aws-feature/images/Add-sdk.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-SoC-Kermit.png b/sld962-matter-aws-feature/images/SiWx917-SoC-Kermit.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-SoC-Kermit.png rename to sld962-matter-aws-feature/images/SiWx917-SoC-Kermit.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-Preferences.png b/sld962-matter-aws-feature/images/SiWx917-soc-Preferences.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-Preferences.png rename to sld962-matter-aws-feature/images/SiWx917-soc-Preferences.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-board-selection.png b/sld962-matter-aws-feature/images/SiWx917-soc-board-selection.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-board-selection.png rename to sld962-matter-aws-feature/images/SiWx917-soc-board-selection.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-build-wifi-project.png b/sld962-matter-aws-feature/images/SiWx917-soc-build-wifi-project.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-build-wifi-project.png rename to sld962-matter-aws-feature/images/SiWx917-soc-build-wifi-project.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-create-wifi-projects.png b/sld962-matter-aws-feature/images/SiWx917-soc-create-wifi-projects.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-create-wifi-projects.png rename to sld962-matter-aws-feature/images/SiWx917-soc-create-wifi-projects.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-debug-adapter.png b/sld962-matter-aws-feature/images/SiWx917-soc-debug-adapter.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-debug-adapter.png rename to sld962-matter-aws-feature/images/SiWx917-soc-debug-adapter.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-debug.png b/sld962-matter-aws-feature/images/SiWx917-soc-debug.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-debug.png rename to sld962-matter-aws-feature/images/SiWx917-soc-debug.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-flash-program.png b/sld962-matter-aws-feature/images/SiWx917-soc-flash-program.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-flash-program.png rename to sld962-matter-aws-feature/images/SiWx917-soc-flash-program.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-flash-todevice.png b/sld962-matter-aws-feature/images/SiWx917-soc-flash-todevice.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-flash-todevice.png rename to sld962-matter-aws-feature/images/SiWx917-soc-flash-todevice.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-install-manager.png b/sld962-matter-aws-feature/images/SiWx917-soc-install-manager.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-install-manager.png rename to sld962-matter-aws-feature/images/SiWx917-soc-install-manager.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-isp-binary-selection.png b/sld962-matter-aws-feature/images/SiWx917-soc-isp-binary-selection.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-isp-binary-selection.png rename to sld962-matter-aws-feature/images/SiWx917-soc-isp-binary-selection.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-project-wizard.png b/sld962-matter-aws-feature/images/SiWx917-soc-project-wizard.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-project-wizard.png rename to sld962-matter-aws-feature/images/SiWx917-soc-project-wizard.png diff --git a/sld297-matter-wifi-dic/images/SiWx917-soc-slpb.png b/sld962-matter-aws-feature/images/SiWx917-soc-slpb.png similarity index 100% rename from sld297-matter-wifi-dic/images/SiWx917-soc-slpb.png rename to sld962-matter-aws-feature/images/SiWx917-soc-slpb.png diff --git a/sld248-matter-overview-guides/images/all-products-selection.png b/sld962-matter-aws-feature/images/all-products-selection.png similarity index 100% rename from sld248-matter-overview-guides/images/all-products-selection.png rename to sld962-matter-aws-feature/images/all-products-selection.png diff --git a/sld297-matter-wifi-dic/images/amazon-alexa-add-device.png b/sld962-matter-aws-feature/images/amazon-alexa-add-device.png similarity index 100% rename from sld297-matter-wifi-dic/images/amazon-alexa-add-device.png rename to sld962-matter-aws-feature/images/amazon-alexa-add-device.png diff --git a/sld297-matter-wifi-dic/images/amazon-alexa-app-added.png b/sld962-matter-aws-feature/images/amazon-alexa-app-added.png similarity index 100% rename from sld297-matter-wifi-dic/images/amazon-alexa-app-added.png rename to sld962-matter-aws-feature/images/amazon-alexa-app-added.png diff --git a/sld297-matter-wifi-dic/images/amazon-alexa-app.png b/sld962-matter-aws-feature/images/amazon-alexa-app.png similarity index 100% rename from sld297-matter-wifi-dic/images/amazon-alexa-app.png rename to sld962-matter-aws-feature/images/amazon-alexa-app.png diff --git a/sld297-matter-wifi-dic/images/amazon-alexa-application-added-to-group.png b/sld962-matter-aws-feature/images/amazon-alexa-application-added-to-group.png similarity index 100% rename from sld297-matter-wifi-dic/images/amazon-alexa-application-added-to-group.png rename to sld962-matter-aws-feature/images/amazon-alexa-application-added-to-group.png diff --git a/sld297-matter-wifi-dic/images/amazon-alexa-device-selection.png b/sld962-matter-aws-feature/images/amazon-alexa-device-selection.png similarity index 100% rename from sld297-matter-wifi-dic/images/amazon-alexa-device-selection.png rename to sld962-matter-aws-feature/images/amazon-alexa-device-selection.png diff --git a/sld297-matter-wifi-dic/images/amazon-alexa-logos.png b/sld962-matter-aws-feature/images/amazon-alexa-logos.png similarity index 100% rename from sld297-matter-wifi-dic/images/amazon-alexa-logos.png rename to sld962-matter-aws-feature/images/amazon-alexa-logos.png diff --git a/sld297-matter-wifi-dic/images/amazon-alexa-scan-qr-code.png b/sld962-matter-aws-feature/images/amazon-alexa-scan-qr-code.png similarity index 100% rename from sld297-matter-wifi-dic/images/amazon-alexa-scan-qr-code.png rename to sld962-matter-aws-feature/images/amazon-alexa-scan-qr-code.png diff --git a/sld297-matter-wifi-dic/images/amazon-alexa-select-group.png b/sld962-matter-aws-feature/images/amazon-alexa-select-group.png similarity index 100% rename from sld297-matter-wifi-dic/images/amazon-alexa-select-group.png rename to sld962-matter-aws-feature/images/amazon-alexa-select-group.png diff --git a/sld297-matter-wifi-dic/images/apple-home-app-add-accessory.png b/sld962-matter-aws-feature/images/apple-home-app-add-accessory.png similarity index 100% rename from sld297-matter-wifi-dic/images/apple-home-app-add-accessory.png rename to sld962-matter-aws-feature/images/apple-home-app-add-accessory.png diff --git a/sld297-matter-wifi-dic/images/apple-home-app-scan-qr-code.png b/sld962-matter-aws-feature/images/apple-home-app-scan-qr-code.png similarity index 100% rename from sld297-matter-wifi-dic/images/apple-home-app-scan-qr-code.png rename to sld962-matter-aws-feature/images/apple-home-app-scan-qr-code.png diff --git a/sld297-matter-wifi-dic/images/apple-home-app.png b/sld962-matter-aws-feature/images/apple-home-app.png similarity index 100% rename from sld297-matter-wifi-dic/images/apple-home-app.png rename to sld962-matter-aws-feature/images/apple-home-app.png diff --git a/sld962-matter-aws-feature/images/aws-add-thing-name.png b/sld962-matter-aws-feature/images/aws-add-thing-name.png new file mode 100644 index 0000000..9846263 Binary files /dev/null and b/sld962-matter-aws-feature/images/aws-add-thing-name.png differ diff --git a/sld962-matter-aws-feature/images/aws-build-sdk-refresh.jpg b/sld962-matter-aws-feature/images/aws-build-sdk-refresh.jpg new file mode 100644 index 0000000..acfba3b Binary files /dev/null and b/sld962-matter-aws-feature/images/aws-build-sdk-refresh.jpg differ diff --git a/sld962-matter-aws-feature/images/aws-build-settings.jpg b/sld962-matter-aws-feature/images/aws-build-settings.jpg new file mode 100644 index 0000000..5eb042b Binary files /dev/null and b/sld962-matter-aws-feature/images/aws-build-settings.jpg differ diff --git a/sld962-matter-aws-feature/images/aws-component-install.png b/sld962-matter-aws-feature/images/aws-component-install.png new file mode 100644 index 0000000..2452a1e Binary files /dev/null and b/sld962-matter-aws-feature/images/aws-component-install.png differ diff --git a/sld962-matter-aws-feature/images/aws-device-logs-thermostat-app.png b/sld962-matter-aws-feature/images/aws-device-logs-thermostat-app.png new file mode 100644 index 0000000..9dc7287 Binary files /dev/null and b/sld962-matter-aws-feature/images/aws-device-logs-thermostat-app.png differ diff --git a/sld962-matter-aws-feature/images/aws-sdk-location.png b/sld962-matter-aws-feature/images/aws-sdk-location.png new file mode 100644 index 0000000..b7a114f Binary files /dev/null and b/sld962-matter-aws-feature/images/aws-sdk-location.png differ diff --git a/sld297-matter-wifi-dic/images/click-add-extensions.png b/sld962-matter-aws-feature/images/click-add-extensions.png similarity index 100% rename from sld297-matter-wifi-dic/images/click-add-extensions.png rename to sld962-matter-aws-feature/images/click-add-extensions.png diff --git a/sld297-matter-wifi-dic/images/click-browse.png b/sld962-matter-aws-feature/images/click-browse.png similarity index 100% rename from sld297-matter-wifi-dic/images/click-browse.png rename to sld962-matter-aws-feature/images/click-browse.png diff --git a/sld297-matter-wifi-dic/images/click-manage-sdks-efx-board.png b/sld962-matter-aws-feature/images/click-manage-sdks-efx-board.png similarity index 100% rename from sld297-matter-wifi-dic/images/click-manage-sdks-efx-board.png rename to sld962-matter-aws-feature/images/click-manage-sdks-efx-board.png diff --git a/sld297-matter-wifi-dic/images/commander-click-flash-button.png b/sld962-matter-aws-feature/images/commander-click-flash-button.png similarity index 100% rename from sld297-matter-wifi-dic/images/commander-click-flash-button.png rename to sld962-matter-aws-feature/images/commander-click-flash-button.png diff --git a/sld297-matter-wifi-dic/images/commander-flash-success-efr32.png b/sld962-matter-aws-feature/images/commander-flash-success-efr32.png similarity index 100% rename from sld297-matter-wifi-dic/images/commander-flash-success-efr32.png rename to sld962-matter-aws-feature/images/commander-flash-success-efr32.png diff --git a/sld297-matter-wifi-dic/images/commander-flash-success-soc.png b/sld962-matter-aws-feature/images/commander-flash-success-soc.png similarity index 100% rename from sld297-matter-wifi-dic/images/commander-flash-success-soc.png rename to sld962-matter-aws-feature/images/commander-flash-success-soc.png diff --git a/sld297-matter-wifi-dic/images/commander-flash-success.png b/sld962-matter-aws-feature/images/commander-flash-success.png similarity index 100% rename from sld297-matter-wifi-dic/images/commander-flash-success.png rename to sld962-matter-aws-feature/images/commander-flash-success.png diff --git a/sld297-matter-wifi-dic/images/commander-select-board.png b/sld962-matter-aws-feature/images/commander-select-board.png similarity index 100% rename from sld297-matter-wifi-dic/images/commander-select-board.png rename to sld962-matter-aws-feature/images/commander-select-board.png diff --git a/sld297-matter-wifi-dic/images/control-device-through-cloud.png b/sld962-matter-aws-feature/images/control-device-through-cloud.png similarity index 100% rename from sld297-matter-wifi-dic/images/control-device-through-cloud.png rename to sld962-matter-aws-feature/images/control-device-through-cloud.png diff --git a/sld297-matter-wifi-dic/images/create-project-click-finish.png b/sld962-matter-aws-feature/images/create-project-click-finish.png similarity index 100% rename from sld297-matter-wifi-dic/images/create-project-click-finish.png rename to sld962-matter-aws-feature/images/create-project-click-finish.png diff --git a/sld297-matter-wifi-dic/images/create-project-lock-click-finish.png b/sld962-matter-aws-feature/images/create-project-lock-click-finish.png similarity index 100% rename from sld297-matter-wifi-dic/images/create-project-lock-click-finish.png rename to sld962-matter-aws-feature/images/create-project-lock-click-finish.png diff --git a/sld297-matter-wifi-dic/images/create-project-select-efx-example.png b/sld962-matter-aws-feature/images/create-project-select-efx-example.png similarity index 100% rename from sld297-matter-wifi-dic/images/create-project-select-efx-example.png rename to sld962-matter-aws-feature/images/create-project-select-efx-example.png diff --git a/sld297-matter-wifi-dic/images/create-project-select-efx-lock-example.png b/sld962-matter-aws-feature/images/create-project-select-efx-lock-example.png similarity index 100% rename from sld297-matter-wifi-dic/images/create-project-select-efx-lock-example.png rename to sld962-matter-aws-feature/images/create-project-select-efx-lock-example.png diff --git a/sld297-matter-wifi-dic/images/create-project-verify-efx-general-information.png b/sld962-matter-aws-feature/images/create-project-verify-efx-general-information.png similarity index 100% rename from sld297-matter-wifi-dic/images/create-project-verify-efx-general-information.png rename to sld962-matter-aws-feature/images/create-project-verify-efx-general-information.png diff --git a/sld297-matter-wifi-dic/images/debug-application-debug-options.png b/sld962-matter-aws-feature/images/debug-application-debug-options.png similarity index 100% rename from sld297-matter-wifi-dic/images/debug-application-debug-options.png rename to sld962-matter-aws-feature/images/debug-application-debug-options.png diff --git a/sld297-matter-wifi-dic/images/debug-application-switch-to-debug-mode.png b/sld962-matter-aws-feature/images/debug-application-switch-to-debug-mode.png similarity index 100% rename from sld297-matter-wifi-dic/images/debug-application-switch-to-debug-mode.png rename to sld962-matter-aws-feature/images/debug-application-switch-to-debug-mode.png diff --git a/sld297-matter-wifi-dic/images/device-configuration.png b/sld962-matter-aws-feature/images/device-configuration.png similarity index 100% rename from sld297-matter-wifi-dic/images/device-configuration.png rename to sld962-matter-aws-feature/images/device-configuration.png diff --git a/sld962-matter-aws-feature/images/device-create-things.png b/sld962-matter-aws-feature/images/device-create-things.png new file mode 100644 index 0000000..af180fd Binary files /dev/null and b/sld962-matter-aws-feature/images/device-create-things.png differ diff --git a/sld962-matter-aws-feature/images/dic-aws-ota.png b/sld962-matter-aws-feature/images/dic-aws-ota.png new file mode 100644 index 0000000..9c40300 Binary files /dev/null and b/sld962-matter-aws-feature/images/dic-aws-ota.png differ diff --git a/sld962-matter-aws-feature/images/dic-control-part.png b/sld962-matter-aws-feature/images/dic-control-part.png new file mode 100644 index 0000000..df07743 Binary files /dev/null and b/sld962-matter-aws-feature/images/dic-control-part.png differ diff --git a/sld297-matter-wifi-dic/images/dic-extension-refresh-1.png b/sld962-matter-aws-feature/images/dic-extension-refresh-1.png similarity index 100% rename from sld297-matter-wifi-dic/images/dic-extension-refresh-1.png rename to sld962-matter-aws-feature/images/dic-extension-refresh-1.png diff --git a/sld297-matter-wifi-dic/images/dic-extension-refresh.png b/sld962-matter-aws-feature/images/dic-extension-refresh.png similarity index 100% rename from sld297-matter-wifi-dic/images/dic-extension-refresh.png rename to sld962-matter-aws-feature/images/dic-extension-refresh.png diff --git a/sld962-matter-aws-feature/images/dic-status-sharing.png b/sld962-matter-aws-feature/images/dic-status-sharing.png new file mode 100644 index 0000000..322f98f Binary files /dev/null and b/sld962-matter-aws-feature/images/dic-status-sharing.png differ diff --git a/sld297-matter-wifi-dic/images/download-aws-ota-through-cloud.png b/sld962-matter-aws-feature/images/download-aws-ota-through-cloud.png similarity index 100% rename from sld297-matter-wifi-dic/images/download-aws-ota-through-cloud.png rename to sld962-matter-aws-feature/images/download-aws-ota-through-cloud.png diff --git a/sld297-matter-wifi-dic/images/export-path-for-cli-build.png b/sld962-matter-aws-feature/images/export-path-for-cli-build.png similarity index 100% rename from sld297-matter-wifi-dic/images/export-path-for-cli-build.png rename to sld962-matter-aws-feature/images/export-path-for-cli-build.png diff --git a/sld297-matter-wifi-dic/images/flash-binary-to-efx32-device.png b/sld962-matter-aws-feature/images/flash-binary-to-efx32-device.png similarity index 100% rename from sld297-matter-wifi-dic/images/flash-binary-to-efx32-device.png rename to sld962-matter-aws-feature/images/flash-binary-to-efx32-device.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-account-prompt.png b/sld962-matter-aws-feature/images/google-home-app-account-prompt.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-account-prompt.png rename to sld962-matter-aws-feature/images/google-home-app-account-prompt.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-add-device.png b/sld962-matter-aws-feature/images/google-home-app-add-device.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-add-device.png rename to sld962-matter-aws-feature/images/google-home-app-add-device.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-connected.png b/sld962-matter-aws-feature/images/google-home-app-connected.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-connected.png rename to sld962-matter-aws-feature/images/google-home-app-connected.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-connecting.png b/sld962-matter-aws-feature/images/google-home-app-connecting.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-connecting.png rename to sld962-matter-aws-feature/images/google-home-app-connecting.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-give-app-name.png b/sld962-matter-aws-feature/images/google-home-app-give-app-name.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-give-app-name.png rename to sld962-matter-aws-feature/images/google-home-app-give-app-name.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-light-added.png b/sld962-matter-aws-feature/images/google-home-app-light-added.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-light-added.png rename to sld962-matter-aws-feature/images/google-home-app-light-added.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-looking-for-device.png b/sld962-matter-aws-feature/images/google-home-app-looking-for-device.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-looking-for-device.png rename to sld962-matter-aws-feature/images/google-home-app-looking-for-device.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-matter-enabled-device.png b/sld962-matter-aws-feature/images/google-home-app-matter-enabled-device.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-matter-enabled-device.png rename to sld962-matter-aws-feature/images/google-home-app-matter-enabled-device.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-new-device.png b/sld962-matter-aws-feature/images/google-home-app-new-device.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-new-device.png rename to sld962-matter-aws-feature/images/google-home-app-new-device.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-select-home.png b/sld962-matter-aws-feature/images/google-home-app-select-home.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-select-home.png rename to sld962-matter-aws-feature/images/google-home-app-select-home.png diff --git a/sld297-matter-wifi-dic/images/google-home-app-select-room.png b/sld962-matter-aws-feature/images/google-home-app-select-room.png similarity index 100% rename from sld297-matter-wifi-dic/images/google-home-app-select-room.png rename to sld962-matter-aws-feature/images/google-home-app-select-room.png diff --git a/sld297-matter-wifi-dic/images/install-gecko-sdk-step-1.png b/sld962-matter-aws-feature/images/install-gecko-sdk-step-1.png similarity index 100% rename from sld297-matter-wifi-dic/images/install-gecko-sdk-step-1.png rename to sld962-matter-aws-feature/images/install-gecko-sdk-step-1.png diff --git a/sld297-matter-wifi-dic/images/install-gecko-sdk-step-2.png b/sld962-matter-aws-feature/images/install-gecko-sdk-step-2.png similarity index 100% rename from sld297-matter-wifi-dic/images/install-gecko-sdk-step-2.png rename to sld962-matter-aws-feature/images/install-gecko-sdk-step-2.png diff --git a/sld297-matter-wifi-dic/images/install-gecko-sdk-step-3.png b/sld962-matter-aws-feature/images/install-gecko-sdk-step-3.png similarity index 100% rename from sld297-matter-wifi-dic/images/install-gecko-sdk-step-3.png rename to sld962-matter-aws-feature/images/install-gecko-sdk-step-3.png diff --git a/sld297-matter-wifi-dic/images/install-wc3-ext-add-sdk-extensions-window.png b/sld962-matter-aws-feature/images/install-wc3-ext-add-sdk-extensions-window.png similarity index 100% rename from sld297-matter-wifi-dic/images/install-wc3-ext-add-sdk-extensions-window.png rename to sld962-matter-aws-feature/images/install-wc3-ext-add-sdk-extensions-window.png diff --git a/sld297-matter-wifi-dic/images/install-wiseconnect-3-ext-manage-sdks-trust-popup.png b/sld962-matter-aws-feature/images/install-wiseconnect-3-ext-manage-sdks-trust-popup.png similarity index 100% rename from sld297-matter-wifi-dic/images/install-wiseconnect-3-ext-manage-sdks-trust-popup.png rename to sld962-matter-aws-feature/images/install-wiseconnect-3-ext-manage-sdks-trust-popup.png diff --git a/sld297-matter-wifi-dic/images/install-wiseconnect-sdk-step-1.png b/sld962-matter-aws-feature/images/install-wiseconnect-sdk-step-1.png similarity index 100% rename from sld297-matter-wifi-dic/images/install-wiseconnect-sdk-step-1.png rename to sld962-matter-aws-feature/images/install-wiseconnect-sdk-step-1.png diff --git a/sld297-matter-wifi-dic/images/install-wiseconnect-sdk-step-2.png b/sld962-matter-aws-feature/images/install-wiseconnect-sdk-step-2.png similarity index 100% rename from sld297-matter-wifi-dic/images/install-wiseconnect-sdk-step-2.png rename to sld962-matter-aws-feature/images/install-wiseconnect-sdk-step-2.png diff --git a/sld297-matter-wifi-dic/images/matter-apple-application-info.png b/sld962-matter-aws-feature/images/matter-apple-application-info.png similarity index 100% rename from sld297-matter-wifi-dic/images/matter-apple-application-info.png rename to sld962-matter-aws-feature/images/matter-apple-application-info.png diff --git a/sld297-matter-wifi-dic/images/matter-apple-application-setup-code.png b/sld962-matter-aws-feature/images/matter-apple-application-setup-code.png similarity index 100% rename from sld297-matter-wifi-dic/images/matter-apple-application-setup-code.png rename to sld962-matter-aws-feature/images/matter-apple-application-setup-code.png diff --git a/sld962-matter-aws-feature/images/matter-aws-config.png b/sld962-matter-aws-feature/images/matter-aws-config.png new file mode 100644 index 0000000..7f22035 Binary files /dev/null and b/sld962-matter-aws-feature/images/matter-aws-config.png differ diff --git a/sld962-matter-aws-feature/images/matter-aws-dependency-1.png b/sld962-matter-aws-feature/images/matter-aws-dependency-1.png new file mode 100644 index 0000000..dfe9fbd Binary files /dev/null and b/sld962-matter-aws-feature/images/matter-aws-dependency-1.png differ diff --git a/sld962-matter-aws-feature/images/matter-aws-dependency-2.png b/sld962-matter-aws-feature/images/matter-aws-dependency-2.png new file mode 100644 index 0000000..001ec76 Binary files /dev/null and b/sld962-matter-aws-feature/images/matter-aws-dependency-2.png differ diff --git a/sld962-matter-aws-feature/images/matter-aws-device-csr-certificate-generation.png b/sld962-matter-aws-feature/images/matter-aws-device-csr-certificate-generation.png new file mode 100644 index 0000000..905077c Binary files /dev/null and b/sld962-matter-aws-feature/images/matter-aws-device-csr-certificate-generation.png differ diff --git a/sld962-matter-aws-feature/images/matter-aws-flow.png b/sld962-matter-aws-feature/images/matter-aws-flow.png new file mode 100644 index 0000000..253f358 Binary files /dev/null and b/sld962-matter-aws-feature/images/matter-aws-flow.png differ diff --git a/sld962-matter-aws-feature/images/matter-aws-iot-app-data.png b/sld962-matter-aws-feature/images/matter-aws-iot-app-data.png new file mode 100644 index 0000000..92a988e Binary files /dev/null and b/sld962-matter-aws-feature/images/matter-aws-iot-app-data.png differ diff --git a/sld962-matter-aws-feature/images/matter-aws-ipv4-enable-1.png b/sld962-matter-aws-feature/images/matter-aws-ipv4-enable-1.png new file mode 100644 index 0000000..537087a Binary files /dev/null and b/sld962-matter-aws-feature/images/matter-aws-ipv4-enable-1.png differ diff --git a/sld962-matter-aws-feature/images/matter-aws-ipv4-enable-2.png b/sld962-matter-aws-feature/images/matter-aws-ipv4-enable-2.png new file mode 100644 index 0000000..2c50f81 Binary files /dev/null and b/sld962-matter-aws-feature/images/matter-aws-ipv4-enable-2.png differ diff --git a/sld297-matter-wifi-dic/images/matter-google-add-setup-code.png b/sld962-matter-aws-feature/images/matter-google-add-setup-code.png similarity index 100% rename from sld297-matter-wifi-dic/images/matter-google-add-setup-code.png rename to sld962-matter-aws-feature/images/matter-google-add-setup-code.png diff --git a/sld297-matter-wifi-dic/images/matter-rtt-qr-code-link.png b/sld962-matter-aws-feature/images/matter-rtt-qr-code-link.png similarity index 100% rename from sld297-matter-wifi-dic/images/matter-rtt-qr-code-link.png rename to sld962-matter-aws-feature/images/matter-rtt-qr-code-link.png diff --git a/sld297-matter-wifi-dic/images/matter-shell-command-send.png b/sld962-matter-aws-feature/images/matter-shell-command-send.png similarity index 100% rename from sld297-matter-wifi-dic/images/matter-shell-command-send.png rename to sld962-matter-aws-feature/images/matter-shell-command-send.png diff --git a/sld297-matter-wifi-dic/images/matter-shell-enable.png b/sld962-matter-aws-feature/images/matter-shell-enable.png similarity index 100% rename from sld297-matter-wifi-dic/images/matter-shell-enable.png rename to sld962-matter-aws-feature/images/matter-shell-enable.png diff --git a/sld962-matter-aws-feature/images/matter-wifi-component.png b/sld962-matter-aws-feature/images/matter-wifi-component.png new file mode 100644 index 0000000..3e2e0b5 Binary files /dev/null and b/sld962-matter-aws-feature/images/matter-wifi-component.png differ diff --git a/sld297-matter-wifi-dic/images/memory-footprint-report.png b/sld962-matter-aws-feature/images/memory-footprint-report.png similarity index 100% rename from sld297-matter-wifi-dic/images/memory-footprint-report.png rename to sld962-matter-aws-feature/images/memory-footprint-report.png diff --git a/sld297-matter-wifi-dic/images/memory-usage-report.png b/sld962-matter-aws-feature/images/memory-usage-report.png similarity index 100% rename from sld297-matter-wifi-dic/images/memory-usage-report.png rename to sld962-matter-aws-feature/images/memory-usage-report.png diff --git a/sld297-matter-wifi-dic/images/mg12-wf200.jpg b/sld962-matter-aws-feature/images/mg12-wf200.jpg similarity index 100% rename from sld297-matter-wifi-dic/images/mg12-wf200.jpg rename to sld962-matter-aws-feature/images/mg12-wf200.jpg diff --git a/sld297-matter-wifi-dic/images/mg21-si917-board.jpg b/sld962-matter-aws-feature/images/mg21-si917-board.jpg similarity index 100% rename from sld297-matter-wifi-dic/images/mg21-si917-board.jpg rename to sld962-matter-aws-feature/images/mg21-si917-board.jpg diff --git a/sld297-matter-wifi-dic/images/mount-efr32.png b/sld962-matter-aws-feature/images/mount-efr32.png similarity index 100% rename from sld297-matter-wifi-dic/images/mount-efr32.png rename to sld962-matter-aws-feature/images/mount-efr32.png diff --git a/sld297-matter-wifi-dic/images/mount-expansion.png b/sld962-matter-aws-feature/images/mount-expansion.png similarity index 100% rename from sld297-matter-wifi-dic/images/mount-expansion.png rename to sld962-matter-aws-feature/images/mount-expansion.png diff --git a/sld297-matter-wifi-dic/images/mount-soc.png b/sld962-matter-aws-feature/images/mount-soc.png similarity index 100% rename from sld297-matter-wifi-dic/images/mount-soc.png rename to sld962-matter-aws-feature/images/mount-soc.png diff --git a/sld297-matter-wifi-dic/images/mqtt-explorer-1.png b/sld962-matter-aws-feature/images/mqtt-explorer-1.png similarity index 100% rename from sld297-matter-wifi-dic/images/mqtt-explorer-1.png rename to sld962-matter-aws-feature/images/mqtt-explorer-1.png diff --git a/sld297-matter-wifi-dic/images/mqtt-explorer-2.png b/sld962-matter-aws-feature/images/mqtt-explorer-2.png similarity index 100% rename from sld297-matter-wifi-dic/images/mqtt-explorer-2.png rename to sld962-matter-aws-feature/images/mqtt-explorer-2.png diff --git a/sld297-matter-wifi-dic/images/mqtt-explorer-3.png b/sld962-matter-aws-feature/images/mqtt-explorer-3.png similarity index 100% rename from sld297-matter-wifi-dic/images/mqtt-explorer-3.png rename to sld962-matter-aws-feature/images/mqtt-explorer-3.png diff --git a/sld297-matter-wifi-dic/images/mqtt-explorer-4.png b/sld962-matter-aws-feature/images/mqtt-explorer-4.png similarity index 100% rename from sld297-matter-wifi-dic/images/mqtt-explorer-4.png rename to sld962-matter-aws-feature/images/mqtt-explorer-4.png diff --git a/sld297-matter-wifi-dic/images/mqtt-explorer-5.png b/sld962-matter-aws-feature/images/mqtt-explorer-5.png similarity index 100% rename from sld297-matter-wifi-dic/images/mqtt-explorer-5.png rename to sld962-matter-aws-feature/images/mqtt-explorer-5.png diff --git a/sld297-matter-wifi-dic/images/openssl-csr-common-name-ref.png b/sld962-matter-aws-feature/images/openssl-csr-common-name-ref.png similarity index 100% rename from sld297-matter-wifi-dic/images/openssl-csr-common-name-ref.png rename to sld962-matter-aws-feature/images/openssl-csr-common-name-ref.png diff --git a/sld297-matter-wifi-dic/images/optimize-lcd-sleepy.png b/sld962-matter-aws-feature/images/optimize-lcd-sleepy.png similarity index 100% rename from sld297-matter-wifi-dic/images/optimize-lcd-sleepy.png rename to sld962-matter-aws-feature/images/optimize-lcd-sleepy.png diff --git a/sld297-matter-wifi-dic/images/overview-tab-efx32.png b/sld962-matter-aws-feature/images/overview-tab-efx32.png similarity index 100% rename from sld297-matter-wifi-dic/images/overview-tab-efx32.png rename to sld962-matter-aws-feature/images/overview-tab-efx32.png diff --git a/sld297-matter-wifi-dic/images/project-created-efx32.png b/sld962-matter-aws-feature/images/project-created-efx32.png similarity index 100% rename from sld297-matter-wifi-dic/images/project-created-efx32.png rename to sld962-matter-aws-feature/images/project-created-efx32.png diff --git a/sld297-matter-wifi-dic/images/samsung-app-add-device.png b/sld962-matter-aws-feature/images/samsung-app-add-device.png similarity index 100% rename from sld297-matter-wifi-dic/images/samsung-app-add-device.png rename to sld962-matter-aws-feature/images/samsung-app-add-device.png diff --git a/sld297-matter-wifi-dic/images/samsung-app-commissioning.png b/sld962-matter-aws-feature/images/samsung-app-commissioning.png similarity index 100% rename from sld297-matter-wifi-dic/images/samsung-app-commissioning.png rename to sld962-matter-aws-feature/images/samsung-app-commissioning.png diff --git a/sld297-matter-wifi-dic/images/samsung-app-select-partner.png b/sld962-matter-aws-feature/images/samsung-app-select-partner.png similarity index 100% rename from sld297-matter-wifi-dic/images/samsung-app-select-partner.png rename to sld962-matter-aws-feature/images/samsung-app-select-partner.png diff --git a/sld297-matter-wifi-dic/images/samsung-light-added.png b/sld962-matter-aws-feature/images/samsung-light-added.png similarity index 100% rename from sld297-matter-wifi-dic/images/samsung-light-added.png rename to sld962-matter-aws-feature/images/samsung-light-added.png diff --git a/sld297-matter-wifi-dic/images/samsung-register-device.png b/sld962-matter-aws-feature/images/samsung-register-device.png similarity index 100% rename from sld297-matter-wifi-dic/images/samsung-register-device.png rename to sld962-matter-aws-feature/images/samsung-register-device.png diff --git a/sld297-matter-wifi-dic/images/sd-into-pi.png b/sld962-matter-aws-feature/images/sd-into-pi.png similarity index 100% rename from sld297-matter-wifi-dic/images/sd-into-pi.png rename to sld962-matter-aws-feature/images/sd-into-pi.png diff --git a/sld962-matter-aws-feature/images/security-policy-create-policy.jpeg b/sld962-matter-aws-feature/images/security-policy-create-policy.jpeg new file mode 100644 index 0000000..2bf721c Binary files /dev/null and b/sld962-matter-aws-feature/images/security-policy-create-policy.jpeg differ diff --git a/sld297-matter-wifi-dic/images/select-binary-to-flash-efx32.png b/sld962-matter-aws-feature/images/select-binary-to-flash-efx32.png similarity index 100% rename from sld297-matter-wifi-dic/images/select-binary-to-flash-efx32.png rename to sld962-matter-aws-feature/images/select-binary-to-flash-efx32.png diff --git a/sld297-matter-wifi-dic/images/select-commander.png b/sld962-matter-aws-feature/images/select-commander.png similarity index 100% rename from sld297-matter-wifi-dic/images/select-commander.png rename to sld962-matter-aws-feature/images/select-commander.png diff --git a/sld248-matter-overview-guides/images/select-efx-board.png b/sld962-matter-aws-feature/images/select-efx-board.png similarity index 100% rename from sld248-matter-overview-guides/images/select-efx-board.png rename to sld962-matter-aws-feature/images/select-efx-board.png diff --git a/sld297-matter-wifi-dic/images/select-flash-option-efr32-commander.png b/sld962-matter-aws-feature/images/select-flash-option-efr32-commander.png similarity index 100% rename from sld297-matter-wifi-dic/images/select-flash-option-efr32-commander.png rename to sld962-matter-aws-feature/images/select-flash-option-efr32-commander.png diff --git a/sld297-matter-wifi-dic/images/select-flash-option-in-commander.png b/sld962-matter-aws-feature/images/select-flash-option-in-commander.png similarity index 100% rename from sld297-matter-wifi-dic/images/select-flash-option-in-commander.png rename to sld962-matter-aws-feature/images/select-flash-option-in-commander.png diff --git a/sld297-matter-wifi-dic/images/select-flash-option-soc-commander.png b/sld962-matter-aws-feature/images/select-flash-option-soc-commander.png similarity index 100% rename from sld297-matter-wifi-dic/images/select-flash-option-soc-commander.png rename to sld962-matter-aws-feature/images/select-flash-option-soc-commander.png diff --git a/sld297-matter-wifi-dic/images/selected-gsdk.png b/sld962-matter-aws-feature/images/selected-gsdk.png similarity index 100% rename from sld297-matter-wifi-dic/images/selected-gsdk.png rename to sld962-matter-aws-feature/images/selected-gsdk.png diff --git a/sld297-matter-wifi-dic/images/selected-sdk.png b/sld962-matter-aws-feature/images/selected-sdk.png similarity index 100% rename from sld297-matter-wifi-dic/images/selected-sdk.png rename to sld962-matter-aws-feature/images/selected-sdk.png diff --git a/sld297-matter-wifi-dic/images/si917-board.png b/sld962-matter-aws-feature/images/si917-board.png similarity index 100% rename from sld297-matter-wifi-dic/images/si917-board.png rename to sld962-matter-aws-feature/images/si917-board.png diff --git a/sld297-matter-wifi-dic/images/simplicity-commander-flash-bootloader.png b/sld962-matter-aws-feature/images/simplicity-commander-flash-bootloader.png similarity index 100% rename from sld297-matter-wifi-dic/images/simplicity-commander-flash-bootloader.png rename to sld962-matter-aws-feature/images/simplicity-commander-flash-bootloader.png diff --git a/sld297-matter-wifi-dic/images/siwx917-ncp-powermeasurement-pins.png b/sld962-matter-aws-feature/images/siwx917-ncp-powermeasurement-pins.png similarity index 100% rename from sld297-matter-wifi-dic/images/siwx917-ncp-powermeasurement-pins.png rename to sld962-matter-aws-feature/images/siwx917-ncp-powermeasurement-pins.png diff --git a/sld297-matter-wifi-dic/images/siwx917-radio-wstk.png b/sld962-matter-aws-feature/images/siwx917-radio-wstk.png similarity index 100% rename from sld297-matter-wifi-dic/images/siwx917-radio-wstk.png rename to sld962-matter-aws-feature/images/siwx917-radio-wstk.png diff --git a/sld297-matter-wifi-dic/images/siwx917-soc-fwflash-option.png b/sld962-matter-aws-feature/images/siwx917-soc-fwflash-option.png similarity index 100% rename from sld297-matter-wifi-dic/images/siwx917-soc-fwflash-option.png rename to sld962-matter-aws-feature/images/siwx917-soc-fwflash-option.png diff --git a/sld297-matter-wifi-dic/images/siwx917-soc-launcher-tab.png b/sld962-matter-aws-feature/images/siwx917-soc-launcher-tab.png similarity index 100% rename from sld297-matter-wifi-dic/images/siwx917-soc-launcher-tab.png rename to sld962-matter-aws-feature/images/siwx917-soc-launcher-tab.png diff --git a/sld297-matter-wifi-dic/images/siwx917-soc-radio-board.png b/sld962-matter-aws-feature/images/siwx917-soc-radio-board.png similarity index 100% rename from sld297-matter-wifi-dic/images/siwx917-soc-radio-board.png rename to sld962-matter-aws-feature/images/siwx917-soc-radio-board.png diff --git a/sld297-matter-wifi-dic/images/siwx917-soc-targetconnectionlost.png b/sld962-matter-aws-feature/images/siwx917-soc-targetconnectionlost.png similarity index 100% rename from sld297-matter-wifi-dic/images/siwx917-soc-targetconnectionlost.png rename to sld962-matter-aws-feature/images/siwx917-soc-targetconnectionlost.png diff --git a/sld297-matter-wifi-dic/images/siwx917-target-ozone.png b/sld962-matter-aws-feature/images/siwx917-target-ozone.png similarity index 100% rename from sld297-matter-wifi-dic/images/siwx917-target-ozone.png rename to sld962-matter-aws-feature/images/siwx917-target-ozone.png diff --git a/sld297-matter-wifi-dic/images/siwx917soc-attachtorunningprogram.png b/sld962-matter-aws-feature/images/siwx917soc-attachtorunningprogram.png similarity index 100% rename from sld297-matter-wifi-dic/images/siwx917soc-attachtorunningprogram.png rename to sld962-matter-aws-feature/images/siwx917soc-attachtorunningprogram.png diff --git a/sld297-matter-wifi-dic/images/status-shared-to-cloud.png b/sld962-matter-aws-feature/images/status-shared-to-cloud.png similarity index 100% rename from sld297-matter-wifi-dic/images/status-shared-to-cloud.png rename to sld962-matter-aws-feature/images/status-shared-to-cloud.png diff --git a/sld297-matter-wifi-dic/images/tera-term-matter-cli.png b/sld962-matter-aws-feature/images/tera-term-matter-cli.png similarity index 100% rename from sld297-matter-wifi-dic/images/tera-term-matter-cli.png rename to sld962-matter-aws-feature/images/tera-term-matter-cli.png diff --git a/sld297-matter-wifi-dic/images/tera-term-select-jlink-port.png b/sld962-matter-aws-feature/images/tera-term-select-jlink-port.png similarity index 100% rename from sld297-matter-wifi-dic/images/tera-term-select-jlink-port.png rename to sld962-matter-aws-feature/images/tera-term-select-jlink-port.png diff --git a/sld297-matter-wifi-dic/images/tera-term-select-serial-port.png b/sld962-matter-aws-feature/images/tera-term-select-serial-port.png similarity index 100% rename from sld297-matter-wifi-dic/images/tera-term-select-serial-port.png rename to sld962-matter-aws-feature/images/tera-term-select-serial-port.png diff --git a/sld297-matter-wifi-dic/images/tera-term-select-speed.png b/sld962-matter-aws-feature/images/tera-term-select-speed.png similarity index 100% rename from sld297-matter-wifi-dic/images/tera-term-select-speed.png rename to sld962-matter-aws-feature/images/tera-term-select-speed.png diff --git a/sld297-matter-wifi-dic/images/tera-term-selection-in-terminal.png b/sld962-matter-aws-feature/images/tera-term-selection-in-terminal.png similarity index 100% rename from sld297-matter-wifi-dic/images/tera-term-selection-in-terminal.png rename to sld962-matter-aws-feature/images/tera-term-selection-in-terminal.png diff --git a/sld297-matter-wifi-dic/images/tera-term-terminal-setup.png b/sld962-matter-aws-feature/images/tera-term-terminal-setup.png similarity index 100% rename from sld297-matter-wifi-dic/images/tera-term-terminal-setup.png rename to sld962-matter-aws-feature/images/tera-term-terminal-setup.png diff --git a/sld297-matter-wifi-dic/images/tera-term-tty-record.png b/sld962-matter-aws-feature/images/tera-term-tty-record.png similarity index 100% rename from sld297-matter-wifi-dic/images/tera-term-tty-record.png rename to sld962-matter-aws-feature/images/tera-term-tty-record.png diff --git a/sld962-matter-aws-feature/images/thing-activate-download-certificate.png b/sld962-matter-aws-feature/images/thing-activate-download-certificate.png new file mode 100644 index 0000000..fa5815d Binary files /dev/null and b/sld962-matter-aws-feature/images/thing-activate-download-certificate.png differ diff --git a/sld962-matter-aws-feature/images/thing-attach-policy.png b/sld962-matter-aws-feature/images/thing-attach-policy.png new file mode 100644 index 0000000..50b21ae Binary files /dev/null and b/sld962-matter-aws-feature/images/thing-attach-policy.png differ diff --git a/sld962-matter-aws-feature/images/thing-upload-csr.png b/sld962-matter-aws-feature/images/thing-upload-csr.png new file mode 100644 index 0000000..ea4f928 Binary files /dev/null and b/sld962-matter-aws-feature/images/thing-upload-csr.png differ diff --git a/sld962-matter-aws-feature/images/thing-view-certificate.png b/sld962-matter-aws-feature/images/thing-view-certificate.png new file mode 100644 index 0000000..4ec0f0c Binary files /dev/null and b/sld962-matter-aws-feature/images/thing-view-certificate.png differ diff --git a/sld962-matter-aws-feature/images/tls-prf-component-install.png b/sld962-matter-aws-feature/images/tls-prf-component-install.png new file mode 100644 index 0000000..1bc8edc Binary files /dev/null and b/sld962-matter-aws-feature/images/tls-prf-component-install.png differ diff --git a/sld297-matter-wifi-dic/images/wifi-code-edit.png b/sld962-matter-aws-feature/images/wifi-code-edit.png similarity index 100% rename from sld297-matter-wifi-dic/images/wifi-code-edit.png rename to sld962-matter-aws-feature/images/wifi-code-edit.png diff --git a/sld297-matter-wifi-dic/images/wifi-efr-energy-profiler.png b/sld962-matter-aws-feature/images/wifi-efr-energy-profiler.png similarity index 100% rename from sld297-matter-wifi-dic/images/wifi-efr-energy-profiler.png rename to sld962-matter-aws-feature/images/wifi-efr-energy-profiler.png diff --git a/sld297-matter-wifi-dic/images/wifi-efr-power-energyprofiler.png b/sld962-matter-aws-feature/images/wifi-efr-power-energyprofiler.png similarity index 100% rename from sld297-matter-wifi-dic/images/wifi-efr-power-energyprofiler.png rename to sld962-matter-aws-feature/images/wifi-efr-power-energyprofiler.png diff --git a/sld297-matter-wifi-dic/images/wifi-expansion-board-power-pins.png b/sld962-matter-aws-feature/images/wifi-expansion-board-power-pins.png similarity index 100% rename from sld297-matter-wifi-dic/images/wifi-expansion-board-power-pins.png rename to sld962-matter-aws-feature/images/wifi-expansion-board-power-pins.png diff --git a/sld297-matter-wifi-dic/images/wifi-powerprofiler-start.png b/sld962-matter-aws-feature/images/wifi-powerprofiler-start.png similarity index 100% rename from sld297-matter-wifi-dic/images/wifi-powerprofiler-start.png rename to sld962-matter-aws-feature/images/wifi-powerprofiler-start.png diff --git a/sld297-matter-wifi-dic/images/wifi-powerprofiler.png b/sld962-matter-aws-feature/images/wifi-powerprofiler.png similarity index 100% rename from sld297-matter-wifi-dic/images/wifi-powerprofiler.png rename to sld962-matter-aws-feature/images/wifi-powerprofiler.png diff --git a/sld297-matter-wifi-dic/images/wifi-powersave-overview.png b/sld962-matter-aws-feature/images/wifi-powersave-overview.png similarity index 100% rename from sld297-matter-wifi-dic/images/wifi-powersave-overview.png rename to sld962-matter-aws-feature/images/wifi-powersave-overview.png diff --git a/sld297-matter-wifi-dic/images/wifi-setup.png b/sld962-matter-aws-feature/images/wifi-setup.png similarity index 100% rename from sld297-matter-wifi-dic/images/wifi-setup.png rename to sld962-matter-aws-feature/images/wifi-setup.png diff --git a/sld962-matter-aws-feature/index.md b/sld962-matter-aws-feature/index.md new file mode 100644 index 0000000..4eeefeb --- /dev/null +++ b/sld962-matter-aws-feature/index.md @@ -0,0 +1,125 @@ +# Matter + AWS Component + +- Matter + AWS is a Silicon Labs–specific feature that enables Matter devices to connect directly to + proprietary cloud solutions, such as AWS Cloud. As such, a Matter Wi-Fi device + must support connecting locally on the Matter Fabric via IPv6 and + connecting to the Internet via IPv4. +- Matter devices can be controlled by chip-tool or a controller. The + status of the modified attributes will be published to the cloud. +- Remote users can install a cloud-specific application to receive + notifications about the attribute status. + +## Matter + AWS Feature Diagram + +The following diagram shows end-to-end flow for Direct Internet Connectivity. + +![Silicon Labs - Matter + AWS design](./images/matter-aws-flow.png) + +## Prerequisites + +### Hardware Requirements + +For a list of hardware requirements for the Matter + AWS feature, see the +official +[Silicon Labs Matter hardware requirements](/matter/{build-docspace-version}/matter-prerequisites/hardware-requirements) +documentation. + +> **Note:** This is supported for 917 SoC and NCP boards only. + +### Software Requirements + +For a list of software requirements for the Matter + AWS feature, see the +official +[Silicon Labs Matter Software requirements](/matter/{build-docspace-version}/matter-prerequisites/software-requirements) +documentation. + +## End-to-End Set-up bring up + +### Message Queuing Telemetry Transport (MQTT) + +MQTT is an OASIS standard messaging protocol for the Internet of Things + (IoT). It is designed as an extremely lightweight publish/subscribe + messaging transport that is ideal for connecting remote devices with a small + code footprint and minimal network bandwidth. + For more details, visit https://mqtt.org/. + +### Configuring the MQTT server + +To set up and configure AWS for Matter + AWS support, see the following documentation: + +- [AWS installation](./aws-configuration-registration.md) + +### Remote User Setup (MQTT Explorer) (optional) + +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). + +### Building Matter + AWS Application using Simplicity Studio + +Follow the instructions in [Build Procedure for Matter + AWS](./build-matter-aws.md) to enable the MATTER + AWS feature in your application code. + +## End-to-End Test of Matter + AWS Application + +User Setup (MQTT Explorer): + +- Sharing status of device to cloud + - The following diagram shows the end-to-end flow for sharing status from a Matter device to the cloud. + +![Silicon Labs - Matter + AWS design](images/dic-status-sharing.png) + + >**Note**: For reference, the diagram shows Lighting App commands. Other application commands also can be passed. + +- 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). +- The following application-specific attributes or states are shared to the cloud: + - For Lighting App, On/Off Attributes + - For Lock App, lock/unlock Attributes + - For Windows App, lift/tilt Attributes + - For Thermostat App, SystemMode/CurrentTemp/LocalTemperature/OccupiedCoolingSetpoint/OccupiedHeatingSetpoint Attributes + - For On/off Plug App, On/Off Attributes + - The MQTT Explorer UI updates the application status as shown in following image. + + ![Matter + AWS status update](images/mqtt-explorer-4.png) + +- Control of the device through cloud interface + - The following diagram shows the end-to-end flow for control of the Matter device through a cloud interface. + + ![Silicon Labs - Matter + AWS design](images/dic-control-part.png) + + >**Note**: For reference, the diagram shows Lighting App commands. Other application commands also can be passed. + + - 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). + - To control the device, set the topic name and the commands to be executed in the MQTT Explorer for the following applications. + +```shell + - Lighting App + - Topic: command + - Commands: + - toggle + - on + - off + - Onoff-plug App + - Topic: command + - Commands: + - toggle + - on + - off + - Lock App + - Topic: command + - Commands: + - lock + - unlock + - Thermostat App + - Topic: command + - Commands: + - SetMode/value(value need to provide 1,2,3,4 ex:SetMode/1) + - Heating/value(value need to provide 2500,2600 ex:HeatingSetPoint/2500) + - Cooling/value(value need to provide 2500,2600 ex:CoolingSetPoint/2500) + - Window App + - Topic: command + - Commands: + - Lift/value(value need to provide in range 1000 to 10000) + - Tilt/value(value need to provide in range 1000 to 10000) +``` + +- Click **Publish** to execute the command. + +![Silicon Labs - Matter + AWS design](images/control-device-through-cloud.png) diff --git a/sld297-matter-wifi-dic/mqtt-explorer-setup.md b/sld962-matter-aws-feature/mqtt-explorer-setup.md similarity index 84% rename from sld297-matter-wifi-dic/mqtt-explorer-setup.md rename to sld962-matter-aws-feature/mqtt-explorer-setup.md index 0ec81af..eb315ea 100644 --- a/sld297-matter-wifi-dic/mqtt-explorer-setup.md +++ b/sld962-matter-aws-feature/mqtt-explorer-setup.md @@ -13,7 +13,7 @@ Download and install the MQTT Explorer from https://mqtt-explorer.com/. - Make sure you enable **Validate Certificate and Encryption** - Click **Advanced Settings** -![Silicon Labs - DIC design](./images/mqtt-explorer-2.png) +![Silicon Labs - MATTER + AWS design](./images/mqtt-explorer-2.png) - Add application specific topics as shown below - For Lighting app, topic to be added (light/*) @@ -30,11 +30,11 @@ Download and install the MQTT Explorer from https://mqtt-explorer.com/. - MQTT Client ID depends on the certificate set that you will use. - Add the Certificate, following step 7 in [AWS installation](./aws-configuration-registration.md). -![Silicon Labs - DIC design](./images/mqtt-explorer-5.png) +![Silicon Labs - MATTER + AWS design](./images/mqtt-explorer-5.png) - Once the above steps are done, try connecting to AWS. -![Silicon Labs - DIC design](./images/mqtt-explorer-3.png) +![Silicon Labs - MATTER + AWS design](./images/mqtt-explorer-3.png) ### Connecting to Mosquitto Connection @@ -43,7 +43,7 @@ Download and install the MQTT Explorer from https://mqtt-explorer.com/. - Make sure you enable Validate Certificate and Encryption - Click **Advanced Settings** -![Silicon Labs - DIC design](./images/mqtt-explorer-2.png) +![Silicon Labs - MATTER + AWS design](./images/mqtt-explorer-2.png) - Add application specific topics as shown below - For Lighting app, topic to be added (light/*) @@ -60,4 +60,4 @@ Download and install the MQTT Explorer from https://mqtt-explorer.com/. - MQTT Client ID depends on the certificate set that you will use. - Add the Certificate, following step 5 in [Openssl Certificate Creation](./openssl-certificate-creation.md). -![Silicon Labs - DIC design](./images/mqtt-explorer-5.png) +![Silicon Labs - MATTER + AWS design](./images/mqtt-explorer-5.png) diff --git a/sld962-matter-aws-feature/openssl-certificate-creation.md b/sld962-matter-aws-feature/openssl-certificate-creation.md new file mode 100644 index 0000000..8bb4076 --- /dev/null +++ b/sld962-matter-aws-feature/openssl-certificate-creation.md @@ -0,0 +1,59 @@ +# OpenSSL Certificate Creation + +An SSL certificate is an important way to secure user information and protect against hackers. + +## OpenSSL Installation + +1. In Debian/Linux + - To install OpenSSL, issue the following command: `sudo apt install openssl` +2. In Windows + - To install OpenSSL, either download precompiled [OpenSSL](https://slproweb.com/products/Win32OpenSSL.html) binaries for Windows or install via WSL using the command: `sudo apt install openssl` + +## Certificates Creation + +Use the following commands to generate certificates: + +1. **Generate the device key:** + + - `openssl ecparam -name prime256v1 -genkey -noout -out device.key` + +2. **Generate the client certificate** (e.g., `device.crt` and `device.key`) using a CA certificate: + + - `openssl req -new -out device.csr -key device.key` + + > **Note**: Below is a sample for demonstration to generate "device.csr". Make sure to use the same Common Name provided here for Thing Name. + + ```shell + openssl req -new -out device.csr -key device.key + + You are about to be asked to enter information that will be incorporated + into your certificate request. + What you are about to enter is what is called a Distinguished Name or a DN. + There are quite a few fields but you can leave some blank + For some fields there will be a default value, + If you enter '.', the field will be left blank. + + Country Name (2 letter code) [AU]:IN + State or Province Name (full name) [Some-State]:Telangana + Locality Name (eg, city) []:Hyderabad + Organization Name (eg, company) [Internet Widgits Pty Ltd]:Silicon Labs Pvt Ltd + Organizational Unit Name (eg, section) []:MATTER + Common Name (e.g. server FQDN or YOUR name) []:AWS_DEMO + Email Address []:XXXX@silabs.com + + Please enter the following 'extra' attributes + to be sent with your certificate request + A challenge password []: + An optional company name []: + ``` + +3. **Upload CSR to AWS**: While creating the AWS IoT thing, use the **Upload CSR** option in the configure device + certificate step. Once the CSR generated in step 2 is uploaded, AWS will + generate an AWS CA-authenticated `device.crt`. + + ![AWS CSR Upload ](./images/matter-aws-device-csr-certificate-generation.png) + +To use MQTT Explorer, repeat steps 1 and 2 to create an additional set of certificates +(e.g., `explorer.crt` and `explorer.key`). Use a different name to uniquely identify the certificates. + +> **Note:** The supported certificate type to be used in this PoC is ECDSA.